Date: Wed, 26 Sep 2007 17:39:57 -0300 From: "David Verzolla" <dverzolla@fcl.com.br> To: <freebsd-bugs@freebsd.org> Subject: Problem? With PF Message-ID: <94CADB570ACCB0418E8236C8F24BD95C01469F9E@VIRTUALEXCHANGE.corp.com>
next in thread | raw e-mail | index | archive | help
Hello, I'm not sure about if this trouble must be posted in this list. BTW. I'm working with two firewall box: - Dell poweredge 2950 - First network device BCE0 - Second network device BCE1 - HP ML350 G3 - First network device BGE0 - Second network device XL0 I'm working with PF Firewall + PFSYNC + VLANS (3 vlans) + CARP. All interfaces is cloned with CARP. The problem is: My network is slow, when I try to connect in a web server, or try pings = from my Firewall to some machine located in DMZ (tests from DMZ -> = Firewall Box have the same result), I get this trouble: The command: while true ; do ping -c 1 DMZ_IP ; done Ping works in the most of tests, but some tests give me this error: (For security reasons I suppress my original IP, sorry for = inconvenience) --- 201.x.x.x ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev =3D 0.194/0.194/0.194/0.000 ms PING 201.x.x.x (201.x.x.x): 56 data bytes 64 bytes from 201.x.x.x: icmp_seq=3D0 ttl=3D64 time=3D0.197 ms --- 201.x.x.x ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev =3D 0.197/0.197/0.197/0.000 ms PING 201.x.x.x (201.x.x.x): 56 data bytes 64 bytes from 201.x.x.x: icmp_seq=3D0 ttl=3D64 time=3D0.192 ms --- 201.x.x.x ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev =3D 0.211/0.211/0.211/0.000 ms PING 201.x.x.x (201.x.x.x): 56 data bytes ---> ping: sendto: Operation not permitted The ping returns "Operation not permitted". Other command: [root@f1000 /etc/pf]# ping 201.x.x.x PING 201.x.x.x (201.x.x.x): 56 data bytes ping: sendto: Operation not permitted ping: sendto: Operation not permitted ping: sendto: Operation not permitted ping: sendto: Operation not permitted 64 bytes from 201.x.x.x: icmp_seq=3D4 ttl=3D64 time=3D2.636 ms 64 bytes from 201.x.x.x: icmp_seq=3D5 ttl=3D64 time=3D0.210 ms 64 bytes from 201.x.x.x: icmp_seq=3D6 ttl=3D64 time=3D0.136 ms The ping returns "Operation not permitted" too. I have other applications working with Ajax that is broken, the time to = load all the resources is bigger, within this trouble (Ajax) its = possible verify that the problem occur with TCP protocol as well. =20 When I disable PF, all works greatly. Bellow my rules: -- begin # $FreeBSD: src/etc/pf.conf,v 1.2.2.1 2006/04/04 20:31:20 mlaier Exp $ # $OpenBSD: pf.conf,v 1.21 2003/09/02 20:38:44 david Exp $ # # See pf.conf(5) and /usr/share/examples/pf for syntax and examples. # Required order: options, normalization, queueing, translation, = filtering. # Macros and tables may be defined and used anywhere. # Note that translation rules are first match while filter rules are = last match. # Macros: define common values, so they can be referenced and changed = easily. ### NET DEVICES ext_if =3D "bce0" dmz_if =3D "vlan20" corp_if =3D "vlan30" ras_if =3D "vlan40" sync_if =3D $ras_if ### ICMP OPTIONS icmp_types=3D"{ echoreq, unreach }" table <impsat> { 200.x.x.0/26 } table <totalrange> { 201.x.x.0/20 } table <dmz> { 201.x.x.0/24 } # Options: tune the behavior of pf, default values are given. set optimization normal #set timeout { tcp.closing 900, tcp.finwait 15, tcp.closed 90 } set block-policy return set state-policy floating=20 set skip on lo set loginterface $ext_if set fingerprints "/etc/pf/_pf.os" # Normalization: reassemble fragments and resolve or reduce traffic = ambiguities. scrub in all #### start block in # PFSYNC pass on $sync_if proto pfsync # Permit all out pass out keep state # PERMIT MULTI-CAST (CARP) pass quick on { $dmz_if $corp_if $ras_if $ext_if } inet from any to = 224.0.0.0/4 allow-opts keep state # PERMIT DNS OUT pass in quick on { $dmz_if $corp_if $ras_if } inet proto { udp tcp } = from any to any port 53 keep state # PERMIT DMZ OUT pass in quick on { $dmz_if } inet proto tcp from <dmz> to any \ port 80 flags S/SA keep state # PERMITE SSH=20 pass in quick on { $ext_if } inet proto tcp from <impsat> to any \ port { 22 } flags S/SA keep state # TEMP PERMIT, OLD NET -> NEW NET pass quick inet proto tcp from <totalrange> to <impsat> \ flags S/SA keep state # ME pass in quick on $ext_if inet proto tcp from <impsat> to $ext_if:network = \ port 22 flags S/SA keep state pass in quick on $ext_if inet proto udp from <impsat> to $ext_if:network = \ port snmp keep state pass in quick on $ext_if inet proto tcp from <totalrange> to = $ext_if:network \ port 22 flags S/SA keep state pass in quick on $ext_if inet proto udp from <totalrange> to = $ext_if:network \ port snmp keep state ### GERAL RULES ## NTP pass in quick on { $dmz_if } inet proto udp from 200.x.x.1 port { 123 } = to any \ port { 123 } keep state ### <NS1> pass in quick on { $ext_if $corp_if } inet proto tcp from any port { 53 = } to 200.x.x.2 \ port { 53 } flags S/SA keep state pass in quick on { $ext_if $corp_if } inet proto tcp from any to = 200.x.x.2 \ port { 53 } flags S/SA keep state pass in quick on { $ext_if $corp_if } inet proto tcp from <impsat> to = 200.x.x.2 \ port { 22 } flags S/SA keep state pass in quick on { $ext_if $corp_if } inet proto udp from any to = 200.x.x.2 \ port { 53 } keep state ### </NS1> ### <HERZOG_NEW> pass in quick on { $ext_if $corp_if } inet proto tcp from any to = 200.x.x.3 \ port { 20 21 80 443 } flags S/SA keep state # RSYNC pass in quick on { $ext_if } inet proto tcp from <impsat> to 200.x.x.3 \ port { 873 } flags S/SA keep state # FTP pass in quick on { $ext_if $corp_if } inet proto tcp from any to = 200.x.x.3 \ port 30000 >< 65000 flags S/SA keep state # PASSIVE MODE # FTP pass in quick on { $dmz_if } inet proto tcp from 200.x.x.3 port 20 to = any \ flags S/SA keep state tag FTP-BACK # ACTIVE MODE ### </HERZOG_NEW> ### <Webtrends teste> # WEB pass in quick on { $ext_if $corp_if } inet proto tcp from any to = 200.x.x.4 \ port { 80 } flags S/SA keep state ### </Webtrends teste> # <WINDOWS MEDIA> pass in quick on { $ext_if $corp_if } inet proto tcp from any to = 200.x.x.5 \ port { 554 1755 } flags S/SA keep state # VNC pass in quick on { $ext_if } inet proto tcp from <impsat> to 200.x.x.5 \ port { 5900 } flags S/SA keep state pass in quick on { $ext_if $corp_if } inet proto udp from any to = 200.x.x.5 \ port { 554 1755 } keep state # </WINDOWS MEDIA> # TEST NOTEBOOK - HOLYDAY pass in quick on { $ext_if $dmz_if } inet proto tcp from any to = 200.x.x.6 \ port { 22 80 } flags S/SA keep state # </TESTE COM NOTEBOOK - HOLYDAY> # TEST WITH CISNET=20 pass in quick on { $ext_if $corp_if } inet proto tcp from any to = 200.x.x.7 \ port { 21 22 } flags S/SA keep state pass in quick on { $ext_if $corp_if } inet proto tcp from any to = 200.x.x.7 \ port 30000 >< 65000 flags S/SA keep state # PASSIVE MODE pass in quick on { $dmz_if } inet proto tcp from 200.x.x.7 port 20 to = any \ flags S/SA keep state tag FTP-BACK # ACTIVE MODE # </TESTE COM CISNET> # PING pass log inet proto icmp all icmp-type $icmp_types keep state # TRACEROUTE pass inet proto udp from any to any \ port 33433 >< 33626 keep state -- end Thanks in advance. David Verzolla Administrador de Redes Funda=E7=E3o C=E1sper L=EDbero - FCLNet Tel: +55 11 3170.5937
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?94CADB570ACCB0418E8236C8F24BD95C01469F9E>