Конфиг knockd:
[CFG01]
sequence = 27000:udp,27001:udp,27002:udp
seq_timeout = 7
command = /sbin/..........
Настройки iptables:
/sbin/iptables -A INPUT -p udp -m multiport --dports 27000,27001,27002,27003,27004 -j LOG --log-prefix "KNOCK packets"
/sbin/iptables -A INPUT -p udp -m multiport --dports 27000,27001,27002,27003,27004 -j DROP
Через nping посылаю одиночные пакеты на порты 27000-27005.
В логе получаю сообщения:
... KNOCK packets ... PROTO=UDP ... DPT=27000 ...
... KNOCK packets ... PROTO=UDP ... DPT=27001 ...
... KNOCK packets ... PROTO=UDP ... DPT=27002 ...
... KNOCK packets ... PROTO=UDP ... DPT=27003 ...
... KNOCK packets ... PROTO=UDP ... DPT=27004 ...
Здесь при поступлении комбинации пакетов запуск команды из конфига knockd выполняется, также появляются записи в логе от iptables.
Т.е. насколько я вижу, knockd работает как-то прозрачно для iptables (да и вообще для сети)?
Я сначала полагал, что knockd тупо открывает на прослушку заданные в конфиге порты и поэтому эти порты нужно пропускать в iptables...
Но реально получается, что knockd как-то получает сетевые пакеты раньше чем iptables?
Проясните пожалуйста эту тему!