В Википедии есть отличная диаграмма , показывающая порядок обработки.
Для получения более подробной информации вы также можете посмотреть документацию iptables, в частности, раздел , посвященный обходу таблиц и цепочек . Что также включает в себя блок-схему .
Порядок меняется в зависимости от того, как netfilter используется (в качестве моста или сетевого фильтра и имеет ли он взаимодействие с прикладным уровнем).
Обычно (хотя в главе, связанной выше), цепочки обрабатываются как:
- См. Цепочку INPUT как «трафик, входящий извне на этот хост».
- См. Цепочку FORWARD как «трафик, который использует этот хост в качестве маршрутизатора» (источник и пункт назначения - , а не этот хост).
- рассматривают цепочку OUTPUT как «трафик, который этот хост хочет отправить».
- PREROUTING / POSTROUTING по-разному используется для каждого из типов таблиц (например, для таблиц nat, PREROUTING предназначен для входящего (маршрутизируемого / перенаправленного) трафика SNAT, а POSTROUTING - для исходящего (маршрутизированного / перенаправленного) трафика DNAT. документы для более подробной информации.
Различные таблицы:
- Mangle - это изменение пакетов (тип обслуживания, время жизни и т. д.) при прохождении.
- Nat - вводить правила NAT.
- Raw - это будет использоваться для маркировки и отслеживания соединений.
- Фильтр предназначен для фильтрации пакетов.
Итак, для ваших пяти сценариев:
- Если отправляющий хост ваш хост с iptables, OUTPUT
- То же, что и выше
- Цепочка FORWARD (при условии, что шлюз является хостом с iptables)
- Если «me» - это хост с iptables, INPUT
- Посмотрите на приведенные выше правила цепочки (что является общим практическим правилом) и блок-схему ( и это также зависит от того, вы пытаетесь достичь с помощью IPTables)
27.01.2020, 19:42
Ссылка