LINUX.ORG.RU

Как работает iptables?

 


0

1

Хотел бы понять как работает iptables к примеру с 3 интерфейсами.

Есть к примеру 3 интерфейса

enp0s1 enp0s2 enp0s3

Приходит пакет на интерфейс enp0s1, проходит цепочку prerouting. Если пакет для этого интерфейса, то идёт по input - output, если нет, то идёт в forward, после чего идет в postrouting.

В этом примере, пакет предназначается для enp0s3.

Как он соответственно работает дальше после enp0s1? Он через forward сразу передаёт на нужный интерфейс? и потом postrouting? Или на каждом интерфейсе есть те же самые цепочки prerouting-input,output/forward,postrouting

Вроде смотрю схему, а не могу её представить на сервере



Последнее исправление: gedat (всего исправлений: 1)

Если реально интересно начинай с этого: https://www.k-max.name/linux/netfilter-iptables-v-linux/ https://www.k-max.name/linux/iptables-v-primerax/

Потом переходи сюда: http://www.opennet.ru/docs/RUS/iptables/

Оно все немного устарело, но в процессе работы и чтения man будишь закрывать пробелы.

Как он соответственно работает дальше после enp0s1? Он через forward сразу передаёт на нужный интерфейс? и потом postrouting? Или на каждом интерфейсе есть те же самые цепочки prerouting-input,output/forward,postrouting

Если пакет приходит из сети, то он идет по: Prerouting-Forward-Postrouting (для транзитного трафика, даже если совпадает in и out интерфейсы) и Prerouting-Input (для трафика предназначеного хосту). Если трафик генерируется на хосет (как новые, так и ответные пакеты) они идут по Output-Postrouting.

Kolins ★★★
()
Ответ на: комментарий от Kolins

Получается iptables не привязывается к интерфейсу? Если приходит транзитный трафик, то он его просто пересылает на нужный интерфейс по цепочке Prerouting-Forward-Postrouting? И соответственно Prerouting-Input-Output-Postrouting работает на все интерфейсы одновременно ? Ему без разницы какой интерфейс, самое главное что бы пакет был этому хосту?

gedat
() автор топика
Последнее исправление: gedat (всего исправлений: 2)
Ответ на: комментарий от gedat

iptables/nftables не живет без таблицы маршрутизации без которой нельзя определить как дальше обрабатывать пакет.

полная картинка https://en.wikipedia.org/wiki/Iptables#/media/File:Netfilter-packet-flow.svg

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)
Ответ на: комментарий от gedat

Input только для пакетов предназначенных для этого хоста (в его сокеты). Output только для пакетов сгенерированных на этом хосте (через его сокеты). То есть prerouting-input, output-postrouting, prerouting-forward-postrouting

Nastishka ★★★★★
()