for_students:os:iptables

Эта версия устарела, есть новая проверенная версия.DiffЭто черновая версия (2022/02/11 15:35).
Проверили: 0/1

Это старая версия документа!


iptables - утилита, которая управляет встроенным в ядро брандмауэром netfilter. Состоит из цепочек правил, которые применяются последовательно. Для понимания работы iptables необходимо разобраться с тем, как может вести себя сетевой пакет. В зависимости от таблицы маршрутизации пакет может:

  1. может быть отброшен, если вообще нам не предназначен;
  2. может пройти транзитом, например, если наш компьютер является маршрутизатором;
  3. может предназначаться приложению, находящемуся на компьютере;
  4. может отправляться от приложения, находящемуся на компьютере.

Соответственно, в iptables для этого есть 3 различные цепочки правил (вариант с отброшенным пакетом рассматривать не будем):

  1. forward
  2. input
  3. output

В общем виде, пути сетевого пакета можно увидеть на этой картинке

119.jpg

Рассмотрим путь пакета более подробно.

Prerouting

В эту цепочку пакет попадает перед iptables, до того момента, когда будет известно что делать с пакетом и куда он направляется. Первая таблица, с которой встретится пакет - raw.

RAW - таблица для работы с сырыми пакетами, до того, как они прошли обработку

Следующим идет conntrack (connection tracking), который позволяет отследить соединения, то есть определить какому соединению/сеансу принадлежит пакет. Состояние пакета может быть новое (NEW), уже установленное (ESTABLISHED), дополнение к уже существующему (RELATED) и другие. Conntrack нужен для того, чтобы не проверять пакеты дважды (на входе и на выходе).

  • for_students/os/iptables.1644582921.txt.gz
  • Последнее изменение: 2022/02/11 15:35
  • ejlka