Mikrotik. Ограничение скорости трафика. Очереди. Queue tree: различия между версиями
Cless (обсуждение | вклад) |
Cless (обсуждение | вклад) |
||
| Строка 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