URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96310
[ Назад ]

Исходное сообщение
"Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"

Отправлено aserp , 05-Окт-15 12:16 
Добрый день. Прошу, кто сталкивался - дать рекомендации по такому вопросу:

Как проще организовать altq на шлюзе FreeBSD с 11 интерфейсами?

Хочется, чтобы важным протоколам (VPN, DNS, RDP, VOIP) всегда хватало канала, а остальным - по остаточному принципу.

Интерфейсы - WAN1, WAN2(основной и резерв), LAN, WIFI, DMZ, VLAN.
Плюс OpenVPN и на нем еще 5 виртуальных интерфейсов-тоннелей (tun0 - tun4).

Для каждого интерфейса прописывать группу очередей - громоздко, может знающие люди подскажут - как упростить?

При этом скорость-пропускная способность у интерфейсов разная (WAN1 и WAN2) - можно ли вообще им сделать им общую очередь и как при этом задать очередь по умолчанию для остального неважного трафика(с остатком пропускной способности).

Спасибо.

PS:  FreeBSD 10.2, packet filter.


Содержание

Сообщения в этом обсуждении
"Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"
Отправлено universite , 05-Окт-15 15:05 
> Добрый день. Прошу, кто сталкивался - дать рекомендации по такому вопросу:
> Как проще организовать altq на шлюзе FreeBSD с 11 интерфейсами?
> Хочется, чтобы важным протоколам (VPN, DNS, RDP, VOIP) всегда хватало канала, а
> остальным - по остаточному принципу.
> Интерфейсы - WAN1, WAN2(основной и резерв), LAN, WIFI, DMZ, VLAN.
> Плюс OpenVPN и на нем еще 5 виртуальных интерфейсов-тоннелей (tun0 - tun4).
> Для каждого интерфейса прописывать группу очередей - громоздко, может знающие люди подскажут
> - как упростить?

11 интерфейсов - не 700.
Используйте shell.


"Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"
Отправлено aserp , 06-Окт-15 11:24 

> 11 интерфейсов - не 700.
> Используйте shell.

Правильно ли я понял, что можно какими-то скриптами на шелле создать правила очередей?
Может быть у Вас есть какие-то ссылки на эти скрипты?


"Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"
Отправлено universite , 06-Окт-15 11:28 
>> 11 интерфейсов - не 700.
>> Используйте shell.
> Правильно ли я понял, что можно какими-то скриптами на шелле создать правила
> очередей?

да.

> Может быть у Вас есть какие-то ссылки на эти скрипты?

Настройка Firewall, NAT,ALTQ на PF - http://www.unix.ck.ua/content/nastroika-firewall-nataltq-pf


#Очереди, полоса - 2мбит, режем исходящий трафик от сервера с стороны внешнего интерфейса tun0.
altq on $ext_if cbq bandwidth 1980Kb queue { qssh, qhttp, qdns, qack, qftp }
    queue qhttp bandwidth 70% priority 6 cbq (default borrow)
    queue qssh bandwidth 15% priority 5 cbq (borrow)
    queue qdns bandwidth 5% priority 5 cbq (borrow)
    queue qack bandwidth 5% priority 6 cbq (borrow)
    queue qftp bandwidth 5% priority 2 cbq (red)


#IN ALTQ
pass in on $ext_if inet proto { tcp,udp } from any to $ext_if port 2222 queue ( qssh, qack )
pass in on $ext_if inet proto { tcp,udp } from any to $ext_if port 80 queue qhttp
pass in on $ext_if inet proto { tcp,udp } from any to $ext_if port 53 queue qdns
pass in on $ext_if inet proto { tcp,udp } from any to $ext_if port { 21 30000:35000 } queue qftp

#OUT ALTQ
pass out on $ext_if inet proto { tcp,udp } from $ext_if to $ext_if port 2222 queue ( qssh, qack )
pass out on $ext_if inet proto { tcp,udp } from $ext_if to $ext_if port 80 queue qhttp
pass out on $ext_if inet proto { tcp,udp } from $ext_if to $ext_if port 53 queue qdns
pass out on $ext_if inet proto { tcp,udp } from $ext_if to $ext_if port { 21 30000:35000 } queue qftp    

    

"Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"
Отправлено aserp , 06-Окт-15 15:26 
Спасибо за ответ.  Правда я не совсем понял при чем здесь shell.

Дело в том, что подобных конфигов я нашел много.
Но в них во всех как правило 1 внешний интерфейс и 1 внутренний, и правил pass достаточно мало.

У меня 6 интерфейсов и около 200 правил пропуска, ната и переадресаций по разным условиям. Если я это все еще разделю по очередям, то конфиг разбухнет раз в пять. В нем ориентироваться и так сейчас сложно, а станет вообще невозможно. В этом и вопрос - как можно сделать просто и красиво.


Пока придумал - вешать очереди на pass out - они у меня все разрешены и не используются для пропуска. К тому так и советуют - ограничивать исходящий трафик.


"Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"
Отправлено universite , 06-Окт-15 15:57 
> У меня 6 интерфейсов и около 200 правил пропуска, ната и переадресаций
> по разным условиям. Если я это все еще разделю по очередям,
> то конфиг разбухнет раз в пять. В нем ориентироваться и так
> сейчас сложно, а станет вообще невозможно. В этом и вопрос -
> как можно сделать просто и красиво.

Ну, так используйте shell для генерации конфига, раз недостаточно переменных в pf.conf.
Если правил много, то нужна оптимизация.


"Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"
Отправлено urgordeadbeef , 14-Окт-15 19:35 
> Как проще организовать altq на шлюзе FreeBSD с 11 интерфейсами?
> Хочется, чтобы важным протоколам (VPN, DNS, RDP, VOIP) всегда хватало канала, а
> остальным - по остаточному принципу.
> Интерфейсы - WAN1, WAN2(основной и резерв), LAN, WIFI, DMZ, VLAN.
> Плюс OpenVPN и на нем еще 5 виртуальных интерфейсов-тоннелей (tun0 - tun4).
> При этом скорость-пропускная способность у интерфейсов разная (WAN1 и WAN2) - можно
> ли вообще им сделать им общую очередь и как при этом
> задать очередь по умолчанию для остального неважного трафика(с остатком пропускной способности).

для упрощения используй группы интерфейсов, pf умеет работать по ним. А протоколы в очереди по приоритетам организуй. А вот будет ли ALTQ на группе работать - не знаю, не пробовал.


"Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"
Отправлено aserp , 15-Окт-15 07:10 
ок, спасибо большое, попробую, как вариант.

"Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"
Отправлено urgordeadbeef , 15-Окт-15 10:14 
> ок, спасибо большое, попробую, как вариант.

Мне кажется, ты меня неправильно понял. Я об этом:
ifconfig wan1 inet a.a.a./b group wan
ifconfig wan2 inet c.c.c.c/d group wan

pf.conf:
pass on wan all

Это реально количество правил уменьшит.


"Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"
Отправлено aserp , 15-Окт-15 14:53 
> Мне кажется, ты меня неправильно понял. Я об этом:
> ifconfig wan1 inet a.a.a./b group wan
> ifconfig wan2 inet c.c.c.c/d group wan
> pf.conf:
> pass on wan all
> Это реально количество правил уменьшит.

Да, спасибо, за уточнение, я попробую, просто у меня на первый план сейчас зависания сети на шлюзе вылезли, я с этим стал разбираться, поставил мунин, он не заработал - какие-то несвязанные ссылки между библиотеками, пока пытаемся сейчас это побороть.

прописал, группы в rc.conf перегрузил сеть, прописал правила
pass out on wan queue qwanother
.....
pf. применил - ошибок не выдал, работает или нет - пока не понятно.