The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Квоты, ограничения, QoS / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"  +/
Сообщение от aserp (ok) on 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.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"  +/
Сообщение от aserp (ok) on 06-Окт-15, 11:24 

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

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

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"  +/
Сообщение от universite email(ok) on 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    

    
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

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

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

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


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

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"  +/
Сообщение от urgordeadbeef on 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 на группе работать - не знаю, не пробовал.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"  +/
Сообщение от aserp (ok) on 15-Окт-15, 07:10 
ок, спасибо большое, попробую, как вариант.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"  +/
Сообщение от urgordeadbeef on 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

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

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Как проще организовать ALTQ на шлюзе FreeBSD с 11 интерфейсами?"  +/
Сообщение от aserp (ok) on 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. применил - ошибок не выдал, работает или нет - пока не понятно.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру