Mikrotik. Ограничение скорости трафика. Очереди. Queue tree: различия между версиями
Cless (обсуждение | вклад) |
Cless (обсуждение | вклад) |
||
| (не показано 5 промежуточных версий этого же участника) | |||
| Строка 12: | Строка 12: | ||
== Настройка == | == Настройка == | ||
=== Ограничим скорость определенных IP-адресов или IP-листов по протоколам '''HTTP/HTTPS''' при доступе в сеть интернет === | |||
Добавим IP пользователей в адрес-листы | Добавим IP пользователей в адрес-листы | ||
<code>/ip firewall address-list</code> | <code>/ip firewall address-list</code> | ||
<code>add address=192.168.17.160/27 comment= | <code>add address=192.168.17.160/27 comment=users list=users</code> | ||
<code>add address=192.168.17.20 comment= | <code>add address=192.168.17.20 comment=privil list=privil</code> | ||
Маркируем соединения http/https в соответствии с source IP (из адрес-листов) локальной сети, а внутри них маркируем пакеты | Маркируем соединения http/https в соответствии с source IP (из адрес-листов) локальной сети, а внутри них маркируем пакеты | ||
| Строка 33: | Строка 33: | ||
<code>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</code> | <code>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</code> | ||
Скорость ограничивается '''исходящая''', то есть чтобы ограничить исходящую скорость в интернет - ограничиваем '''исходящую''' скорость на интерфейсах '''ether3-wan1''', '''ether4-wan2''' | |||
Чтобы ограничить входящую скорость с локальную сеть к пользователям - ограничиваем '''исходящую''' скорость на интерфейсе '''bridge-local''' | |||
Скорость пользователям ограничивается исходя из деления поровну между всеми в данный момент имеющими трафик IP локальными адресами в соответствии с выставленной скоростью на интерфейсе | |||
То есть, на '''bridge-local''' для '''users''' ('''packet-mark=p-users-80''') выставили '''max-limit=10m''', значит, если 4 пользователя будут что-то одновременно скачивать, то для каждого будет ограничение в '''2,5 МБит/с''' | |||
<code>/queue tree</code> | |||
<code>add limit-at=10M max-limit=10M name=users_download packet-mark=p-users-80 parent=bridge-local</code> | |||
<code>add limit-at=10M max-limit=10M name=users_upload_wan1 packet-mark=p-users-80 parent=ether3-wan1</code> | |||
<code>add limit-at=2M max-limit=2M name=users_upload_wan2 packet-mark=p-users-80 parent=ether4-wan2</code> | |||
<code>add limit-at=20M max-limit=20M name=privil_download packet-mark=p-privil-80 parent=bridge-local</code> | |||
<code>add limit-at=20M max-limit=20M name=privil_upload_wan1 packet-mark=p-privil-80 parent=ether3-wan1</code> | |||
<code>add limit-at=4M max-limit=4M name=privil_upload_wan2 packet-mark=p-privil-80 parent=ether4-wan2</code> | |||
=== Ограничим входящую скорость для всех IP-адресов сети 192.168.17.0/24 до всех IP-адресов сети 192.168.124.0/24 === | |||
Помечаем соединения и пакеты | |||
<code>/ip firewall mangle</code> | |||
<code>add action=mark-connection chain=prerouting comment=mark-conn-dst-net124 connection-nat-state="" dst-address=192.168.124.0/24 new-connection-mark=\</code> | |||
<code> conn-dst-net124 passthrough=yes protocol=tcp src-address=192.168.17.0/24</code> | |||
<code>add action=mark-packet chain=prerouting comment=mark-packet-dst-net124 connection-mark=conn-dst-net124 new-packet-mark=packet-dst-net124 passthrough=yes</code> | |||
Ограничиваем скорость | |||
<code>/queue tree</code> | |||
<code>add limit-at=20M max-limit=20M name=from-net17-to-net124-limit packet-mark=packet-dst-net124 parent=bridge-local</code> | |||
Текущая версия на 10:23, 31 августа 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, значит, если 4 пользователя будут что-то одновременно скачивать, то для каждого будет ограничение в 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
Ограничим входящую скорость для всех IP-адресов сети 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