2. Приоритизация трафика

ROS

В небольших организациях необходимо не столько резать скорость, сколько приоритизировать нужный трафик.
Для построения дерева очередей сначала необходимо промаркировать соединения и на их основе пакеты.

За основу я возьму сконфигурированный в прошлой статье микрот.

1. Маркировка трафика

Начнём с управляющего трафика

Добавляем правило, которое в цепочке prerouting маркирует новые соединения по протоколу tcp, идущие на порты 8391 (Winbox) и 22 (ssh)
IP -> Firewall -> Mangle -> Плюсик

Затем правило, которое в цепочке prerouting маркирует пакеты в соединениях, промаркированных Manage_conn
IP -> Firewall -> Mangle -> Плюсик

В текущей настройке я исключу из диапазона раздаваемых внутри сети адресов адреса с 10.10.10.2 по 10.10.10.100 и впоследствии буду назначать их вручную (серверам и т.д.).

IP -> Pool -> Вкладка Pools -> Двойной клик по строке с диапазоном

Исправляем 2 на 100

Если у нас будет/есть SIP-телефония, то сначала нужно создать список IP-адресов серверов телефонии стоящих "снаружи" и добавить в их список SIP-Servers-Outside, а IP-адреса серверов "внутри" в список SIP-Servers-Inside.

Я для примера добавлю 2 адреса: 1.1.1.1 в список внешних серверов SIP-Servers-Outside и адрес 10.10.10.10 в список SIP-Servers-Inside
У вас, конечно же, будут свои адреса, которые и нужно подставить вместо указанных для примера.

IP -> Firewall -> Вкладка Address Lists -> Плюсик

Маркируем соединения для SIP
IP -> Firewall -> Mangle -> Плюсик

IP -> Firewall -> Mangle -> Плюсик

Маркируем пакеты внутри соединений.
IP -> Firewall -> Mangle -> Плюсик

Маркируем DNS-запросы по протоколу tcp и по протоколу udp.
IP -> Firewall -> Mangle -> Плюсик

IP -> Firewall -> Mangle -> Плюсик

IP -> Firewall -> Mangle -> Плюсик

Маркируем HTTP/HTTPS-трафик.
IP -> Firewall -> Mangle -> Плюсик

IP -> Firewall -> Mangle -> Плюсик

Маркируем RDP-трафик.
IP -> Firewall -> Mangle -> Плюсик

IP -> Firewall -> Mangle -> Плюсик

Маркируем весь остальной трафик.
IP -> Firewall -> Mangle -> Плюсик

IP -> Firewall -> Mangle -> Плюсик

То же в терминале (не забудьте поменять адреса серверов телефонии перед копи/пастом):


/ip pool set [find name=local] ranges=10.10.10.100-10.10.10.254
/ip firewall address-list add list=SIP-Servers-Outside address=1.1.1.1 disabled=no
/ip firewall address-list add list=SIP-Servers-Inside address=10.10.10.10 disabled=no
/ip firewall mangle
add action=mark-connection chain=prerouting  protocol=tcp connection-state=new dst-port=8391,22 new-connection-mark=Manage_conn passthrough=yes comment="Manage_connections"
add action=mark-packet chain=prerouting connection-mark=Manage_conn new-packet-mark=Manage_packets passthrough=no comment="Manage_packets"
add action=mark-connection chain=prerouting connection-state=new dst-address-list=SIP-Servers-Outside new-connection-mark=SIP_Conn passthrough=yes src-address-list=SIP-Servers-Inside/Clients comment=SIP-Out
add action=mark-connection chain=prerouting connection-state=new dst-address-list=SIP-Servers-Inside/Clients new-connection-mark=SIP_Conn passthrough=yes src-address-list=SIP-Servers-Outside comment=SIP-In
add action=mark-packet chain=prerouting connection-mark=SIP_Conn new-packet-mark=SIP_Packets passthrough=no comment=SIP_Packets
add action=mark-connection chain=prerouting connection-state=new dst-port=53 new-connection-mark=DNS_connections passthrough=yes protocol=tcp comment=DNS_tcp_connections
add action=mark-connection chain=prerouting connection-state=new dst-port=53 new-connection-mark=DNS_connections passthrough=yes protocol=udp comment=DNS_udp_connections
add action=mark-packet chain=prerouting connection-mark=DNS_connections new-packet-mark=DNS_Packets passthrough=no comment=DNS-packets
add action=mark-connection chain=prerouting connection-state=new dst-port=80,443 new-connection-mark=HTTP_Connections passthrough=yes protocol=tcp comment=HTTP_Connections
add action=mark-packet chain=prerouting connection-mark=HTTP_Connections new-packet-mark=HTTP_Packets passthrough=no comment=HTTP_Packets
add action=mark-connection chain=prerouting connection-state=new dst-port=3389 new-connection-mark=RDP_Connections passthrough=yes protocol=tcp comment=RDP_Connections
add action=mark-packet chain=prerouting connection-mark=RDP_Conn new-packet-mark=RDP_Packets passthrough=no comment=RDP_Packets
add action=mark-connection chain=prerouting connection-state=new connection-mark=no-mark new-connection-mark=All_Other_Connections passthrough=yes comment=Other_Connections
add action=mark-packet chain=prerouting connection-mark=All_Other_Connections new-packet-mark=All_Other_Packets passthrough=no comment=Other_Packets
2. Настройка очередей

Queues -> Вкладка Queue Tree -> Плюсик

Последовательно добавляем правила с параметрами, приведенными в таблице.

Кратко о параметрах:

  • Parent - родительская очередь

  • Packet Marks - маркировка обрабатываемых пакетов

  • Priority - приоритет (максимальный или высший- 1, минимальный или низший - 8)

  • Limit At - гарантированная скорость

  • Max Limit - максимальная скорость

  • Burst Limit - максимальная скорость в режиме вспышка (Burst)

  • Burst Threshold> и Burst Time - параметры для расчета длительности режима вспышка

То же в терминале:


/queue tree
add name=LAN-queue parent=LAN max-limit=50M
add name=WAN-queue parent=ether1 max-limit=50M
add name=SIP-LAN parent=LAN-queue packet-mark=SIP_Packets priority=4 limit-at=4M max-limit=10M burst-limit=15M burst-threshold=7M burst-time=16
add name=SIP-WAN parent=WAN-queue packet-mark=SIP_Packets priority=4 limit-at=4M max-limit=10M burst-limit=15M burst-threshold=7M burst-time=16
add name=DNS-LAN parent=LAN-queue packet-mark=DNS_Packets  priority=5 limit-at=1M max-limit=2M
add name=DNS-WAN parent=WAN-queue packet-mark=DNS_Packets  priority=5 limit-at=1M max-limit=2M
add name=RDP-LAN parent=LAN-queue packet-mark=RDP_Packets   priority=6 limit-at=5M max-limit=10M
add name=RDP-WAN parent=WAN-queue packet-mark=RDP_Packets   priority=6 limit-at=5M max-limit=10M
add name=HTTP-LAN parent=LAN-queue packet-mark=HTTP_Packets priority=7 limit-at=5M max-limit=20M burst-limit=25M burst-threshold=15M burst-time=16
add name=HTTP-WAN parent=WAN-queue packet-mark=HTTP_Packets priority=7 limit-at=5M max-limit=20M burst-limit=25M burst-threshold=15M burst-time=16
add name=Other-LAN parent=LAN-queue packet-mark=All_Other_Packets priority=8 limit-at=2M max-limit=8M burst-limit=12M burst-threshold=7M burst-time=16
add name=Other-WAN parent=WAN-queue packet-mark=All_Other_Packets priority=8 limit-at=2M max-limit=8M burst-limit=12M burst-threshold=7M burst-time=16

На этом приоритизацию трафика можно считать настроенной. В данном примере подразумевается, что провайдер выдает вам максимально 50M.

При других вводных расчет скоростей, лимитов и т.д. вам нужно будет произвести самостоятельно

3. В терминале одним блоком

Традиционно настройка из терминала (все вышеописанное одним блоком вставить в терминал).


/ip pool set [find name=local] ranges=10.10.10.100-10.10.10.254
/ip firewall address-list add list=SIP-Servers-Outside address=1.1.1.1 disabled=no
/ip firewall address-list add list=SIP-Servers-Inside address=10.10.10.10 disabled=no
/ip firewall mangle
add action=mark-connection chain=prerouting  protocol=tcp connection-state=new dst-port=8391,22 new-connection-mark=Manage_conn passthrough=yes comment="Manage_connections"
add action=mark-packet chain=prerouting connection-mark=Manage_conn new-packet-mark=Manage_packets passthrough=no comment="Manage_packets"
add action=mark-connection chain=prerouting connection-state=new dst-address-list=SIP-Servers-Outside new-connection-mark=SIP_Conn passthrough=yes src-address-list=SIP-Servers-Inside/Clients comment=SIP-Out
add action=mark-connection chain=prerouting connection-state=new dst-address-list=SIP-Servers-Inside/Clients new-connection-mark=SIP_Conn passthrough=yes src-address-list=SIP-Servers-Outside comment=SIP-In
add action=mark-packet chain=prerouting connection-mark=SIP_Conn new-packet-mark=SIP_Packets passthrough=no comment=SIP_Packets
add action=mark-connection chain=prerouting connection-state=new dst-port=53 new-connection-mark=DNS_connections passthrough=yes protocol=tcp comment=DNS_tcp_connections
add action=mark-connection chain=prerouting connection-state=new dst-port=53 new-connection-mark=DNS_connections passthrough=yes protocol=udp comment=DNS_udp_connections
add action=mark-packet chain=prerouting connection-mark=DNS_connections new-packet-mark=DNS_Packets passthrough=no comment=DNS-packets
add action=mark-connection chain=prerouting connection-state=new dst-port=80,443 new-connection-mark=HTTP_Connections passthrough=yes protocol=tcp comment=HTTP_Connections
add action=mark-packet chain=prerouting connection-mark=HTTP_Connections new-packet-mark=HTTP_Packets passthrough=no comment=HTTP_Packets
add action=mark-connection chain=prerouting connection-state=new dst-port=3389 new-connection-mark=RDP_Connections passthrough=yes protocol=tcp comment=RDP_Connections
add action=mark-packet chain=prerouting connection-mark=RDP_Conn new-packet-mark=RDP_Packets passthrough=no comment=RDP_Packets
add action=mark-connection chain=prerouting connection-state=new connection-mark=no-mark new-connection-mark=All_Other_Connections passthrough=yes comment=Other_Connections
add action=mark-packet chain=prerouting connection-mark=All_Other_Connections new-packet-mark=All_Other_Packets passthrough=no comment=Other_Packets
/queue tree
add name=LAN-queue parent=LAN max-limit=50M
add name=WAN-queue parent=ether1 max-limit=50M
add name=SIP-LAN parent=LAN-queue packet-mark=SIP_Packets priority=4 limit-at=4M max-limit=10M burst-limit=15M burst-threshold=7M burst-time=16
add name=SIP-WAN parent=WAN-queue packet-mark=SIP_Packets priority=4 limit-at=4M max-limit=10M burst-limit=15M burst-threshold=7M burst-time=16
add name=DNS-LAN parent=LAN-queue packet-mark=DNS_Packets  priority=5 limit-at=1M max-limit=2M
add name=DNS-WAN parent=WAN-queue packet-mark=DNS_Packets  priority=5 limit-at=1M max-limit=2M
add name=RDP-LAN parent=LAN-queue packet-mark=RDP_Packets   priority=6 limit-at=5M max-limit=10M
add name=RDP-WAN parent=WAN-queue packet-mark=RDP_Packets   priority=6 limit-at=5M max-limit=10M
add name=HTTP-LAN parent=LAN-queue packet-mark=HTTP_Packets priority=7 limit-at=5M max-limit=20M burst-limit=25M burst-threshold=15M burst-time=16
add name=HTTP-WAN parent=WAN-queue packet-mark=HTTP_Packets priority=7 limit-at=5M max-limit=20M burst-limit=25M burst-threshold=15M burst-time=16
add name=Other-LAN parent=LAN-queue packet-mark=All_Other_Packets priority=8 limit-at=2M max-limit=8M burst-limit=12M burst-threshold=7M burst-time=16
add name=Other-WAN parent=WAN-queue packet-mark=All_Other_Packets priority=8 limit-at=2M max-limit=8M burst-limit=12M burst-threshold=7M burst-time=16


Fuse

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