Привет всем,
Я изучил схему потока пакетов (traverse), упомянутую в руководстве MK, которая мне кажется очень похожей на Packet Traverse в IPTABLES/NetFilter, встроенном в ядро Linux 2.4.xx. Но у меня есть недоумение в отношении критериев Input-Interface при сопоставлении пакета! Чтобы пояснить, приведу пример: чтобы запретить любой доступ к MK через Telnet ИЗ любого хоста, следующее правило работает достаточно хорошо:
/ip firewall filter add chain=input protocol=tcp dst-port=23 action=drop
Теперь, чтобы запретить доступ к MK через Telnet ИСКЛЮЧИТЕЛЬНО с хостов, подключенных к LAN-стороне MK (ether1=192.168.0.0/24), следующее правило должно работать:
/ip firewall filter add chain=input in-interface=ether1 protocol=tcp dst-port=23 action=drop
НО, это правило не работает должным образом и не блокирует доступ к MK! Я добавил правило для логирования перед ним, чтобы логировать все пакеты с dst.port 23. Что я обнаружил, так это то, что все пакеты с dst.port 23, приходящие на MK с LAN-стороны, имеют In-Interface=ether0 (WAN-интерфейс) и Out-Interface=none. Это очень странный случай! Мне хорошо известно, что любой хост на LAN-стороне MK захочет получить доступ к MK, он должен составить пакет с dst-address, равным любому из IP-адресов интерфейсов маршрутизатора MK, но они будут приходить только через Input Interface. В моем случае мне кажется, что пакеты меняют свой In-Interface в каких-то точках принятия решений маршрутизации до того, как они достигают цепочки INPUT. Я знаю, что эту проблему можно решить, используя другие критерии при сопоставлении пакета, но я хочу получить ответы, чтобы придерживаться критерия In-Interface, чтобы лучше понять, как пакеты перемещаются по цепочкам.
Заранее спасибо…
Moody
Я изучил схему потока пакетов (traverse), упомянутую в руководстве MK, которая мне кажется очень похожей на Packet Traverse в IPTABLES/NetFilter, встроенном в ядро Linux 2.4.xx. Но у меня есть недоумение в отношении критериев Input-Interface при сопоставлении пакета! Чтобы пояснить, приведу пример: чтобы запретить любой доступ к MK через Telnet ИЗ любого хоста, следующее правило работает достаточно хорошо:
/ip firewall filter add chain=input protocol=tcp dst-port=23 action=drop
Теперь, чтобы запретить доступ к MK через Telnet ИСКЛЮЧИТЕЛЬНО с хостов, подключенных к LAN-стороне MK (ether1=192.168.0.0/24), следующее правило должно работать:
/ip firewall filter add chain=input in-interface=ether1 protocol=tcp dst-port=23 action=drop
НО, это правило не работает должным образом и не блокирует доступ к MK! Я добавил правило для логирования перед ним, чтобы логировать все пакеты с dst.port 23. Что я обнаружил, так это то, что все пакеты с dst.port 23, приходящие на MK с LAN-стороны, имеют In-Interface=ether0 (WAN-интерфейс) и Out-Interface=none. Это очень странный случай! Мне хорошо известно, что любой хост на LAN-стороне MK захочет получить доступ к MK, он должен составить пакет с dst-address, равным любому из IP-адресов интерфейсов маршрутизатора MK, но они будут приходить только через Input Interface. В моем случае мне кажется, что пакеты меняют свой In-Interface в каких-то точках принятия решений маршрутизации до того, как они достигают цепочки INPUT. Я знаю, что эту проблему можно решить, используя другие критерии при сопоставлении пакета, но я хочу получить ответы, чтобы придерживаться критерия In-Interface, чтобы лучше понять, как пакеты перемещаются по цепочкам.
Заранее спасибо…
Moody
