Вопрос или проблема
Я пытаюсь найти проблему с правилом брандмауэра, из-за которого пакеты теряются.
Я настроил TRACE и получил следующее:
TRACE: 1 79de9f86 filter:input:rule:0x17:DROP
Как мне найти, какое конкретно правило упоминается и вызывает потерю пакетов?
Ответ или решение
Чтобы найти конкретное правило в iptables, которое вызывает сброс пакетов, необходимо проанализировать вывод TRACE, который вы получили. В вашем случае у вас есть запись:
TRACE: 1 79de9f86 filter:input:rule:0x17:DROP
Эта строка указывает на то, что пакеты были обработаны правилом с индексом 0x17
, которое находится в цепочке input
таблицы filter
и выполняет действие DROP
. Вот шаги, которые вы должны выполнить, чтобы найти это правило:
-
Проверьте имеющиеся правила iptables: Используйте команду
iptables
для вывода правил в таблицеfilter
. Это поможет вам увидеть правила в цепочкеinput
и их индексы.sudo iptables -L INPUT -n --line-numbers
Обратите внимание, что ключевые слова
-n
отключают разрешение имен, что ускоряет вывод, а--line-numbers
добавляет номера строк к правилам, что может быть полезно для навигации. -
Поиск конкретного правила: Переведите
0x17
из шестнадцатеричного формата в десятичный.0x17
в десятичной системе равно23
. Это значит, что вы ищете 23-е правило в цепочкеINPUT
. -
Просмотр информации о правиле: Когда вы нашли нужный индекс в выводе команды, вы можете выяснить, каково это правило и почему оно может сбрасывать пакеты. Если правило находится на 23-й строке, так оно и представлено.
-
Анализ правила: Обратите внимание на такие параметры, как IP-адреса источника и назначения, порты и протоколы. Это поможет вам понять, какой именно трафик блокируется данным правилом.
-
Исправление или модификация правила: Если вы определили, что правило действительно вызывает сброс трафика, вам может потребоваться либо изменить его, либо временно удалить для устранения проблемы.
Например, чтобы удалить правило, используйте команду:
sudo iptables -D INPUT 23
(Убедитесь, что номер соответствует вашему правилу.)
-
Тестирование изменений: После изменения или удаления правила проведите тестирование, чтобы убедиться, что проблема с пропуском пакетов разрешена.
-
Сохранение изменений: Не забудьте сохранить изменения в конфигурации iptables (в зависимости от вашей операционной системы и дистрибутива это может отличаться, но часто используется команда
iptables-save
):sudo iptables-save > /etc/iptables/rules.v4
Следуя этим шагам, вы сможете найти и исправить правило, вызывающее сброс пакетов в вашей системе.