Iptables | это... Что такое Iptables? (original) (raw)

IPTables

Netfilter-logo.png
iptables
Тип Межсетевой экран
Разработчик NETFilter Core Team
Написана на C
Операционная система на ядре Linux
Последняя версия 1.4.15 (31 июля 2012)
Лицензия GNU GPL
Сайт www.netfilter.org

IPTables — утилита командной строки, является стандартным интерфейсом управления работой межсетевого экрана (брандмауэра) NETFilter для ядер Linux, начиная с версии 2.4. Для использования утилиты IPTables требуются привилегии суперпользователя (root).

Иногда под словом IPTables имеется в виду и сам межсетевой экран NETFilter.

Содержание

История

Изначально разработка netfilter и iptables шла совместно, поэтому в ранней истории этих проектов есть много общего. Подробности см. в статье про netfilter.

Предшественниками iptables были проекты ipchains (применялась для администрирования фаервола ядра Linux версии 2.2) и ipfwadm (аналогично для ядер Linux версий 2.0). Последний был основан на BSD-утилите ipfw.

iptables сохраняет идеологию, ведущую начало от ipfwadm: функционирование фаервола определяется набором правил, каждое из которых состоит из критерия и действия, применяемого к пакетам, подпадающим под этот критерий. В ipchains появилась концепция цепочек — независимых списков правил. Были введены отдельные цепочки для фильтрации входящих (INPUT), исходящих (OUTPUT) и транзитных (FORWARD) пакетов. В продолжении этой идеи, в iptables появились таблицы — независимые группы цепочек. Каждая таблица решала свою задачу — цепочки таблицы filter отвечали за фильтрацию, цепочки таблицы nat — за преобразование сетевых адресов (NAT), к задачам таблицы mangle относились прочие модификации заголовков пакетов (например, изменение TTL или TOS). Кроме того, была слегка изменена логика работы цепочек: в ipchains все входящие пакеты, включая транзитные, проходили цепочку INPUT. В iptables через INPUT проходят только пакеты, адресованные самому хосту.

Такое разделение функциональности позволило iptables при обработке отдельных пакетов использовать информацию о соединениях в целом (ранее это было возможно только для NAT). В этом iptables значительно превосходит ipchains, так iptables может отслеживать состояние соединения и перенаправлять, изменять или отфильтровывать пакеты, основываясь не только на данных из их заголовков (источник, получатель) или содержимом пакетов, но и на основании данных о соединении. Такая возможность фаервола называется stateful-фильтрацией, в отличие от реализованной в ipchains примитивной stateless-фильтрации (подробнее о видах фильтрации см. статью о фаерволах). Можно сказать, что iptables анализирует не только передаваемые данные, но и контекст их передачи, в отличие от ipchains, и поэтому может принимать более обоснованные решения о судьбе каждого конкретного пакета. Более подробно о stateful-фильтрации в netfilter/iptables см. Netfilter#Механизм определения состояний.

В будущем, разработчики netfilter планируют заменить iptables на nftables — инструмент нового поколения, пока находящийся в ранней стадии разработки[1].

Архитектура

Основные понятия

Ключевыми понятиями iptables являются:

Примечания

  1. Разработчики Netfilter представили замену iptables

Литература

Ссылки

b: Iptables в Викиучебнике?
b: Настройка межсетевого экрана в Linux в Викиучебнике?
Просмотр этого шаблона Межсетевые экраны
Свободные BSD: ipfwIPFilterPFNPFLinux: Netfilter (Iptables • Firestarter • Iplist • NuFW • Shorewall) • Uncomplicated Firewall Стена из чёрных кирпичей
Бесплатные OutpostAshampoo FireWall Free • Comodo • Core Force • Online ArmorZentyalPC Tools • PeerGuardian (англ.) • Sygate (англ.)
Проприетарные Ashampoo FireWall Pro • AVG Internet Security • CA Personal Firewall • Dr. WebJetico Personal FirewallKasperskyForefront TMGNortonOutpostPanda Cloud • ViPNet Personal Firewall • Trend Micro (англ.) • Брандмауэр Windows • Sunbelt (англ.) • Kerio ControlZoneAlarmMac OS: NetBarrier X4 (англ.)
Аппаратные Fortinet • CiscoJuniperCheck Point • ViPNet Coordinator HW