Наиболее полная статья: https://ru.wikibooks.org/wiki/Iptables
Netfilter - межсетевой экран (брандмауэр), встроенный в ядро Linux с версии 2.4.
Разделение функциональности с помощью таблиц, позволило обрабатывать пакеты не только исходя из информации в самом пакете, но и учитывать данные о соединении в целом (stateful - фильтрация), контекст передачи.
Это одно из превосходств над своим предшественником - ipchains (в настоящее время устарел и не используется).
Правило - состоит из критерия, действия и счетчика (критерий и действие можно пропускать, останется только счетчик).
Цепочка - последовательность правил, есть пользовательские (нижний регистр, только для своей таблицы) и базовые (стандартные, верхний регистр).
Таблица - совокупность цепочек, объединенных функциональным назначением (имена в нижнем регистре).
Существует 5 типов стандартных цепочек:
Цепочки организованы в таблицы: 4 стандартных (raw, mangle, nat и filter) и бывают 2 дополнительных (security, rawpost), цепочки с одинаковым названием, но в разных таблицах - независимые объекты.
Все пакеты пропускаются через цепочки правил.
При прохождении к нему последовательно применяются правила этой цепочки, если он соответствует указанному критерию, применяется действие (в т.ч. переход к другой цепочке, например пользовательской).
Действие может быть терминальным (заканчивающее обработку в данной цепочке (ACCEPT, REJECT)) или нетерминальным (MARK, TOS).
Действие по умолчанию обязательно терминальное.
Выполнение действий с пакетами до их обработки в conntrack.
Цепочки: PREROUTING, OUTPUT.
Действия:
Является следствием реализации RAWDNAT в таблице raw т.е. для обратной пересылки проброшенных адресов (портов) на уровне пакетов.
Цепочки: POSTROUTING.
Действия: RAWSNAT - обратный, «сырой» проброс адресов (портов).
Классификация и маркировка пакетов и соединений, а также модификация заголовков пакетов (TTL и TOS).
Цепочки: все 5 стандартных цепочек.
Действия:
# iptables -t mangle -I PREROUTING -j TTL --ttl-inc 1
Stateful-преобразование сетевых адресов и портов.
Цепочки: PREROUTING, OUTPUT и POSTROUTING.
Действия:
Фильтрация трафика, т.е. запрет/разрешение пакетов (соединений).
Цепочки: INPUT, FORWARD и OUTPUT.
Действия:
+= Модуль xtables-addons:
Предназначена для изменения маркировки (SELinux).
Все цепочки проходят после одноименных в таблице filter.
Цепочки: INPUT, FORWARD и OUTPUT.
Действия: SECMARK, CONNSECMARK.