I have a small mail server which also acts as a router for our public WiFi. For obvious reasons, I have traffic shaping enabled and it has allowed the two to co-exist peacefully, not allowing customers using WiFi to interfere with the operation of the mail server. Until today that is.
Mail is basically inoperable today. Looking at the output of
Below are the snippets of my pf script that deal with the traffic shaping. Can anyone see why this is happening? ($ext_if is my internet connection, $adm_if is that of my admin box, and $int_if is that going to the two public WiFi routers.)
Mail is basically inoperable today. Looking at the output of
systat -ifstat, I see that traffic coming from the public WiFi routers is saturating the outbound link. I do not know how to further track down what is using the traffic - what port it's on, application being used, etc. Given the traffic shaping rules in place, I'm puzzled as to how this is happening.Below are the snippets of my pf script that deal with the traffic shaping. Can anyone see why this is happening? ($ext_if is my internet connection, $adm_if is that of my admin box, and $int_if is that going to the two public WiFi routers.)
Code:
# Activate alternate queuing
altq on tun0 cbq bandwidth 512Kb queue { standard_out, dns_out, http_out, tcpack_out, \
popimap_out, smtp_out, admintraffic_out, wifitraffic_out
}
# Set up queues
queue standard_out bandwidth 72Kb priority 0 cbq(default, borrow)
queue dns_out bandwidth 20Kb priority 6 cbq(borrow)
queue http_out bandwidth 40Kb priority 5 cbq(borrow)
queue tcpack_out bandwidth 40Kb priority 7 cbq(borrow)
queue popimap_out bandwidth 100Kb priority 4 cbq(borrow)
queue smtp_out bandwidth 100Kb priority 3 cbq(borrow)
queue admintraffic_out bandwidth 90Kb priority 2 cbq(borrow)
queue wifitraffic_out bandwidth 50Kb priority 1 cbq(borrow)
...
pass out on $ext_if inet proto { tcp udp } from ($ext_if) to any port $bind_ports keep state queue (dns_out, tcpack_out)
pass out on $ext_if inet proto tcp from ($ext_if) to any port $webi_ports keep state queue (http_out, tcpack_out)
pass out on $ext_if inet proto tcp from ($ext_if) to any port $marc_ports keep state queue (http_out, tcpack_out)
pass out on $ext_if inet proto tcp from ($ext_if) to any port $mail_ports keep state queue (popimap_out, tcpack_out)
pass out on $ext_if inet proto tcp from ($ext_if) to any port $smtp_ports keep state queue (smtp_out, tcpack_out)
pass out on $ext_if inet proto tcp from ($adm_if) to any keep state queue (admintraffic_out, tcpack_out)
pass out on $ext_if inet proto tcp from ($int_if) to any keep state queue (wifitraffic_out, tcpack_out)