Это настройка правил для обработки пакетов IP в "сыром" виде.
Для сложных случаев, не подпадающих под явно определённые действия типа nat
или filter
.
Данная функция в ОС Linux является частным случаем механизма netfilter, работающего в ядре Linux. Настройка этого механизма производится с помощью утилиты iptables. Узлы nat
, filter
mangle
и raw
конфигурационного дерева NSG являются оболочкой к данной утилите. Подробно обо всех их возможностях и настройках см. первоисточник, т.е. man pages по iptables в оригинале. Настоятельно рекомендуется ознакомиться с этим документом хотя бы по диагонали, чтобы получить представление об общей структуре настроек.
Говоря коротко, настройка iptables производится в виде таблиц с именами nat
, filter
mangle
и raw
, соответственно. Каждая таблица состоит из цепочек последовательно выполняемых правил. На разных этапах обработки пакета в системе используются различные предопределённые цепочки и, кроме того, пользователь может создавать и подключать свои собственные цепочки по своему усмотрению.
ПРИМЕЧАНИЕ. Многие действия (например, уничтожение пакета) могут, вообще говоря, выполняться в схожих цепочках, принадлежащих к разным таблицам. Однако для правильного понимания конфигурации принято разделять их по существу: преобразования адресов и портов — в таблицуnat
, уничтожение или не уничтожение (а также подсчёт) пакетов — в таблицуfilter
, всё прочее — вmangle
. Как минимум, это помогает избежать человеческих ошибок. Извращённые ситуации, когда требуется выполнять эти операции в ином порядке, нежели указано на схеме, теоретически возможны, но на практике крайне редки.
Механизм raw в устройствах NSG включает в себя следующие цепочки:
PREROUTING
OUTPUT
RETURN
. Для добавления цепочек используйте команды +
, _new
или _insert
. Данный список является именованным и не упорядочивается автоматически. Для удаления используйте команду -
или _remove
.ВНИМАНИЕ! Механизмыnat
,filter
,mangle
иraw
, как и правила маршрутизации, относятся к самой сущности IP-маршрутизатора как целого и работают в тесной связи друг с другом, а также с процедурами IP-маршрутизации и IPsec. Именно по этой причине они настраиваются на уровне системы в целом, а не на уровне интерфейсов по отдельности. (Последнее возможно только для простейших бытовых маршрутизаторов, у которых заранее жёстко определены как роль каждого интерфейса, так и возможные преобразования.)
Чтобы ограничить действие правила одним интерфейсом, необходимо и достаточно указать этот интерфейс в критериях для анализа пакетов.
Чаще всего данную таблицу приходится использовать при настройке DNAT для сложных протоколов (например, FTP). Оно выполняется в цепочке PREROUTING с целью target=CT
. Вспомогательные механизмы нужны также для некоторых протоколов, имеющих другие специфические особенности, которые необходимо учитывать в работе алгоритмов NAT. Подробно о написании правил для данных задач см. man iptables-extensions актуальной версии, man conntrack.
© Network Systems Group 2015–2024 | Отдел документации |