У меня есть система с брандмауэром, который уже установлен. Брандмауэр состоит из более чем 1000 правил iptables. Одно из этих правил - отбрасывать пакеты, которые я не хочу отбрасывать. (Я знаю это, потому что iptables-save
следовал, iptables -F
и приложение начало работать.) Слишком много правил, чтобы разобраться вручную. Могу ли я сделать что-нибудь, чтобы показать мне, какое правило отбрасывает пакеты?
31
Ответы:
Вы можете добавить правило TRACE в начале цепочки, чтобы регистрировать каждое правило, которое проходит пакет.
Я хотел бы рассмотреть возможность использования,
iptables -L -v -n | less
чтобы вы могли искать правила. Я бы посмотрел порт; адрес; и правила интерфейса, которые применяются. Учитывая, что у вас так много правил, вы, скорее всего, используете в основном закрытый брандмауэр и не имеете правила разрешения трафика.Как построен брандмауэр? Может быть проще взглянуть на правила построителя, чем на собранные правила.
источник
Запустите,
iptables -L -v -n
чтобы увидеть счетчики пакетов и байтов для каждой таблицы и для каждого правила.источник
sort
для сортировки правил по счетчику пакетов.Поскольку
iptables -L -v -n
есть счетчики, вы можете сделать следующее.Таким образом, вы увидите только те правила, которые увеличились.
источник
В моей компании мы используем
watch -n 2 -d iptables -nvL
, он показывает изменения между запросамиисточник
Имейте в виду, это покажет только материал для фильтра таблицы .
Добавьте
-t nat
(или таблицу, которую вы используете, кроме фильтра) к своему вызову iptables, чтобы проверить там правила.источник