
Когда я выполняю sudo iptables -F
, мои правила iptable для таблицы nat не сбрасываются. Почему так? Что делает команда выше?
Я считаю, что есть три таблицы: filter, nat и mangle. Я не думаю, что на какие-либо из этих таблиц влияет sudo iptables -F
. Это правильно?
решение1
Какруководство состояния, все iptables
команды работают с определенной таблицей.
Если вы опустите необязательный -t TABLE
флаг, iptables -F
команда будет работать только с таблицей по умолчанию,фильтрстол.
Таблицы
В настоящее время существует три независимые таблицы (присутствие каких таблиц в данный момент зависит от параметров конфигурации ядра и присутствующих модулей).
-t, --table table
Эта опция указывает таблицу соответствия пакетов, с которой должна работать команда. Если ядро настроено на автоматическую загрузку модулей, будет предпринята попытка загрузить соответствующий модуль для этой таблицы, если его там еще нет.Таблицы выглядят следующим образом:
фильтр:
Это таблица по умолчанию (если не-t
передано ни одного параметра).Он содержит встроенные цепочкиINPUT
(для пакетов, направляемых в локальные сокеты),FORWARD
(для пакетов, маршрутизируемых через устройство) иOUTPUT
(для локально сгенерированных пакетов).
нат:
Эта таблица просматривается, когда встречается пакет, создающий новое соединение. Она состоит из трех встроенных:PREROUTING
(для изменения пакетов сразу после их поступления),OUTPUT
(для изменения локально сгенерированных пакетов перед маршрутизацией) иPOSTROUTING
(для изменения пакетов перед их отправкой).
увечье:Эта таблица используется для специализированного изменения пакетов.
До ядра 2.4.17 в ней было две встроенных цепочки:PREROUTING
(для изменения входящих пакетов перед маршрутизацией) иOUTPUT
(для изменения локально сгенерированных пакетов перед маршрутизацией).
Начиная с ядра 2.4.18 также поддерживаются три другие встроенные цепочки:INPUT
(для пакетов, поступающих в сам блок),FORWARD
(для изменения пакетов, проходящих через блок) иPOSTROUTING
(для изменения пакетов, которые собираются выйти).
сырой:Эта таблица используется в основном для настройки исключений из отслеживания соединений в сочетании сNOTRACK
целью. Она регистрируется в хуках netfilter с более высоким приоритетом и поэтому вызывается до ip_conntrack или любых других таблиц IP.
Она предоставляет следующие встроенные цепочки:PREROUTING
(для пакетов, поступающих через любой сетевой интерфейс)OUTPUT
(для пакетов, сгенерированных локальными процессами)
решение2
Я считаю, что вам нужно добавить -t <table_name>
опцию Flush nat
и mangle
Tables.