iptables ... -j DROP, кажется, оставляет соединения открытыми?

Так что извините, если это глупый вопрос, я не большой специалист по сетевым технологиям. Сервер друзей затопляется определенным IP-адресом, что довольно очевидно, если посмотреть на вывод tcptraceЕсть сотни соединений с состоянием "СБРОС".

Я сделал очевидную вещь и заблокировал указанный IP-адрес с помощью iptables:

iptables -I INPUT -s <bad guy> -j DROP

Что, насколько я понимаю, должно сработать. Теперь вместо "RESET" соединения отображаются как "SYN_SENT" в tcptraceчто не имеет смысла для меня.

Я что-то пропускаю? Нужно ли предпринять некоторые дополнительные шаги, чтобы ядро ​​полностью сбросило соединение?

РЕДАКТИРОВАТЬ:

Дополнительная странность заключается в том, что ни при наличии, ни без правила iptables какие-либо странные соединения обнаруживаются с netstat -tuna (Должен любить эту команду), который я прочитал несколько раз, не должно быть так.

1 ответ

Решение

Что, насколько я понимаю, должно сработать. Теперь вместо "RESET" соединения отображаются как "SYN_SENT" в tcptrace, что для меня не имеет смысла.

Важная вещь, которую следует помнить о большинстве инструментов, основанных на pcap, заключается в том, что pcap обычно захватывает меньше в сетевом стеке ядра, чем любой код сетевого фильтра. Таким образом, пакет, который вы отбросили с помощью iptables, все еще будет поступать на интерфейс и перехватываться.

Вы видите пакеты трафика SYN в своем захвате, но они, вероятно, не передаются ни к чему другому в системе, предполагая, что ваше правило правильно соответствует трафику. Посмотри на прилавки (iptables -nvL) для правила, чтобы проверить дважды.

с правилом iptables или без него, какие-либо странные соединения обнаруживаются с помощью netstat -tuna

С этим правилом мы, очевидно, ожидаем ничего не увидеть, так что это не так уж много сюрпризов. Не уверен, почему ты ничего не видел без правила. Хотя я бы наверное использовал ss -nut по netstat.

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