Jump to content

iptables

iptables
Оригинальный автор(ы) Расти Рассел
Разработчик(и) Основная команда Netfilter
Первоначальный выпуск 1998
Стабильная версия
1.8.10 [1]  Отредактируйте это в Викиданных / 10 октября 2023 г .; 9 месяцев назад ( 10 октября 2023 г. )
Репозиторий
Написано в С
Операционная система Линукс
Платформа Сетевой фильтр
Тип Фильтрация пакетов
Лицензия лицензия GPL
Веб-сайт www .netfilter .org

iptables — это служебная программа пользовательского пространства , которая позволяет системному администратору настраивать правила фильтрации IP-пакетов брандмауэра ядра Linux , реализованные в виде различных Netfilter модулей . Фильтры организованы в различные таблицы, содержащие цепочки правил обработки пакетов сетевого трафика. В настоящее время для разных протоколов используются разные модули ядра и программы; iptables применяется к IPv4, ip6tables к IPv6, arptables к ARP и ebtables к кадрам Ethernet .

Для работы iptables требуются повышенные привилегии, и он должен выполняться пользователем root , иначе он не сможет работать. В большинстве систем Linux iptables устанавливается как /usr/sbin/iptables и задокументирован на его справочных страницах , которые можно открыть с помощью man iptables при установке. Его также можно найти в /sbin/iptables, но поскольку iptables больше похож на сервис, чем на «необходимый двоичный файл», предпочтительное расположение остается /usr/sbin .

Термин iptables также часто используется для обозначения компонентов уровня ядра. x_tables — это имя модуля ядра, несущего общую часть кода, используемую всеми четырьмя модулями, которая также предоставляет API, используемый для расширений; впоследствии Xtables в той или иной степени используется для обозначения всей архитектуры брандмауэра (v4, v6, arp и eb).

iptables заменил ipchains ; а преемником iptables является nftables , выпущенный 19 января 2014 года. [2] и был объединен с основной веткой ядра Linux в версии ядра 3.13.

iptables позволяет системному администратору определять таблицы содержащие цепочки правил , обработки пакетов. Каждая таблица связана с различным типом обработки пакетов . Пакеты обрабатываются путем последовательного прохождения правил в цепочках. Правило в цепочке может вызывать переход или переход к другой цепочке, и это можно повторять до любого желаемого уровня вложенности. (Прыжок аналогичен «вызову», т. е. запоминается точка, из которой был выполнен переход.) Каждый сетевой пакет, поступающий на компьютер или исходящий от него, проходит как минимум одну цепочку.

Пути потока пакетов. Пакеты начинаются в заданном ящике и будут проходить по определенному пути в зависимости от обстоятельств.

Происхождение пакета определяет, какую цепочку он пересекает изначально. Существует пять предопределенных цепочек (соответствующих пяти доступным перехватчикам Netfilter), хотя в таблице могут быть не все цепочки. Предопределенные цепочки имеют политику , например DROP, которая применяется к пакету, если он достигает конца цепочки. Системный администратор может создать любое количество других цепочек. У этих сетей нет политики; если пакет достигает конца цепочки, он возвращается в цепочку, вызвавшую его. Цепочка может быть пустой.

  • PREROUTING: Пакеты попадут в эту цепочку до того, как будет принято решение о маршрутизации.
  • INPUT: Пакет будет доставлен на месте. Это не имеет ничего общего с процессами, имеющими открытый сокет; локальная доставка контролируется таблицей маршрутизации «local-delivery»: ip route show table local.
  • FORWARD: все пакеты, которые были маршрутизированы и не предназначены для локальной доставки, будут проходить через эту цепочку.
  • OUTPUT: Пакеты, отправленные с самой машины, будут посещать эту цепочку.
  • POSTROUTING: Решение о маршруте принято. Пакеты попадают в эту цепочку непосредственно перед передачей их оборудованию.

Цепь не существует сама по себе; он принадлежит таблице . Есть три таблицы: nat , filter и mangle . Если перед ним не стоит опция -t , iptables По умолчанию команда касается таблицы фильтров . Например, команда iptables -L -v -n, который показывает некоторые цепочки и их правила, эквивалентен iptables -t filter -L -v -n. Чтобы показать цепочки таблицы nat , используйте команду iptables -t nat -L -v -n

Каждое правило в цепочке содержит спецификацию, каким пакетам оно соответствует. Он также может содержать цель (используется для расширений) или вердикт (одно из встроенных решений). По мере прохождения пакета по цепочке поочередно проверяется каждое правило. Если правило не соответствует пакету, пакет передается следующему правилу. Если правило соответствует пакету, оно выполняет действие, указанное целью/вердиктом, что может привести к тому, что пакету будет разрешено продолжить движение по цепочке, а может и нет. Совпадения составляют большую часть наборов правил, поскольку они содержат условия, на которых проверяются пакеты. Это может произойти практически на любом уровне модели OSI , как, например, в случае --mac-source и -p tcp --dport параметры, а также есть совпадения, независимые от протокола, такие как -m time.

Пакет продолжает перемещаться по цепочке до тех пор, пока

  1. правило сопоставляет пакет и решает окончательную судьбу пакета, например, вызывая один из ACCEPT или DROP, или модуль, возвращающий такую ​​окончательную судьбу; или
  2. правило называет RETURN вердикт, в этом случае обработка возвращается в вызывающую цепочку; или
  3. конец цепочки достигнут; обход либо продолжается в родительской цепочке (как если бы RETURN была использована), или используется политика базовой цепочки, что является окончательной судьбой.

Цели также возвращают вердикт типа ACCEPT ( NAT модули сделают это) или DROP (например, REJECT модуль), но может также подразумевать CONTINUE (например, LOG модуль; CONTINUE является внутренним именем), чтобы перейти к следующему правилу, как если бы цель/вердикт вообще не были указаны.

Утилиты пользовательского пространства

[ редактировать ]

Интерфейсы

[ редактировать ]

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

Такие интерфейсы, генераторы и сценарии часто ограничены встроенными системами шаблонов, а шаблоны предлагают места для замены определяемых пользователем правил. Кроме того, сгенерированные правила обычно не оптимизированы для конкретного эффекта брандмауэра, которого желает пользователь, поскольку это, скорее всего, увеличит затраты на обслуживание для разработчика. Пользователям, которые достаточно хорошо понимают iptables и хотят оптимизировать свой набор правил, рекомендуется создать свой собственный набор правил.

Другие известные инструменты

[ редактировать ]
  • FireHOL — сценарий оболочки, обертывающий iptables в простой для понимания текстовый файл конфигурации.
  • NuFW — расширение брандмауэра аутентификации для Netfilter.
  • Shorewall — инструмент настройки шлюза/брандмауэра, позволяющий использовать более простые правила и сопоставлять их с iptables.

См. также

[ редактировать ]
  1. ^ Фил Саттер (10 октября 2023 г.). «Выпуск iptables 1.8.10» . Проверено 10 октября 2023 г.
  2. ^ «Linux 3.13, раздел 1.2. nftables, преемник iptables» . kernelnewbies.org . 19 января 2014 года . Проверено 20 января 2014 г.

Литература

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ba1c8d4a288aa5287fd05722d21ec74e__1705917780
URL1:https://arc.ask3.ru/arc/aa/ba/4e/ba1c8d4a288aa5287fd05722d21ec74e.html
Заголовок, (Title) документа по адресу, URL1:
iptables - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)