Hi,
I have a pf ruleset which has not been changed for 4 months and worked without any problems so far.
A couple of days ago I have upgraded my NIC card to Intel 82599EB 10-Gigabit SFI/SFP+ (ixgbe) from a Broadcom NetXtreme II BCM5709 (bce).
Additionally I have updated the server's (Dell PowerEdge R610) software via IDRAC as well.
The problem is that (some, not all at the same time) computers on LAN randomly can't reach my router's gateway now. It happens rarely. It's as if packets never hit my LAN rules (/etc/pf.lan_computers) in pf and no state gets created.
At the same time I can easily ping them from my router as if nothing happened. (At least it means that this pf rule is evaluated correctly).
shows that no traffic is going through from ip_addr_of_affected_pc
The very moment I do a
This hasn't happened before for 4 months with my older NIC. I am clueless what can cause this. The pf rules themselves haven't been changed since then.
Unfortunately I don't have much access to the LAN computers when it happens. I only get a call, so not much that I can check besides that.
Below some info of my setup:
OS:
FreeBSD 10.1-RELEASE-p6 amd64
FreeBSD 10.1-STABLE #3 r279781M amd64 (happens with release and stable versions with the new NIC)
My /etc/pf.conf ruleset can be simplified to this:
File /etc/pf.lan_computers:
Pastebin contains the usual ifconfig, netstat, /etc/sysctl.conf, /boot/loader.conf, etc... (I couldn't reasonably include it inline in the post)
http://pastebin.com/Z4sN7mAT
I would be glad if someone could point me to what might be wrong as I have no idea.
My only workaround currently is to reload
Thank you
I have a pf ruleset which has not been changed for 4 months and worked without any problems so far.
A couple of days ago I have upgraded my NIC card to Intel 82599EB 10-Gigabit SFI/SFP+ (ixgbe) from a Broadcom NetXtreme II BCM5709 (bce).
Additionally I have updated the server's (Dell PowerEdge R610) software via IDRAC as well.
The problem is that (some, not all at the same time) computers on LAN randomly can't reach my router's gateway now. It happens rarely. It's as if packets never hit my LAN rules (/etc/pf.lan_computers) in pf and no state gets created.
At the same time I can easily ping them from my router as if nothing happened. (At least it means that this pf rule is evaluated correctly).
tcpdump -i ix1 src ip_addr_of_affected_pcshows that no traffic is going through from ip_addr_of_affected_pc
pftop reports no states for ip_addr_of_affected_pcThe very moment I do a
pfctl -f /etc/pf.conf to reload the rules, BAM, states get created normally and the traffic resumes on the PC that couldn't reach my gateway.This hasn't happened before for 4 months with my older NIC. I am clueless what can cause this. The pf rules themselves haven't been changed since then.
Unfortunately I don't have much access to the LAN computers when it happens. I only get a call, so not much that I can check besides that.
Below some info of my setup:
OS:
FreeBSD 10.1-RELEASE-p6 amd64
FreeBSD 10.1-STABLE #3 r279781M amd64 (happens with release and stable versions with the new NIC)
My /etc/pf.conf ruleset can be simplified to this:
Code:
### TABLES ###
table <conflicker> persist
table <ssh_abusers> persist
### MACROS ###
WAN0=ix0
LAN0=ix1
### OPTIONS ###
set skip on lo0
set block-policy return
set limit table-entries 500000
set limit frags 50000
set limit states 500000
set limit src-nodes 500000
### SCRUB ###
scrub in all fragment reassemble
### NAT ###
# ip addresses are fake
nat on $WAN0 from 10.10.10.0/24 to any -> 33.5.24.10
nat on $WAN0 from 10.10.20.0/24 to any -> 33.5.24.11
# ...
### anti virus message ###
rdr pass on $LAN0 proto tcp from <conflicker> to any port http -> 33.5.24.10 port 300
### DEFAULT DENY ###
block in all
block out all
antispoof quick for $WAN0
antispoof quick for $LAN0
block quick proto { tcp, udp } from any port = 0 to any
block quick proto { tcp, udp } from any to any port = 0
### WAN ###
block in quick on $WAN0 from <ssh_abusers>
pass in quick on $WAN0 inet proto icmp from any to $WAN0 keep state
pass in quick on $WAN0 proto tcp from any to $WAN0 port ssh synproxy state (max-src-conn 5, max-src-conn-rate 10/30, overload <ssh_abusers> flush)
pass out quick on $WAN0 keep state
### LAN ###
anchor lan_computers
load anchor lan_computers from "/etc/pf.lan_computers"
pass out quick on $LAN0 from {10.10.10.1, 10.10.20.1, ...} to ($LAN0:network) keep state
Code:
table <computers_net_a> persist { 10.10.10.2, 10.10.10.3, ... more ips }
table <computers_net_b> persist { 10.10.20.2, 10.10.20.2, ... more ips }
# ... more networks
# this is using the ifconfig group name
pass in quick on lanif from <computers_net_a> keep state (source-track rule, max-src-states 1200, max-src-conn-rate 200/1)
pass in quick on lanif from <computers_net_b> keep state (source-track rule, max-src-states 300, max-src-conn-rate 100/1)
# ...
http://pastebin.com/Z4sN7mAT
I would be glad if someone could point me to what might be wrong as I have no idea.
My only workaround currently is to reload
pfctl -f /etc/pf.conf in crontab every couple of minutes to ensure no one loses access to the internet.Thank you