ToS и QoS на маршрутизаторах Ubuntu

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

TonnyBennet
Сообщения: 230
ОС: Ubuntu Server 9.10

ToS и QoS на маршрутизаторах Ubuntu

Сообщение TonnyBennet »

Здравствуйте.

Имеется несколько локальных сетей /24. Между сетями настроены VPN тунели. Сервер pptpd.

Для примера возьму две сети: 192.168.0.0/24 с шлюзом 192.168.0.10 (pr-mail); 192.168.4.0/24 с шлюзом 192.168.4.1 (st-mail). Шлюзы под Ubuntu Server.

pr-mail:
eth0: 192.168.0.10 ---> интерфейс в сторону локальной сети
ppp0: <Внешний адрес> ---> интерфейс в сторону провайдера
ppp1: 192.168.2.1
ppp2: 192.168.2.1
ppp3: 192.168.2.1
ppp4: 192.168.2.1

st-mail:
eth0: 192.168.4.1 ---> интерфейс в сторону локальной сети
eth1: <Внешний адрес> ---> интерфейс в сторону провайдера
eth1:1 10.20.244.54 ---> доп. адрес на сетевой для работы IP телефонии
ppp1: 192.168.2.4 --> интерферс в сторону сети 192.168.0.0/24

Клинеты из локальных сетей попадают в интернет по средствам NAT и позрачного прокси. В соседние сети пакеты просто маршрутизируются.

Клиенты одной сети могут работать по удалёнке на серверах другой сети, звонить сотрудникам по IP телефонии, копировать файлы в сетевые папки и т.д.
- RDP
- IP телефония
- SSH
- SMB-доступ к файлам
- печать на сетевые принтеры

Вопрос о приоритезации трафика стал когда начала работать IP телефония (сервер Elastix в каждой сети). Как только кто-то качает - канал занят - звук пропадает и подёргивается.

Собственно, что хотелось бы сделать и что не понятно:

Хочется сделать что бы голос был стабилен и не прерывался, закачки больших файлов не прерывали работу по SSH и RDP.

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

1. VoIP
2. RDP
3. SSH
4. Other

А вот как быть с интерфейсами смотрящими в интернет?

Какие пакеты нужно использовать? Есть ли какие-нибудь практические рекомендации по данному вопросу?

Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: ToS и QoS на маршрутизаторах Ubuntu

Сообщение Bluetooth »

Спасибо сказали:
TonnyBennet
Сообщения: 230
ОС: Ubuntu Server 9.10

Re: ToS и QoS на маршрутизаторах Ubuntu

Сообщение TonnyBennet »

Создал несколько правил на основе htb. Просто ограничить полосу пропускания получается. А вот выставление приоритета на VoIP не работает.

Как проверяю: на шлюзе pr-mail прописал несколько правил:

Интерфейс который смотрит в локальную сеть eth0:

eth0

Код:

DEFAULT=20 R2Q=1


eth0-2.full_100Mbit

Код:

RATE=100Mbit CEIL=100Mbit


eth0-2:10.voip

Код:

RATE=2Mbit CEIL=4Mbit BRUST=512Kb PRIO=1 LEAF=sfq RULE=*:4569


eth0-2:10.default

Код:

RATE=10Mbit CEIL=10Mbit LEAF=sfq PRIO=10


Связь с другим сервером через интерфейс ppp2
ppp2

Код:

DEFAULT=20 R2Q=1


ppp2-2

Код:

RATE=2Mbit


ppp2-2:10.voip

Код:

#VoIP трафик RATE=1Mbit CEIL=2Mbit BRUST=512Kb PRIO=1 LEAF=sfq RULE=*:4569


ppp2-2:20.default

Код:

RATE=50Kbit CEIL=2Mbit LEAF=sfq PRIO=5


На втором шлюзе прописал аналогичные правила.

Шлюз pr-mail раздаёт внешний канал в 15Мбит/с. Запускаю загрузку торента. В классе по-умолчанию eth0-2:10.default указана скорость 10Мбит/с - торент качает порядка 1,2 МБ/с - класс работает. Но если в момент закачки позвонить через IAX2 канал на другой сервер телефонии собеседника слышно прерывисто, хотя он меня слышит отлично. Т.е. мне кажется что не работает правило, и в класс voip трафик не попадает.

Подскажите пожалуйста как правильно сделать: указывать в классах только максимально допустимую скорость CEIL или указвать и гарантированную полосу? В сети многие пишут что RATE работает некорректно. По идее мне нужно выделить гарантированные полосы для ssh, VoIP, RDP а остальное можно делить по принципу: кто первый встал того и тапки.

И нужно ли писать правила для GREv1 протокола на внешнем интерфейсе шлюза? (т.к. трафик между сетями передаётся через VPN)
Спасибо сказали:
TonnyBennet
Сообщения: 230
ОС: Ubuntu Server 9.10

Re: ToS и QoS на маршрутизаторах Ubuntu

Сообщение TonnyBennet »

Также при компиляции и запуске htb появляется ошибка

find: warning: you have specified the -maxdepth option after a non-option argument (, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments.

В сети пишут что ничего серьёзного и всё должно работать. Всё равно немного смущает.

Upd.

Нашёл решение здесь: http://kovyrin.net/2006/04/06/5min-guide-t...ux-shaping-htb/

Проблема 3:
может возникнуть предупреждение об ошибке типа:
find: warning: you have specified the -maxdepth option after a non-option argument (, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments.
В данном случае зайдите в файл htb.init и уберите знак # в строке HTB_BASIC=”yes”. В моей версии это была 412-я строка.
Спасибо сказали: