Доброго времени суток Есть замечательный проект http://www.zeroflux.org/projects/knock, призван открывать 22 порт и закрывать(или выполнять что то другое), постучавшись на определенные порты. Установил, настроил, но что то не хочет работать.
Конфиг /etc/knockd.conf:
[options]
logfile = /var/log/knockd.log
[openSSH]
sequence = 7000,8000,9000
seq_timeout = 10
tcpflags = syn
command = /usr/sbin/iptables -A INPUT -s 5.5.5.5 -p tcp --dport 22 -j ACCEPT
[closeSSH]
sequence = 9000,8000,7000
seq_timeout = 10
tcpflags = syn
command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
Логи /var/log/knockd.log:
[2017-07-02 21:16] starting up, listening on eth0
[2017-07-02 21:40] waiting for child processes...
[2017-07-02 21:40] shutting down
[2017-07-02 21:40] starting up, listening on eth0
[2017-07-02 21:42] waiting for child processes...
[2017-07-02 21:42] shutting down
[2017-07-02 21:42] starting up, listening on eth0
[2017-07-02 21:47] waiting for child processes...
[2017-07-02 21:47] shutting down
[2017-07-02 21:47] starting up, listening on eth0
[2017-07-02 21:49] waiting for child processes...
[2017-07-02 21:49] shutting down
[2017-07-02 21:49] waiting for child processes...
[2017-07-02 21:49] shutting down
[2017-07-02 21:50] starting up, listening on eth0
В терминале набираю:
knock -v my-server-ip 7000 8000 9000
hitting tcp my-server-ip:7000
hitting tcp my-server-ip:8000
hitting tcp my-server-ip:9000
После этого как бэ должно в iptables появится новое правило -s 5.5.5.5 -p tcp --dport 22 -j ACCEPT, но там ничего не появляется. Если посто в терминале ввести правило то появляется. Пробовал флаги менять на fin|syn|rst|psh|ack|urg не помогло.
Политика iptables INPUT ACCEPT если это важно.
service knockd status
● knockd.service - Port-Knock Daemon
Loaded: loaded (/lib/systemd/system/knockd.service; static; vendor preset: disabled)
Active: active (running) since Sun 2017-07-02 21:16:27 MSK; 24min ago
Docs: man:knockd(1)
Main PID: 4020 (knockd)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/knockd.service
└─4020 /usr/sbin/knockd
Что я делаю не так? Почему не хочет работать(