Em 10/09/13 10:16, vic escreveu: > Em 2013-09-10 9:23, Marcelo Gondim escreveu: >> Pessoal, >> >> Sei que muitos aqui conhecem o mod_evasive pro apache que no FreeBSD é >> o >> pacote ap22-mod_evasive. >> Ele vem com um script de teste que sempre utilizei pra checar se o >> mod_evasive tá legal: >> >> test.pl: >> >> #!/usr/bin/perl >> # test.pl: small script to test mod_dosevasive's effectiveness >> use IO::Socket; >> use strict; >> for(0..100) { >> my($response); >> my($SOCKET) = new IO::Socket::INET( Proto => "tcp", >> PeerAddr=> "127.0.0.1:80"); >> if (! defined $SOCKET) { die $!; } >> print $SOCKET "GET /?$_ HTTP/1.0\n\n"; >> $response = <$SOCKET>; >> print $response; >> close($SOCKET); >> } >> >> Só que quando rodo numa VM com FreeBSD ele abre as conexões lentamente, >> fazendo com que o teste não funcione. Fiz o mesmo teste em um FreeBSD >> sem ser VM e rodou mais rápido e consegui fazer os testes. Fui comparar >> com uma outra máquina com Linux e rodou estupidamente mais rápido. >> Logicamente que diferenças de processamento podem ser uma das causas >> mas >> porque rodou tão lento numa VM é que não descobri ainda. >> Alguém tem alguma ideia? >> >> Grande abraço > Suponho que sua aquela sua VM em Xen. Por acaso você tem um firewall PF > na VM? Se sim tente: > > ifconfig xn0 -tso > sysctl -w net.inet.tcp.tso=0 > > Referências: > > http://www.freebsd.org/cgi/query-pr.cgi?pr=154428 > http://www.freebsd.org/cgi/query-pr.cgi?pr=135178 > > Além disso, se você não compilou o kernel XENHVM, faça um teste com ele > e mude a configuração do xen na vif para usar o type=netfront > É vic compilei com o XENHVM fiz as mudanças de disco e interface de rede e mesmo assim continua lento as conexões localhost do test.pl:
# df -h Filesystem Size Used Avail Capacity Mounted on /dev/xbd0p2 2G 190M 1.6G 10% / devfs 1.0k 1.0k 0B 100% /dev /dev/xbd0p4 58G 15G 37G 29% /var /dev/xbd0p5 31G 6.0G 22G 21% /usr /dev/xbd0p6 2G 16M 1.8G 1% /tmp xn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=503<RXCSUM,TXCSUM,TSO4,LRO> ether 00:16:3e:02:9d:d6 inet xx.xxx.xxx.xx netmask 0xfffffff8 broadcast 67.212.89.79 inet6 fe80::216:3eff:fe02:9dd6%xn0 prefixlen 64 scopeid 0x6 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet manual status: active # uname -a FreeBSD xxxx.xxx.xxx.xx 9.2-PRERELEASE FreeBSD 9.2-PRERELEASE #0 r255410M: Tue Sep 10 14:58:33 BRT 2013 r...@xxxx.xxx.xxx.xx:/usr/obj/usr/src/sys/XENHVM amd64 Quem tiver a curiosidade de fazer esse teste nas mesmas condições que eu aqui, seria interessante. Abaixo os dados: No servidor Debian 7 amd64 ii libxen-4.1 4.1.4-3+deb7u1 amd64 Public libs for Xen ii libxenstore3.0 4.1.4-3+deb7u1 amd64 Xenstore communications library for Xen ii xen-hypervisor-4.1-amd64 4.1.4-3+deb7u1 amd64 Xen Hypervisor on AMD64 ii xen-linux-system-3.2.0-4-amd64 3.2.46-1+deb7u1 amd64 Xen system with Linux 3.2 on 64-bit PCs (meta-package) ii xen-linux-system-amd64 3.2+46 amd64 Xen system with Linux for 64-bit PCs (meta-package) ii xen-system-amd64 4.1.4-3+deb7u1 amd64 Xen System on AMD64 (meta-package) ii xen-tools 4.3.1-1 all Tools to manage Xen virtual servers ii xen-utils-4.1 4.1.4-3+deb7u1 amd64 XEN administrative tools ii xen-utils-common 4.1.4-3+deb7u1 all Xen administrative tools - common files ii xenstore-utils 4.1.4-3+deb7u1 amd64 Xenstore utilities for Xen Arquivo conf da VM: kernel = '/usr/lib/xen-4.1/boot/hvmloader' builder = 'hvm' vcpus = 4 memory = 2048 shadow_memory = 8 name = 'freeba' vif = [ 'type=netfront, model=e1000, bridge=xenbr0', ] #vif = [ 'type=ioemu, bridge=xenbr0, mac=00:00:00:ff:fe:01' ] disk = [ 'file:/home/xen/domains/freeba/freeba.img,xvda,w', 'file:/home/xen/domains/freeba/FreeBSD-9.2-PRERELEASE-amd64-20130831-r255108-disc1.iso,xvdc:cdrom,r' ] device_model = '/usr/lib/xen-4.1/bin/qemu-dm' boot = 'cd' sdl=0 vnc = '1' vncviewer = '1' vnclisten = "0.0.0.0" vncpasswd = 'songamonga' stdvga=0 serial='pty' usbdevice='tablet' on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' Pacote do mod_evasive no FreeBSD: www/mod_evasive - ap22-mod_evasive-1.10.1_1 An Apache module to try to protect the HTTP Server from DoS/DDoS attacks []'s Gondim ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd