Что не так с knockd?

Я пытаюсь реализовать порт, стучащий для ssh сервиса на мой персональный сервер. У меня есть два других услуг общего пользования, которые всегда будут открыты. Мои правила iptables похожи на это:

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source         destination         
 7229  545K ACCEPT     all  --  any    any     anywhere             anywhere             ctstate RELATED,ESTABLISHED
0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:4352
0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:25565

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 4 packets, 448 bytes)
 pkts bytes target     prot opt in     out     source               destination

Мой knockd.conf файл в в/etc/knockd.conf похож на это:

[options]
 logfile = /var/log/knockd.log

[SSH]
sequence = 7000,8000,9000
seq_timeout = 15
tcpflags = syn
start_command = /sbin/iptables -D INPUT 1 -s %IP% -p tcp --dport ssh -j ACCEPT
cmd_timeout = 10
stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

У меня также есть файл/etc/default/knockd

################################################
#
# knockd's default file, for generic sys config
#
################################################

# control if we start knockd at init or not
# 1 = start
# anything else = don't start
#
# PLEASE EDIT /etc/knockd.conf BEFORE ENABLING
START_KNOCKD=1

# command line options
#KNOCKD_OPTS="-i eth1"

При выполнении sudo/etc/init.d/knockd обычно перезапускают выполнения. Файл журнала просто говорит, что knockd запустился.

На стороне клиента я выполняю удар-v 7 000$address 8000 9000. Вывод говорит:

hitting tcp x.x.x.x:7000
hitting tcp x.x.x.x:8000
hitting tcp x.x.x.x:9000

Однако попытка соединить урожаи никакой результат и правила iptables неизменна. Что я делаю неправильно?

Править

Конечно, как только я отправляю этот вопрос, мой ssh терминал решает перестать работать, и теперь я заблокирован из сервера в течение двух недель, пока я не могу на самом деле добраться до него. Не торопитесь, это не похоже, я могу сделать что-либо с информацией в ближайшее время.

1
задан 16 November 2014 в 08:00

3 ответа

Я ничего не вижу неправильно ни с чем, что Вы отправили, таким образом, необходимо будет, вероятно, диагностировать (после того, как проверка ps -aux|grep knockd или tail'ing вход в систему knockd, сервер доказывает knockd, будет работать):

  • я ввел бы команду в iptables, который регистрирует поступления от Вашего стука ПК, затем используйте хвост-f на файле /var/log/kern.log, чтобы видеть, позволяются ли порты, которые Вы выбрали, через от начала до конца. Знайте, что Ваша система не могла бы использовать файл /var/log/kern.log, хотя моя делает.

Примером - (входят, это на knockd сервере с su питанием, cxx.xxx.xxx.xxx является IP-адрес клиентского дверного молоточка) iptables -w -I INPUT 1 -s cxx.xxx.xxx.xxx -j LOG; tail -n-0 -f /var/log/kern.log|stdbuf -o0 grep cxx.xxx.xxx.xxx

, Затем отправляют удары от клиента, наблюдая вывод команды выше. Если удары не становятся зарегистрированными, то на клиенте командная строка разделяет каждый удар порта сном 1. Командная строка для этого была бы похожа knock sxx.xxx.xxx.xxx nnnn1;sleep1;knock sxx.xxx.xxx.xxx nnnn2;sleep 1;knock sxx.xxx.xxx.xxx nnnn3;sleep 1..., где sxx.xxx.xxx.xxx является IP сервера, и nnnn1,2,3,4 являются портами в последовательности удара. Если это все еще не работает, используют регистрирующуюся технику на Вашем клиенте (установите iptables/netfilter и поместите правило ЖУРНАЛА в ВЫХОДНУЮ цепочку с-d sxx.xxx.xxx.xxx; хвост-f клиентский файл журнала)

, Если Вы находите все удары, становятся зарегистрированными очень хорошо в клиентский дверной молоточек, затем дополнительные шаги поиска и устранения неисправностей требуются. (1-й шаг - Быть уверенным Ваш knockd.conf становится найденным knockd, как он запускается.) Отправляют Ваши результаты для справки с дальнейшим поиском и устранением неисправностей. ISP в одном конце или другой или Ваш [Wi-Fi] маршрутизатор мог бы блокировать более высокие пронумерованные порты. Я нашел, что сеть моего оператора сотовой связи, казалось, заблокировала мои удары с моего смартфона.

2
ответ дан 10 November 2019 в 19:21

Я знаю, что это довольно старо, но я думаю, что вижу Вашу проблему

, Ваша команда запуска start_command = /sbin/iptables -D

, Который должен быть -A не -D

1
ответ дан 10 November 2019 в 19:21

insted добавления его лучше вставить так-I

попытки отмечены, некоторые improvments: * *

[опции]

***useSyslog***

файл журнала = /var/log/knockd.log

[SSH] последовательность = 7000,8000,9000 seq_timeout = 15 tcpflags = syn start_command =/sbin/iptables -I ВВЕЛ 1 с %IP, %-p tcp - dport ssh-j ПРИНИМАЮТ cmd_timeout =, 10 stop_command =/sbin/iptables-D ВВОДЯТ-s %IP %-p tcp - dport 22-j ПРИНИМАЕТ

0
ответ дан 10 November 2019 в 19:21

Другие вопросы по тегам:

Похожие вопросы: