Hi!
I have Supermicro Server with ATOM CPU and two interfaces (Intel NIC, em drivers) inside. It is infrastructure server for firewall and NAT (with a light load).
So ipf + ipnat have been used for many years. Everything was OK.
But after upgrade to FreeBSD 10 ipf + ipnat start to drop the packets. And I decided to migrate to PF.
Now I have FreeBSD 10 with configured PF and 2 interfaces: internal (to LAN) and external (to ISP).
Internet bandwidth is 10 Mbps. This speed is stable and tested by wget (on server).
But I have a problems with download speed in LAN (behind the NAT). Upload speed is OK (10 Mbps), but download speed is only 1 Mbps or less.
I tried to disable TSO LSO and checksums but without positive effect.
There is no dropped packets (ICMP ping is stable), and no errors in pfctl's output, no errors on the Ethernet interfaces.
Do you have any ideas?
My pf.conf:
I have Supermicro Server with ATOM CPU and two interfaces (Intel NIC, em drivers) inside. It is infrastructure server for firewall and NAT (with a light load).
So ipf + ipnat have been used for many years. Everything was OK.
But after upgrade to FreeBSD 10 ipf + ipnat start to drop the packets. And I decided to migrate to PF.
Now I have FreeBSD 10 with configured PF and 2 interfaces: internal (to LAN) and external (to ISP).
Internet bandwidth is 10 Mbps. This speed is stable and tested by wget (on server).
But I have a problems with download speed in LAN (behind the NAT). Upload speed is OK (10 Mbps), but download speed is only 1 Mbps or less.
I tried to disable TSO LSO and checksums but without positive effect.
There is no dropped packets (ICMP ping is stable), and no errors in pfctl's output, no errors on the Ethernet interfaces.
Do you have any ideas?
My pf.conf:
Code:
ext_if="em0"
int_if="em1"
set skip on lo0
scrub in all
nat on $ext_if from 192.168.7.10/24 to any -> ($ext_if)
nat on $ext_if from 10.10.10.0/24 to any -> ($ext_if)
#a lot of rdr rules
block all
pass in on $int_if from any to any
pass out on $int_if from any to any
pass out on $ext_if from any to any keep state
pass in on $ext_if proto tcp from any to $ext_if port ssh
pass in inet proto icmp all icmp-type echoreq
pass in on $ext_if proto tcp from any to any port {80 22 53}
Last edited by a moderator: