цепочка icmp некорректно работает

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

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

Здравствуйте. Прошу помочь с проблемой. Я новичок в железе от Mikrotik. Сейчас настраиваю роутер для домашнего использования. Столкнулся с проблемой, что некорректно отрабатывают правила фаервола для пакетов ICMP. Пингую роутер с машины, подключенной непосредственно к одному из физических портов роутера, машина работает под управлением винды.
1. Если я пингую роутер командой ping 192.168.1.1, а затем в этом же окне командной строки пишу уже следующую команду ping -l 1500 192.168.1.1 (т.е. устанавливаю размер пакета больше лимита, прописанного в правиле фаервола), то пинг всё-равно отрабатывает, хотя роутер должен дропать такие пакеты.
2. Если я закрываю окно командной строки и сразу пишу команду ping -l 1500 192.168.1.1, то правила отрабатывают корректно и я вижу ответ "превышен интервал ожидания запроса".
Ощущение, что цепочка прерывается по какой-то причине: либо что-то не так настроено в самой цепочке, либо какие-то другие правила влияют на цепочку ICMP, поэтому привожу настройки фаервола целиком, а не только саму цепочку ICMP (её я выделил другим цветом).

По обыкновению знаю, что если что-то не работает, обычно косяк заключается в настройщике (т.е. в данном случае во мне). :ps_ih:

P.S. Интересно, что в интерфейсе роутера, при пинге в статистике цепочки я вижу, что учитывается только 1 пакет, а не 4.

/ip firewall filter
add action=accept chain=input comment="accept established, related, untracked" connection-state=established,related,untracked
add action=drop chain=input comment="drop invalid packages" connection-state=invalid add action=add-src-to-address-list address-list=port-scan-list address-list-timeout=2w chain=input comment="add to port scan detection list" psd=21,3s,3,1 src-address-list=!trusted_nodes
add action=jump chain=input comment="tcp port scan chain" jump-target=TCP_PORT_SCAN protocol=tcp src-address-list=!trusted_nodes
add action=add-src-to-address-list address-list=port-scan-list address-list-timeout=2w chain=TCP_PORT_SCAN comment="NMAP FIN scan" protocol=tcp src-address-list=!trusted_nodes tcp-flags=fin,!syn,!rst,!psh,!ack,!urg
add action=add-src-to-address-list address-list=port-scan-list address-list-timeout=2w chain=TCP_PORT_SCAN comment="SYN/FIN scan" protocol=tcp src-address-list=!trusted_nodes tcp-flags=fin,syn
add action=add-src-to-address-list address-list=port-scan-list address-list-timeout=2w chain=TCP_PORT_SCAN comment="SYN/RST scan" protocol=tcp src-address-list=!trusted_nodes tcp-flags=syn,rst
add action=add-src-to-address-list address-list=port-scan-list address-list-timeout=2w chain=TCP_PORT_SCAN comment="FIN/PSH/URG scan" protocol=tcp src-address-list=!trusted_nodes tcp-flags=fin,psh,urg,!syn,!rst,!ack
add action=add-src-to-address-list address-list=port-scan-list address-list-timeout=2w chain=TCP_PORT_SCAN comment="ALL/ALL scan" protocol=tcp src-address-list=!trusted_nodes tcp-flags=fin,syn,rst,psh,ack,urg
add action=add-src-to-address-list address-list=port-scan-list address-list-timeout=2w chain=TCP_PORT_SCAN comment="NMAP NULL scan" protocol=tcp src-address-list=!trusted_nodes tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg
add action=add-src-to-address-list address-list=connection-limit-list address-list-timeout=none-dynamic chain=input comment="connection limit" connection-limit=10,32 in-interface-list=!list2-LAN protocol=tcp
add action=tarpit chain=input comment="connection limit tarpit" protocol=tcp src-address-list=connection-limit-list
add action=jump chain=input comment="icmp chain" jump-target=ICMP protocol=icmp
add action=accept chain=ICMP comment="allow echo request" icmp-options=8:0 packet-size=0-128 protocol=icmp
add action=accept chain=ICMP comment="echo reply" icmp-options=0:0 packet-size=0-128 protocol=icmp
add action=accept chain=ICMP comment="net unreachable" icmp-options=3:0 packet-size=0-128 protocol=icmp
add action=accept chain=ICMP comment="host unreachable" icmp-options=3:1 packet-size=0-128 protocol=icmp
add action=accept chain=ICMP comment="host unreachable fragmentation required" icmp-options=3:4 packet-size=0-128 protocol=icmp
add action=accept chain=ICMP comment="allow time exceed" icmp-options=11:0 packet-size=0-128 protocol=icmp
add action=accept chain=ICMP comment="allow parameter bad" icmp-options=12:0 packet-size=0-128 protocol=icmp
add action=drop chain=ICMP comment="deny all other types"

add action=accept chain=input comment="accept only trusted nodes to connect to WinBox" dst-port=8291 protocol=tcp src-address-list=trusted_nodes
add action=drop chain=input comment="drop connection through the WAN interface list" in-interface-list=!list2-LAN
add action=accept chain=forward comment="allow traffic through the WAN interface list" out-interface-list=list1-WAN
add action=accept chain=forward comment="accept out ipsec policy" ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="fasttrack connection" connection-state=established,related
add action=accept chain=forward comment="accept established related untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="drop forwarding invalid packages" connection-state=invalid
add action=drop chain=forward comment="drop incoming packets that are not NAT`ted" connection-nat-state=!dstnat connection-state=new
/ip firewall raw
add chain=prerouting action=drop log=no log-prefix="" src-address-list=port-scan-list


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

У вас верхним правилом в цепочке input, как и положено - accept established/related.
Старое соединение не успевает отвалиться по таймауту и новые пакеты, которые не должны бы быть приняты на основании размера, продолжают приниматься этим правилом.

Собственно и со счетчками та же история - на остальных правилах учитывается только первый пакет соединения.

Если вам по какой-то причине надо проверять на какое-то условие каждый пакет соединения, а не только первый, то эти правила должны быть выше, чем accept established/related.
Но это в свою очередь чревато кратно возрастающей нагрузкой.


Telegram: @thexvo
nvdmike
Сообщения: 2
Зарегистрирован: 06 мар 2023, 23:16

xvo писал(а): 07 мар 2023, 08:39 У вас верхним правилом в цепочке input, как и положено - accept established/related.
Старое соединение не успевает отвалиться по таймауту и новые пакеты, которые не должны бы быть приняты на основании размера, продолжают приниматься этим правилом.

Собственно и со счетчками та же история - на остальных правилах учитывается только первый пакет соединения.

Если вам по какой-то причине надо проверять на какое-то условие каждый пакет соединения, а не только первый, то эти правила должны быть выше, чем accept established/related.
Но это в свою очередь чревато кратно возрастающей нагрузкой.
Спасибо огромное, очень помогли! :ya_hoo_oo: :smu:sche_nie:


Ответить