понимать цепочки и таблицы в netfilter / iptables

Насколько я понимаю, в ядре Linux есть пять точек захвата для потока пакетов IPv4, определенных в файле netfilter_ipv4.h :

 /* IP Hooks */ /* After promisc drops, checksum checks. */ #define NF_IP_PRE_ROUTING 0 /* If the packet is destined for this box. */ #define NF_IP_LOCAL_IN 1 /* If the packet is destined for another interface. */ #define NF_IP_FORWARD 2 /* Packets coming from a local process. */ #define NF_IP_LOCAL_OUT 3 /* Packets about to hit the wire. */ #define NF_IP_POST_ROUTING 4 

.. и согласно netfilter_ipv6.h похоже, это верно для IPv6:

 /* IP6 Hooks */ /* After promisc drops, checksum checks. */ #define NF_IP6_PRE_ROUTING 0 /* If the packet is destined for this box. */ #define NF_IP6_LOCAL_IN 1 /* If the packet is destined for another interface. */ #define NF_IP6_FORWARD 2 /* Packets coming from a local process. */ #define NF_IP6_LOCAL_OUT 3 /* Packets about to hit the wire. */ #define NF_IP6_POST_ROUTING 4 

Это заставляет меня задаться вопросом, правильно ли думать об архитектуре netfilter / iptables таким образом, чтобы chains определяли место, где происходят операции, и tables определяют, какие операции могут быть выполнены? Кроме того, делают ли tables важными для ядра, или они просто предназначены для пользователей iptables для группировки типов обработки, которые могут возникнуть?

One Solution collect form web for “понимать цепочки и таблицы в netfilter / iptables”

Ключ состоит в том, что таблицы группируют вещи по намерениям дизайна . Все ваши правила, предназначенные для фильтрации, находятся в этом месте, все ваши правила NAT там. Цепи – это последовательности правил, а цепочки по умолчанию пересекаются в определенных точках пути пакета.

Теоретически вы можете добавить правило, которое выполняет фильтрацию, скажем, таблицы NAT. Но передняя часть мешает вам сделать это, с сообщением типа

Таблица «nat» не предназначена для фильтрации, поэтому использование DROP запрещается.

То, как я думаю об этом, это то, что это действительно о цепочках, а таблицы – немного запоздалая мысль, чтобы помочь вам организовать их. Это запутанно, потому что это ad-hoc, исторически разработанный дизайн пользовательского интерфейса.

  • Пакет Iptables src ip не NATed в случае ответа icmp и tcp ack
  • iptables ОШИБКА
  • Как перечислить все сетевые подключения Centos 7 (отслеживание соединений)
  • многоадресный трафик может пробить дыру в системе отслеживания соединений netfilter
  • Как объединить connlimit с IP-наборами?
  • Матч-набор через libiptc
  • Почему SNAT происходит в цепочке POSTROUTING и DNAT в цепочке PREROUTING?
  • NFTables NAT не закреплен
  • Как Netfilter понимает, что пакет связан?
  • -o в iptables для указания интерфейса для OUTPUT, FORWARD и POSTROUTING? Правильно?
  • iptables и переадресация ip для перехода на другой ресурс
  • Interesting Posts

    Live GUI загрузки конвертировать первичный раздел в логический раздел?

    Предсказуемые имена сетевого интерфейса ломают vm-миграцию

    Как создать пользовательский файл ispell affix для stub -isms и -ists?

    Окружающая среда Ubuntu и Windows

    Некоторые пакеты отмечены как INVALID с помощью iptables

    Новый debian 8 install … не может попасть на терминал без GUI

    Как подключиться к виртуальному / dev / ttyX с того же компьютера pts terminal?

    Есть ли опасность использовать переменную unset в определении функции bash?

    Можно добавить прокси после узла выхода TOR?

    Установщик Antergos говорит, что у меня нет / загрузочного раздела

    Всегда ли вход клавиатуры проходит через управляющий терминал?

    Как убедиться, что я использую последнюю версию bash?

    error: getrlimit (RLIMIT_CORE): операция не разрешена. Proftpd на Embbeded Linux enviorment

    Создание счетчика файлов, который содержит скрытые файлы

    Всего против перечисленных каталогов

    Linux и Unix - лучшая ОС в мире.