Гарантированная скорость IP телефонии (SIP), RDP, WEB, а так же ограничение паразитного (Torrent) трафика для офиса с расчётом под количество пользователей SIP и RDP.
Профессиональная настройка MikroTik
Без предоплаты
Telegram: @Engineer_MikroTik
Для стандартного офиса из 10 человек вполне хватит 4Мбита интернета, при условии правильной настройки приоритезации трафика пользователей и отсутствия видео трафика.
В статье используется RouerOS 7, но инструкция полностью совместима с RouterOS 6, нужно только использовать старый стиль cli.
Рекомендуется QoS настраивать на 10% меньше реальной скорости, но на 10 пользователях с 4Мбит особо не разгуляться 🙂
Ограничение скорости для дома
Гарантированная скорость для IP телефонии
Ограничение скорости для офиса
Теоретическую часть можно изучить на сайте https://help.mikrotik.com/docs/display/ROS/Queues
В нашем примере в офисе только 1 оператор на 4Мбит и нет туннелей куда-либо. Наличие QoS для туннелей GRE/L2TP/PPTP/SSTP сильно усложняет статью и это тянет на отдельную статью по QoS с учетом туннелей и 2WAN
Потребляемые скорости:
- VoIP (SIP) — 80Кбит/сек на 1 активный разговор. Выделяем 90Кбит.
- RDP — 100-300Кбит на 1 активный сеанс. Выделяем 300Кбит.
- DNS — выделяем оставшуюся скорость и гарантированно 100Кбит.
- WEB — выделяем оставшуюся скорость.
- Здесь можно выделить любой трафик перед тем, как занижать приоритет всего не выделенного трафика.
- Остальной трафик (Torrent и остальной не выделенный трафик) — оставшуюся скорость после WEB трафика.
Расчет QoS на количество пользователей
Помним, что офис из 10 человек пользуется IP телефонией и удаленным RDP сервером. И это все на 4Мбит Интернете! (да, такие тарифы бывают в жадных бизнес-центрах и безлимитах от мобильных LTE операторов).
Выделение на QoS гарантированной скорости
- VoIP на 10 одновременных звонков в пике — 900кбит, можно выделить 0.9Мбит, так как 1 линия занимает не более 80кбит, не занятая полоса будет отдана меньшему приоритету.
- RDP на 10 сессий в RDP — 3000кбит, это 3Мбит.
Здесь получается занято все 4Мбит. Но сотрудники не разговаривают 100% времени и картинка в RDP не меняется 24 кадра в секунду в течение всего дня. - DNS трафику отдаем оставшуюся полосу пропускания, но гарантируем 100Кбит.
Здесь если вы не закроете DNS из вне — ждите проблем - WEB трафику отдаем всю оставшуюся полосу пропускания
- Остальному трафику отдаем свободную от WEB полосу пропускания
Маркировка трафика пошагово
Трафик маркируется в IP > Firewall > Mangle
Маркировка относительно интерфейс листов, в данном примере WAN1
Сначала маркируется соединение, потом пакеты
Для SIP трафика указываем адрес SIP сервера (он в 99% известен), иначе придется использовать хитрости с динамическими address list.
Для RDP трафика желательно тоже указывать сервер.
Это все делается чтобы случайно не дать приоритет паразитному трафику.
Маркировка SIP/RTP
По моему опыту в крупных компаниях с офисами в разных городах используется ВАТС от Ростелеком, у которого используется только несколько подсетей. Но в нашем примере будет адрес лист с списком разных операторов.
/ip/firewall/address-list
add address=193.201.229.0/24 comment=Multifon.ru list=VoIP
Маркировка соединения
/ip firewall mangle
add action=mark-connection chain=forward comment=VoIP connection-mark=no-mark connection-state=new dst-address-list=VoIP dst-port=5060,10000-20000 new-connection-mark=conn_voip out-interface-list=WAN1 passthrough=yes protocol=udp
Маркировка пакетов
Исходящие
Входящие
Маркировка RDP
Маркировка соединений
Маркировка пакетов
Исходящие
Входящие
Маркировка WEB
Маркировка соединения
Маркировка пакетов
Исходящие
Исходящие
Маркировка DNS
Маркировать будем еще исходящий от MikroTik трафик, по этому цепочка postrouting
Маркировка соединений
Маркировка пакетов
Исходящие в postrouting, входящие в prerouting
Входящие
Исходящие
Маркировка остального трафика
Технически можно маркировать абсолютно любой трафик, хоть баз данных или 1С, маркировать туннельный трафик трафиком внутри него. Но мы выделим весь не выделенный трафик.
Маркировка соединения
Так же используем postrouting, так как от MikroTik может быть собственный трафик
Маркировка пакетов
Входящие
Исходящие
WinBox
CLI
/ip/firewall/address-list
add address=193.201.229.0/24 comment=Multifon.ru list=VoIP
/ip firewall mangle
add action=mark-connection chain=forward comment=VoIP connection-mark=no-mark connection-state=new dst-address-list=VoIP dst-port=5060,10000-20000 new-connection-mark=conn_voip out-interface-list=WAN1 passthrough=yes protocol=udp
add action=mark-packet chain=forward comment="-------Packet Out" connection-mark=conn_voip new-packet-mark=packet_voip-out out-interface-list=WAN1 packet-mark=no-mark passthrough=yes
add action=mark-packet chain=forward comment="-------Packet In" connection-mark=conn_voip in-interface-list=WAN1 new-packet-mark=packet_voip-in packet-mark=no-mark passthrough=yes
add action=mark-connection chain=forward comment=RDP connection-mark=no-mark connection-state=new dst-port=3389 new-connection-mark=conn_rdp out-interface-list=WAN1 passthrough=yes protocol=udp
add action=mark-connection chain=forward connection-mark=no-mark connection-state=new dst-port=3389 new-connection-mark=conn_rdp out-interface-list=WAN1 passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment="-------Packet Out" connection-mark=conn_rdp new-packet-mark=packet_rdp-out out-interface-list=WAN1 packet-mark=no-mark passthrough=yes
add action=mark-packet chain=forward comment="-------Packet In" connection-mark=conn_rdp in-interface-list=WAN1 new-packet-mark=packet_rdp-in packet-mark=no-mark passthrough=yes
add action=mark-connection chain=forward comment=WEB connection-mark=no-mark connection-state=new dst-port=80,443 new-connection-mark=conn_web out-interface-list=WAN1 passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment="-------Packet Out" connection-mark=conn_web new-packet-mark=packet_web-out out-interface-list=WAN1 packet-mark=no-mark passthrough=yes
add action=mark-packet chain=forward comment="-------Packet In" connection-mark=conn_web in-interface-list=WAN1 new-packet-mark=packet_web-in packet-mark=no-mark passthrough=yes
add action=mark-connection chain=postrouting comment=DNS connection-mark=no-mark connection-state=new dst-port=53 new-connection-mark=conn_dns out-interface-list=WAN1 passthrough=yes protocol=tcp
add action=mark-connection chain=postrouting comment=DNS connection-mark=no-mark connection-state=new dst-port=53 new-connection-mark=conn_dns out-interface-list=WAN1 passthrough=yes protocol=udp
add action=mark-packet chain=postrouting comment="-------Packet Out" connection-mark=conn_dns new-packet-mark=packet_dns-out out-interface-list=WAN1 packet-mark=no-mark passthrough=yes
add action=mark-packet chain=prerouting comment="-------Packet In" connection-mark=conn_dns in-interface-list=WAN1 new-packet-mark=packet_dns-in packet-mark=no-mark passthrough=yes
add action=mark-connection chain=postrouting comment=Other connection-mark=no-mark connection-state=new new-connection-mark=conn_other out-interface-list=WAN1 passthrough=yes
add action=mark-packet chain=postrouting comment="-------Packet Out" connection-mark=conn_other new-packet-mark=packet_other-out out-interface-list=WAN1 packet-mark=no-mark passthrough=yes
add action=mark-packet chain=prerouting comment="-------Packet In" connection-mark=conn_other in-interface-list=WAN1 new-packet-mark=packet_other-in packet-mark=no-mark passthrough=yes
Собираем QoS
Собирать будем Queue Tree как более гибкий инструмент в применении к туннелям, хотя все тоже самое можно сделать в Simple Queues.
Каркас Queue Tree
Делам дерево очередей без указания скоростей
/queue tree
add name=WAN1-In parent=global queue=pcq-download-default
add name=WAN1-Out parent=global queue=pcq-upload-default
add name=WAN1-In-WEB packet-mark=packet_web-in parent=WAN1-In queue=pcq-download-default
add name=WAN1-Out-WEB packet-mark=packet_web-out parent=WAN1-Out queue=pcq-upload-default
add name=WAN1-In-VoIP packet-mark=packet_voip-in parent=WAN1-In queue=pcq-download-default
add name=WAN1-In-RDP packet-mark=packet_rdp-in parent=WAN1-In queue=pcq-download-default
add name=WAN1-In-DNS packet-mark=packet_dns-in parent=WAN1-In queue=pcq-download-default
add name=WAN1-In-Other packet-mark=packet_other-in parent=WAN1-In queue=pcq-download-default
add name=WAN1-Out-VoIP packet-mark=packet_voip-out parent=WAN1-Out queue=pcq-upload-default
add name=WAN1-Out-RDP packet-mark=packet_rdp-out parent=WAN1-Out queue=pcq-upload-default
add name=WAN1-out-DNS packet-mark=packet_dns-out parent=WAN1-Out queue=pcq-upload-default
add name=WAN1-out-Other packet-mark=packet_other-out parent=WAN1-Out queue=pcq-upload-default
Ограничения и приоритеты QoS
Помним, что у нас 4Мбит и 10 пользователей в сети, RDP и IP телефония в приоритете по трафику.
- Limit At — гарантированная скорость
- Max Limit — максимальная скорость
- Priority — приоритет над другим трафиком (1 выше, 8 ниже)
В случае точного понимания используемой скорости — приоритет можно не указывать, то есть оставить 8.
IP Телефония
10 пользователей одновременно занимают 800Кбит, выделяем с запасом 900Кбит и гарантированные 800Кбит
RDP
DNS
WEB
Другой трафик
В примере с 4Мбит каналом все сильно ужато, но на более быстрых каналах лучше выдавать гарантированные несколько мегабит для другого трафика.
Global
Заключение
Заниматься QoS следует всегда, минимальная настройка для дома помогает в большинстве случаев на жирных каналах. На медленных, как в примере этой статьи 4Мбит без тонкого QoS не обойтись.
QoS правится в процесс эксплуатации под реалии бизнеса, вырастает количество сотрудников, увеличивается или появляется новый интернет канал, а может и подключаются новые филиалы по туннелям, где так же нужно учитывать трафик.
Для поиска
MikroTik QoS, SIP гарантированная скорость IP телефонии и RDP, приоритет трафика MikoPBX, ВАТС, Ростелеком, Zadarma. Mango, Multifon, Novofon и других операторов.