Введение

Программное обеспечение брандмауэра Linux

iptables — это утилита пользовательского пространства, позволяющая системному администратору настраивать правила фильтрации IP-пакетов брандмауэра ядра Linux, реализованные в виде различных модулей Netfilter. Фильтры организованы в различные таблицы, которые содержат цепочки правил для обработки пакетов сетевого трафика. Для различных протоколов в настоящее время используются различные модули и программы ядра: iptables применяется к IPv4, ip6tables — к IPv6, arptables — к ARP, а — к Ethernet-кадрам. Для работы iptables требуются повышенные привилегии и его необходимо выполнять от имени пользователя root, иначе он не будет функционировать. На большинстве систем Linux iptables устанавливается как и документируется в своих страницах руководства (man pages), которые можно открыть с помощью команды man iptables после установки. Он также может находиться в /sbin/iptables, но поскольку iptables больше похож на сервис, чем на "необходимый исполняемый файл", предпочтительным местом расположения остается . Термин iptables также часто используется для обозначения компонентов уровня ядра. x_tables — это название модуля ядра, содержащего общую кодовую базу, используемую всеми четырьмя модулями, и предоставляющего API для расширений; соответственно, Xtables в значительной степени используется для обозначения всей архитектуры брандмауэра (v4, v6, arp и eb). iptables заменил ipchains, а преемником iptables является nftables, который был выпущен 19 января 2014 года и включен в основную ветку ядра Linux в версии 3.13.

Передние концы

Существует множество сторонних программных приложений для iptables, предназначенных для упрощения настройки правил. Интерфейсы, представленные в текстовом или графическом виде, позволяют пользователям создавать простые наборы правил нажатием кнопки; скрипты, как правило, представляют собой скрипты оболочки (хотя возможны и другие языки программирования), которые вызывают iptables или (более быстрый вариант) iptables-restore с набором предопределенных правил, либо правил, расширенных из шаблона с помощью простого файла конфигурации. Дистрибутивы Linux часто используют именно эту схему с шаблонами. Такой подход, основанный на шаблонах, по сути, является ограниченной формой генератора правил, и такие генераторы также существуют как отдельные приложения, например, в виде веб-страниц на PHP. Эти интерфейсы, генераторы и скрипты часто ограничены встроенными системами шаблонов, в которых шаблоны предлагают места для подстановки пользовательских правил. Кроме того, сгенерированные правила обычно не оптимизированы для достижения конкретного эффекта межсетевого экрана, желаемого пользователем, поскольку это, вероятно, увеличит затраты на поддержку для разработчика. Пользователям, которые хорошо разбираются в iptables и хотят оптимизировать свой набор правил, рекомендуется создавать его самостоятельно.