DimaITS
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Добрый день. Есть у меня сеть состоящая из роутера с двумя wan портами в который приходит интернет (2 канала по 25Mb). Из него идёт шнурок в шлюз FreeBSD 9.0 (dhcp+pf+altq+squid), а уже из него шнурок в локальную сеть. Решил я озадачиться и настроить очереди, так чтобы весь исходящий трафик http имел наивысший приоритет, а трафик dns, ftp и остальной приоритет пониже. Написал, примерно, такой конфиг: int_if="re0" ext_if="em1" lan_my="192.168.1.0/24" set block-policy drop set skip on lo0 scrub in on $ext_if all altq on $ext_if cbq bandwidth 48Mb queue {qhttp, qdns, qftp, qdef} queue qhttp bandwidth 70% priority 6 cbq (borrow) queue qdns bandwidth 10% priority 5 cbq (borrow) queue qftp bandwidth 10% priority 3 cbq (borrow) queue qdef bandwidth 10% priority 2 cbq (default borrow) nat on $ext_if from $lan_my to any -> ($ext_if) rdr on $ext_if proto tcp from any to $ext_if port 81 -> 192.168.1.9 port 81 rdr on $int_if inet proto tcp from any to any port www -> 127.0.0.1 port 3128 rdr on $ext_if proto tcp from any to $ext_if port 3389 -> 192.168.1.11 port 3389 rdr on $ext_if proto {tcp, udp} from 85.94.32.244 to $ext_if port 5061 -> 192.168.1.16 port 5061 rdr on $ext_if proto {tcp, udp} from 85.94.32.244 to $ext_if port 5062 -> 192.168.1.16 port 5062 rdr on $ext_if proto {tcp, udp} from 85.94.32.244 to $ext_if port 5064 -> 192.168.1.15 port 5064 rdr on $ext_if proto {tcp, udp} from 85.94.32.244 to $ext_if port 5068 -> 192.168.1.17 port 5068 antispoof quick for {lo0, $int_if, $ext_if} block on $ext_if all pass out on $ext_if inet proto {tcp, udp} to port www queue qhttp pass out on $ext_if inet proto {tcp, udp} to port domain queue qdns pass out on $ext_if inet proto {tcp, udp} to port ftp queue qftp pass in on $ext_if inet proto {tcp, udp} to port www queue qhttp pass in on $ext_if inet proto {tcp, udp} to port domain queue qdns pass in on $ext_if inet proto {tcp, udp} to port ftp queue qftp pass out on $ext_if pass on $int_if from $lan_my to any pass in on $ext_if proto {tcp, udp} from 85.94.32.244 to any pass in on $ext_if proto tcp from any to any port 3389 pass in on $ext_if proto tcp from any to any port 81 block on $ext_if proto {tcp, udp} from any to any port 6969 block on $ext_if proto {tcp, udp} from any to any port {6881:6889} В итоге, все пакеты, тупо, валятся в очередь по умолчанию. Я уже пробовал и squid отключать, и правила вертел по разному, no keep state тоже ставил; всё безрезультатно. Может я просто чего то недопонимаю? Про Altq начал читать только вчера, но как мне казалось логика мне ясна. | Всего записей: 6 | Зарегистр. 17-07-2008 | Отправлено: 16:27 18-07-2013 | Исправлено: DimaITS, 16:28 18-07-2013 |
|