Linux. Iptables. Как работает?

Здравствуйте. Я занимаюсь написанием диплома. Мне необходимо написать о работе утилиты iptables максимально подробно. Я прочитал уже довольно большое количество статей, но нигде не нашел, как именно устроена эта утилита. Везде пишут, как она работает( что она проверяет условие и отбрасывает\принимает пакет, описаны цепочки и таблицы) но нигде не написано, как именно это происходит. Какие файлы задействованы. Что именно обрабатывает каждый пакет.
Посоветуйте пожалуйста, как мне максимально подробно изучить работу Iptables. Что прочитать или как посмотреть код\отследить все, что происходит с пакетом. ОС Ubuntu 14.
Заранее большое спасибо.
  • Вопрос задан
  • 1133 просмотра
Решения вопроса 2
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
iptables - это не файрвол, это только интерфейс для формирования правил. Правила обрабатываются частью ядра - netfilter, который уже и обрабатывает пакеты.
www.netfilter.org
как пакет двигается - есть в вики https://ru.wikipedia.org/wiki/Netfilter#/media/Fil..., https://ru.wikipedia.org/wiki/Netfilter
Ответ написан
@lovecraft
iptables дергает API ядра (netfilter) и создает правила, по которым работают ядерные модули. На каждый протокол чих есть соответствующий ядреный модуль - например, если хочешь фильтровать по диапазону портов, нужен модуль xt_multiport. Если модуль есть - он загружается автоматически. если нет - печаль (
Некоторое время назад разработчиков достала необходимость писать кучу модулей и они сделали nftables. Он устроен по-другому: на уровне ядра есть конечный автомат, который исполняет байт-код и с помощью этого байт-кода фильтрует пакеты. Пользовательская утилита просто компилирует правила в байт-код и загружает его в ядро.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
martin74ua
@martin74ua Куратор тега Linux
Linux administrator
Диплом по iptables ? Оригинально...
Ну открывайте исходники netfilter и вперед....
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы