Маркировка соединений и пакетов

Раздел для тех, кто начинает знакомиться с MikroTik
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
Ответить
Schatten
Сообщения: 4
Зарегистрирован: 15 дек 2012, 23:35

Здравствуйте.
Провайдер предоставляет доступ ко внутренним ресурсам на повышенной скорости по сравнению с доступом в интернет. Хотелось бы отмаркировать трафик ко внутренним и внешним ресурсам и раскидывать его по своим очередям для обеспечения нужного качества обслуживания. Но где и как маркировать? Например, здесь маркируются исходящие соединения с сервера в цепочке prerouting, а пакеты -- в forward. Однако я часто видел в примерах, что маркировка и того, и другого делается или в prerouting, или в forward. Кроме этого, почему не маркируются входящие соединения и пакеты как это сделано в случае маркировки только пакетов, например, здесь?
Объясните, пожалуйста, или дайте ссылки где это всё "разжёвано". Заранее благодарен.

P. S.
Здесь схема следования справедлива как для исходящих пакетов, так и входящих?


Аватара пользователя
algerka
Сообщения: 407
Зарегистрирован: 14 дек 2011, 12:31



Александр
Schatten
Сообщения: 4
Зарегистрирован: 15 дек 2012, 23:35

algerka писал(а):Читайте https://habrahabr.ru/post/131295/

Так, ну прочитал я это ещё раз, поскольку ранее уже читал, -- вопросы остались те же, разве что с цепочками стало чуть яснее. :-(


DmNuts
Сообщения: 120
Зарегистрирован: 18 май 2016, 18:33
Откуда: Иркутск

Если кратко: для обычных задач QoS достаточно маркировать только пакеты, исходящие С интерфейса. Поэтому маркируем в forward. Отдельными метками исходящий и входящий трафик.

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


Schatten
Сообщения: 4
Зарегистрирован: 15 дек 2012, 23:35

DmNuts писал(а):Если кратко: для обычных задач QoS достаточно маркировать только пакеты, исходящие С интерфейса. Поэтому маркируем в forward. Отдельными метками исходящий и входящий трафик.

Сейчас я так и делаю:

Код: Выделить всё

/ip firewall mangle add action=mark-packet chain=forward in-interface=ether1-gateway out-interface=ether2-master-local new-packet-mark=isp1Download
/ip firewall mangle add action=mark-packet chain=forward in-interface=ether2-master-local out-interface=ether1-gateway new-packet-mark=isp1Upload

Но меня интересует маркировка и соединений, и пакетов. И если с маркировкой пакетов более или менее понятно, то с маркировкой соединений не очень.


Schatten
Сообщения: 4
Зарегистрирован: 15 дек 2012, 23:35

Почитав документацию (в частности, эту и эту статьи), я попробовал настроить маршрутизатор следующим образом.
Поскольку исходящие соединения клиентов попадают в цепочку prerouting, и поскольку там находится блок "Connection tracking" (судя по схеме следования пакетов), то маркируем соединения именно здесь:

Код: Выделить всё

/ip firewall mangle add chain=prerouting action=mark-connection new-connection-mark=userConnection in-interface=ether2-master-local

Пакеты, которые попадают в цепочку prerouting, в качестве IP-адреса назначения имеют IP-адрес порта маршрутизатора, "смотрящего" в локальную сеть. IP-адрес интернет-ресурса пакеты получают в конце цепочки prerouting, где срабатывает Dst-NAT. Поэтому, маркировать пакеты нужно или в цепочке forward, или в postrouting:

Код: Выделить всё

/ip firewall mangle add chain=forward action=mark-packet new-packet-mark=peerResourcePacket connection-mark=userConnection dst-address-list=peerResources passthrough=no
/ip firewall mangle add chain=forward action=mark-packet new-packet-mark=internetResourcePacket connection-mark=userConnection passthrough=no

Таким образом, трафик от/к клиентам якобы будет промаркирован.
Чтобы обеспечить нужное качество обслуживания, я воспользовался простыми очередями:
 Команды

Код: Выделить всё

/queue simple add max-limit=100M/100M name=allTraffic queue=pcq-upload-default/pcq-download-default target=0.0.0.0/0

/queue simple add max-limit=95000k/95000k name=peerTraffic packet-marks=peerResourcePacket parent=allTraffic queue=pcq-upload-default/pcq-download-default target=0.0.0.0/0

/queue simple add max-limit=95000k/95000k name=user1_pt parent=peerTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=95000k/95000k name=user2_pt parent=peerTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=95000k/95000k name=user3_pt parent=peerTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=95000k/95000k name=user4_pt parent=peerTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=95000k/95000k name=user5_pt parent=peerTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=95000k/95000k name=user6_pt parent=peerTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=95000k/95000k name=user7_pt parent=peerTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=95000k/95000k name=user8_pt parent=peerTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>

/queue simple add max-limit=23750k/23750k name=internetTraffic parent=allTraffic queue=pcq-upload-default/pcq-download-default target=0.0.0.0/0

/queue simple add max-limit=23750k/23750k name=user1_it packet-marks=internetResourcePacket parent=internetTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=23750k/23750k name=user2_it packet-marks=internetResourcePacket parent=internetTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=23750k/23750k name=user3_it packet-marks=internetResourcePacket parent=internetTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=23750k/23750k name=user4_it packet-marks=internetResourcePacket parent=internetTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=23750k/23750k name=user5_it packet-marks=internetResourcePacket parent=internetTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=23750k/23750k name=user6_it packet-marks=internetResourcePacket parent=internetTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=23750k/23750k name=user7_it packet-marks=internetResourcePacket parent=internetTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=23750k/23750k name=user8_it packet-marks=internetResourcePacket parent=internetTraffic queue=pcq-upload-default/pcq-download-default target=<IP-адреса>
/queue simple add max-limit=23750k/23750k name=user9_it parent=internetTraffic queue=pcq-upload-default/pcq-download-default target=0.0.0.0/0

Однако, почему-то в очередях клиентов (как userX_pt, так и userX_it) не фиксируется входящий трафик, зато он фиксируется в родительской очереди internetTraffic и очереди user9_it, куда попадает неучтённый трафик (например, соединения с/к маршрутизатору).
В чём дело?


Ответить