Mikrotik. Ограничение скорости трафика. Очереди. Queue tree: различия между версиями

Материал из Wiki
Перейти к навигации Перейти к поиску
Строка 13: Строка 13:
== Настройка ==
== Настройка ==


=== Ограничим скорость определенных IP-адресов или IP-листов по протоколам '''HTTP/HTTPS при доступе в сеть интернет''' ===
=== Ограничим скорость определенных IP-адресов или IP-листов по протоколам '''HTTP/HTTPS''' при доступе в сеть интернет ===
Добавим IP пользователей в адрес-листы
Добавим IP пользователей в адрес-листы


Строка 56: Строка 56:
<code>add limit-at=4M max-limit=4M name=privil_upload_wan2 packet-mark=p-privil-80 parent=ether4-wan2</code>
<code>add limit-at=4M max-limit=4M name=privil_upload_wan2 packet-mark=p-privil-80 parent=ether4-wan2</code>


=== Ограничим скорость всех пользователей сети 192.168.17.0/24 до всех IP-адресов сети 192.168.124.0/24 ===
=== Ограничим входящую скорость всех пользователей сети 192.168.17.0/24 до всех IP-адресов сети 192.168.124.0/24 ===
Помечаем соединения и пакеты
Помечаем соединения и пакеты



Версия 17:02, 7 июля 2022


Входные данные

bridge-local - локальный интерфейс LAN

192.168.17.0/24 - локальная сеть

ether3-wan1, ether4-wan2 - внешние интерфейсы, смотрящие на 1-го и 2-го провайдеров соответственно

users, privil - группы (адрес-листы) пользователей

Настройка

Ограничим скорость определенных IP-адресов или IP-листов по протоколам HTTP/HTTPS при доступе в сеть интернет

Добавим IP пользователей в адрес-листы

/ip firewall address-list

add address=192.168.17.160/27 comment=users list=users

add address=192.168.17.20 comment=privil list=privil

Маркируем соединения http/https в соответствии с source IP (из адрес-листов) локальной сети, а внутри них маркируем пакеты

/ip firewall mangle

add action=mark-connection chain=prerouting comment=mark-conn-http_users-list connection-nat-state="" dst-port=80,8080,443 new-connection-mark=c-users-80 passthrough=yes protocol=tcp src-address-list=users

add action=mark-packet chain=prerouting comment=mark-packet-http_users-list connection-mark=c-users-80 new-packet-mark=p-users-80 passthrough=yes

add action=mark-connection chain=prerouting comment=mark-conn-http_privil-list connection-nat-state="" dst-port=80,8080,443 new-connection-mark=c-privil-80 passthrough=yes protocol=tcp src-address-list=privil

add action=mark-packet chain=prerouting comment=mark-packet-http_privil-list connection-mark=c-privil-80 new-packet-mark=p-privil-80 passthrough=yes

Скорость ограничивается исходящая, то есть чтобы ограничить исходящую скорость в интернет - ограничиваем исходящую скорость на интерфейсах ether3-wan1, ether4-wan2

Чтобы ограничить входящую скорость с локальную сеть к пользователям - ограничиваем исходящую скорость на интерфейсе bridge-local

Скорость пользователям ограничивается исходя из деления поровну между всеми в данный момент имеющими трафик IP локальными адресами в соответствии с выставленной скоростью на интерфейсе

То есть, на bridge-local для users (packet-mark=p-users-80) выставили max-limit=10m, значит, если несколько пользователей будут что-то одновременно скачивать, то для каждого будет ограничение в 2,5 МБит/с

/queue tree

add limit-at=10M max-limit=10M name=users_download packet-mark=p-users-80 parent=bridge-local

add limit-at=10M max-limit=10M name=users_upload_wan1 packet-mark=p-users-80 parent=ether3-wan1

add limit-at=2M max-limit=2M name=users_upload_wan2 packet-mark=p-users-80 parent=ether4-wan2

add limit-at=20M max-limit=20M name=privil_download packet-mark=p-privil-80 parent=bridge-local

add limit-at=20M max-limit=20M name=privil_upload_wan1 packet-mark=p-privil-80 parent=ether3-wan1

add limit-at=4M max-limit=4M name=privil_upload_wan2 packet-mark=p-privil-80 parent=ether4-wan2

Ограничим входящую скорость всех пользователей сети 192.168.17.0/24 до всех IP-адресов сети 192.168.124.0/24

Помечаем соединения и пакеты

/ip firewall mangle

add action=mark-connection chain=prerouting comment=mark-conn-dst-net124 connection-nat-state="" dst-address=192.168.124.0/24 new-connection-mark=\

   conn-dst-net124 passthrough=yes protocol=tcp src-address=192.168.17.0/24

add action=mark-packet chain=prerouting comment=mark-packet-dst-net124 connection-mark=conn-dst-net124 new-packet-mark=packet-dst-net124 passthrough=yes

Ограничиваем скорость

/queue tree

add limit-at=20M max-limit=20M name=from-net17-to-net124-limit packet-mark=packet-dst-net124 parent=bridge-local