Разрешить пинг только в одном направлении
Как разрешить пинг с первого компьютера на второй, но заблокировать пинг со второго компьютера на первый?
Я создал это правило брандмауэра на обоих маршрутизаторах Mikrotik:
add action=accept chain=forward dst-address=192.168.100.17 protocol=icmp \
src-address=192.168.11.252
add action=accept chain=forward dst-address=192.168.11.252 protocol=icmp \
src-address=192.168.100.17
add action=drop chain=forward
Если я отключу первое или второе правило, ни один из пингов не сработает. Если я разрешу и то и другое, пинг работает на обоих ПК.
2 ответа
И "пинг" запросы и ответы являются ICMP. Таким образом, одно правило разрешает запрос, а другое - ответ в любом направлении.
Вы можете сопоставить отдельные типы пакетов ICMP, используя icmp-options=Type[:Code]
, Согласно этому сайту, эхо-запросы относятся к типу 8, а ответы - к типу 0.
Обратите внимание, что ICMP - это нечто большее, чем просто пинг. На самом деле не стоит отказываться от сообщений об ошибках ICMP.
Для тех, кому нужен ответ:
На обоих маршрутизаторах я сопоставил ICMP тип 0 (эхо-ответ) с правилом:
add action=accept chain=forward dst-address=192.168.100.17 protocol=icmp \
src-address=192.168.11.252
На обоих маршрутизаторах я сопоставил ICMP тип 8 (эхо-запрос) с правилом:
add action=accept chain=forward dst-address=192.168.11.252 protocol=icmp \
src-address=192.168.100.17
Полные правила на обоих роутерах:
add action=accept chain=forward dst-address=192.168.100.17 icmp-options=0:0-255 \
protocol=icmp src-address=192.168.11.252
add action=accept chain=forward dst-address=192.168.11.252 icmp-options=8:0-255 \
protocol=icmp src-address=192.168.100.17
add action=drop chain=forward
Так с 192.168.100.17 до 192.168.11.252 - пинг работает.
С 192.168.11.252 по 192.168.100.17 - пинг не работает.