QoS для VoIP трафика проблемы

Обсуждение ПО и его настройки
fordiego
Сообщения: 16
Зарегистрирован: 01 фев 2019, 12:16

Доброго времени суток.
Опишу свою среду:
Роутер RB3011UiAS, интернет приходит в bridge1 (eth1 + eth2) локалка в eth3 (LAN), все остальные порты отключены.
Локальная сеть 192.168.0.0/24 адрес eth3 192.168.0.100
В локалке есть сервер Asterisk 192.168.0.10 несколько VoIP шлюзов 192.168.0.51-52-53
Ну и компы. Часть пользователей сидит на софтфонах часть на шлюзах.
Скорость провайдера 100мбс
Задача настроить QoS для VoIP:
Делаю по мануалу https://voxlink.ru/kb/voip-devices-conf ... iguration/ Получаю проблемы, связь становится хуже, появляются заикания. Трафик в локальной сети режется до скорости ограничений в очереди global 45мбс, это и не удивительно так как в мануале есть правило:

Код: Выделить всё

/ip firewall mangle
add action=mark-packet chain=forward new-packet-mark=def_out src-address=192.168.0.0/24
add action=mark-packet chain=forward new-packet-mark=def_in dst-address=192.168.0.0/24
Которое маркирует весь трафик в локалке, а потом ограничивает его:

Код: Выделить всё

/queue tree
add name=in parent=global max-limit=45000k
add name=def-in parent=in packet-mark=def_in max-limit=45000k 
add name=out parent=global max-limit=45000k
add name=def-out parent=out packet-mark=def_out max-limit=45000k
Вопрос:
1. Как сделать нормальный QoS чтоб трафик в локалке нарезать?
2. Ну если предположить что опустим честную 100-ку локалки до 45 дабы VoIP ходил без проблем почему заикания появились?
Последний раз редактировалось fordiego 06 фев 2019, 10:37, всего редактировалось 1 раз.


KARaS'b
Сообщения: 1199
Зарегистрирован: 29 сен 2011, 09:16

Если речь идет про трафик внутри сети, т.е. с аппарата\шлюза\софтофона на аппарат\шлюз\софтофон, то в первую очередь ищите то место, где вы умудрились заставить ходить l2 трафик через ваш микрот, т.к. согласно вашей конфигурации у вас используется всего один порт под локальную сеть, а значит надо очень постараться что бы такое провернуть. Возможно вы цепляетесь к атс по внешнему адресу? Это бы объяснило такое поведение. Найти этот косяк это лучший из вариантов решения вашей проблемы, а как временный костыль можно использовать вот такую конструкцию.

Код: Выделить всё

add action=mark-packet chain=forward new-packet-mark=def_out src-address=192.168.0.0/24 dst-address=!192.168.0.0/24
add action=mark-packet chain=forward new-packet-mark=def_in dst-address=192.168.0.0/24 src-address=!192.168.0.0/24
Но повторю, это скорее костыль чем решение, так как в первую очередь вам нужной найти причину по которой l2 трафик обрабатывается вашим маршрутизатором.


fordiego
Сообщения: 16
Зарегистрирован: 01 фев 2019, 12:16

>>>Если речь идет про трафик внутри сети, т.е. с аппарата\шлюза\софтофона на аппарат\шлюз\софтофон
Звонок внутри сети не тестировал, звонки наружу и с наружи "тормозят, заикаются"
>>>вы умудрились заставить ходить l2 трафик через ваш микрот надо очень постараться что бы такое провернуть
да что вы, откуда мозгов столько, qos настроить не могу, а вы про вещи сложные говорите. Нет все очень просто. Обычная локальная сеть на тупых длинках
>>> Возможно вы цепляетесь к атс по внешнему адресу?
нет asterisk за NAT


fordiego
Сообщения: 16
Зарегистрирован: 01 фев 2019, 12:16

Код: Выделить всё

add action=mark-packet chain=forward new-packet-mark=def_out src-address=192.168.0.0/24 dst-address=!192.168.0.0/24
add action=mark-packet chain=forward new-packet-mark=def_in dst-address=192.168.0.0/24 src-address=!192.168.0.0/24
то есть этим я скажу маркировать все пакеты приходящие снаружи с других подсетей и уходящие наружу в другие подсети?
таким образом в дереве QoS:

Код: Выделить всё

/queue tree
add name=in parent=global max-limit=45000k
add name=def-in parent=in packet-mark=def_in max-limit=45000k 
add name=out parent=global max-limit=45000k
add name=def-out parent=out packet-mark=def_out max-limit=45000k
зарежется скорость до 45 мбс все что приходит c "интернета" и уходит в "интернет"? верно понял?


KARaS'b
Сообщения: 1199
Зарегистрирован: 29 сен 2011, 09:16

Давайте вы для начала соберетесь с мыслями и корректно оформите вопрос, потому что сначала вы пишите:
Трафик в локальной сети режется до скорости ограничений в очереди global 45мбс, это и не удивительно так как в мануале есть правило...
На что я задаю вопрос
Если речь идет про трафик внутри сети, т.е. с аппарата\шлюза\софтофона на аппарат\шлюз\софтофон...
А вы отвечаетет
Звонок внутри сети не тестировал...
И вас уже не понять...


fordiego
Сообщения: 16
Зарегистрирован: 01 фев 2019, 12:16

внутри сети с аппарата\шлюза\софтофона на аппарат\шлюз\софтофон не тестировал, а если наружу звонить например на сотовый или принимать снаружи звонок тормозит. Ну не пользуемся мы внутренней связью. по скайпу переписываемся если что нужно. или так покурим поболтаем.


fordiego
Сообщения: 16
Зарегистрирован: 01 фев 2019, 12:16

Давайте тогда перефразирую. Раз локалку мы не трогаем то:
собственно и задача тормознуть весь трафик при выходе с /входе на RB3011UiAS а VoIP пустить приоритетом. А локалку оставить в покое.


fordiego
Сообщения: 16
Зарегистрирован: 01 фев 2019, 12:16

>>>И вас уже не понять...
Кстате: пример маршрутизации звонка:
Прилетел звонок (5060 + RTP) на микротик, микротик перекинул пакеты (dst-nat) на Asterisk. Напомню астериск в локальной сети. Астериск переслал пакеты на шлюз или в софтфон. Это уже локальный трафик! звонок заикается и тормозит.
Ну если по логике :)


KARaS'b
Сообщения: 1199
Зарегистрирован: 29 сен 2011, 09:16

Это не локальный звонок, это звонок извне, трафик по прежнему идет через атс, которая соединяет абонента извне с абонентом в вашей сети.
Пробуйте выдать атс большую минимальную и максимальную скорости, возможно ей не очень хватает канала.
З.Ы, На практике, в подобной ситуации делал иначе - в tree нарезал только скорость "клиентов", при этом маркировалась не вся сеть полностью, а только пул отданный под клиентов, а так часть адресного пространства, что была занята серверами не участвовала в ограничениях вообще, плюс в global указывал скорость гораздо меньшую от максимальной, что бы серверам всегда была доступна большая ширина канала и без каких-то ограничений и очередей. При тестировании звонки вели себя очень даже адекватно, тем более, что это был отель, где при 3х дневном лизе dhcp болталось около 500-600 арендованных адресов, а канал был в районе 20-30 мегабит. Но само такое решение считаю костыльным.


fordiego
Сообщения: 16
Зарегистрирован: 01 фев 2019, 12:16

Я заметил что Asterisk метит самостоятельно PTR пакеты dscp 46, а SIP dscp 26
Можно ли как то микротику сказать чтоб на интефейсе WAN он "выпускал" помеченные пакеты в первую очередь а без метки (всякие http/s трафики dns и прочии) в последнюю?


Ответить