К сожалению, у меня это не работает. Вот что я сделал (правило №6 создано, как было предложено здесь):
6 ;;; правило пересылки для подсети/IP, направленных в очереди — только для established/related
chain=forward action=accept connection-state=established,related src-address-list=alist_to_s-queue log=no log-prefix=""
7 ;;; правило FastTrack — только для established/related
chain=forward action=fasttrack-connection connection-state=established,related log=no log-prefix=""
8 ;;; правило принятия пересылки — запасной вариант для пакетов, которым FastTrack не подходит — только для established/related
chain=forward action=accept connection-state=established,related log=no log-prefix=""
Где “alist_to_s-queue” — это список адресов, который содержит:
5 alist_to_s-queue 192.168.1.31 feb/24/2019 20:13:18
6 alist_to_s-queue 192.168.100.0/24 feb/25/2019 17:36:17
simple queue:
0 name="q_limit NeT-OfficE" target=192.168.100.0/24 parent=none packet-marks="" priority=8/8 queue=default-small/default-small limit-at=0/0 max-limit=2M/5M burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s bucket-size=0.1/0.1
Объяснение кажется логичным, потому что правило №6 должно совпадать с подсетью 192.168.100.0/24, и тогда брандмауэр должен остановить дальнейшую обработку правил ниже, но трафик с 192.168.100.0/24 никогда не попадает в простую очередь. По ощущениям, правило FastTrack всегда выполняется первым, независимо от его позиции в последовательности.
Само правило очереди в порядке, потому что если я отключаю правило FastTrack, то простая очередь начинает работать, как и ожидалось.
У меня ROS 6.43.12 на hEX S. Есть советы?