Почитав документацию (в частности,
эту и
эту статьи), я попробовал настроить маршрутизатор следующим образом.
Поскольку исходящие соединения клиентов попадают в цепочку 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, куда попадает неучтённый трафик (например, соединения с/к маршрутизатору).
В чём дело?