Э. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание (1114666), страница 35
Текст из файла (страница 35)
Параметр можно применять только скомандами —а, —i, —d и —с.—х Расширение чисел. Отображается точное значение счетчиков пакетов и байтов вместо округленного. Использование этого параметра корректно только в случае, еслизадано отображение значений счетчиков (см. также параметр —е).—у Работать с TCP-пакетами с установленным флагом SYNи сброшенным флагом АСК. Параметр игнорируетсядля пакетов других протоколов и корректен только вслучае применения с командами —а, —i и —d.iptablesiptables command [options]Команда системного администрирования. Настройка правил сетевых фильтров (netfilter).
В ветви ядра Linux 2.4 возможности брандмауэринга ipchains реализованы посредством модуля ядра netfilter, который может быть настроенточно так же, как ipchains, но при этом комплектуется модулем iptables, похожим на ipchains и предоставляющимвозможности расширения. Правила iptables состоят из критериев отбора пакетов и целей, т. е. действий, совершаемыхнад пакетом, если он соответствует критериям.Алфавитный перечень командПравила организованы в цепи (chains). Вы можете использовать их при создании брандмауэра, сокрытии адресов вашейлокальной сети или просто отсечении определенных типов сетевых соединений.Существует три предопределенных таблицы iptables; первая, filter, предназначена для фильтрации сетевых пакетов,вторая, nat - для трансляции сетевых адресов (Network Address Translation), а последняя, mangle, может применятьсядля внесения специфических изменений в сетевые пакеты.Правила для брандмауэра организуются в цепи, представляющие собой упорядоченные последовательности правил, которые проверяются ядром в процессе обработки пакета.
Таблица filter содержит три предопределенные цепи: INPUT,OUTPUT и FORWARD. Цепи INPUT и OUTPUT применяются к входящим или исходящим пакетам. Цепь FORWARDпредназначена для обработки пакетов, проходящих черезданный узел и адресованных другой системе. Таблица natтакже содержит три предопределенных цепи: PREROUTING, POSTROUTING и OUTPUT. В таблице mangle цепейтолько две: PREROUTING и OUTPUT.Модуль netfilter проверяет входящие пакеты. После обработки всех правил цепи PREROUTING, в случае если пакетпросто проходит через данный узел, модуль передает пакет вцепи INPUT или FORWARD. Исходящие пакеты обрабатываются сначала правилами цепи OUTPUT, а затем правилами цепи POSTROUTING.
Каждая из цепей имеет цель поумолчанию - правило, применяемое, если пакет не соответствует ни одному из критериев цепи. Пользователь можетсоздавать собственные цепи и отводить им роль целей дляпакетов, но целей по умолчанию такие цепи иметь не могут.Если пакет не соответствует ни одному критерию в пользовательской цепи, то он возвращается в цепь, из которой произошел вызов, и проверяется на соответствие следующемуправилу этой цепи.Команда iptables лишь вносит изменения в правила работающего ядра.
При выключении системы эти изменения несохраняются. Для создания сценариев восстановления может применяться команда iptables-save. Восстановлениенастроек брандмауэра производится с помощью команды iptables-restore. Такой сценарий обычно вызывается при загрузке системы. Во многие дистрибутивы входит сценарийинициализации iptables, который использует результатыработы iptables-save.231iptablesГлава 3.
Команды Linux232iptablesКомандыiptables всегда выполняется с одной из следующих команд:—A chain rules, —append chain rulesДобавить новые правила к цепи.—I chain number rules, —insert chain number rulesВставить правила (rules) в цепь (chain) после правила спорядковым номером number.—D chain rules, —delete chain rulesУдалить правила из цепи. Правила могут определятьсяих порядковыми номерами в цепи или их описанием.—R chain number rule, —replace chain number ruleЗаменить правило в цепи. Заменяемое правило определяется порядковым номером number.—С chain rule, —check chain ruleВыяснить, как будет обрабатываться сетевой пакет, соответствующий указанному правилу.
Правило должно определять источник, назначение, протокол и интерфейссоздаваемого пакета.-L [chain], —list $PARAMETERПеречислить правила в цепи либо во всех цепях, еслицепь не указана.—F [chain], —flush chainУдалить все правила цепи либо правила всех цепей, еслицепь не указана.—Z [chain], —zero chainОбнулить счетчики байт и пакетов для цепи. Если цепь неуказана, происходит обнуление счетчиков для всех цепей.
В этом случае, если выполняется также команда —L,значения счетчиков перед обнулением отображаются.—N chain, —new-chain chainСоздать новую цепь. Имя цепи должно быть уникальным. Эта команда предоставляет пользователю возможность создавать собственные цепи.—X [chain], —delete-chain chainУдалить указанную цепь, созданную пользователем, либо все пользовательские цепи, если цепь не указана.Алфавитный перечень команд—Р chain target, —policy chain targetУстановить правило по умолчанию для предопределенной цепи; сама по себе цель (target) цепью являться не может.—Е old-chain new-chain, —rename-chain old-chain new-chainПереименовать цепь old-chain в new-chain.—h [icmp]Отобразить краткую справку. Если указан параметр icmp,будут перечислены допустимые ICMP-типы.ЦелиЦель определяется именем цепи либо одним из следующихключевых слов:ACCEPTПропустить пакет.DROPУдалить пакет.QUEUEПередать пакеты на обработку правилам пользователя.RETURNПрекратить опрос правил текущей цепи и вернуть управление в точку предыдущей цепи, из которой произошелвызов.
Если RETURN является целью правила предопределенной цепи, выполняется правило по умолчанию дляэтой цепи.Параметры определения правилСледующие параметры используются для создания правил,относящихся к предваряющим их командам. Правила состоят из критериев отбора пакетов и, как правило, цели (-J) дляслучая соответствия пакета критерию. Ко многим параметрам в правилах может применяться отрицание - восклицательный знак (!) или «не»; тогда критерию будет соответствовать все, кроме указанного параметра.-р [!] пате, —protocol [l]$PARAMETERОтбор пакетов протокола пате. Значение пате можетбыть строковым именем или соответствующим числом(из файла /etc/protocols).
Наиболее часто встречаютсязначения tcp, udp, icmp или ключевое слово all. Число Оидентично all; это значение является значением по умолчанию, если не определяется явно данным параметром.233iptablesГлава 3. Команды Linux234iptablesЕсли существуют расширенные правила, связанные сданным протоколом, они будут загружены автоматически; нет необходимости загружать их явно с помощью параметра —т.-s [!] address[/mask] [!] [port], —source [!] address[/mask][!] [port]Отбор пакетов, приходящих с указанного адреса. Адресможет указываться в виде имени узла, имени сети либо ввиде IP-адреса.
Необязательный параметр mask определяет сетевую маску и может представляться в классическом формате (например, /255.255.255.0) или в современной, более краткой форме (например, /24).—d [!] address[/mask] [!] [port], —destination [!]address[/mask] [port]Отбор пакетов с определенным адресом назначения (address). Синтаксис параметра идентичен синтаксису дляпараметра —s.—j target, —jump targetПереход к специальной цели либо определенной пользователем цепи правил. Если для правила этот параметр неопределен, соответствие пакета правилу лишь увеличивает счетчики правила, а пакет передается для проверки насоответствие следующему правилу.—i [!] пате[+], —in-interface name[+]Отбор пакетов, получаемых через интерфейс пате[+].пате - это сетевой интерфейс, используемый системой(например, ethO или рррО).
Для создания маски применяется символ « + ». Так, значению ррр+ соответствуют всеимена интерфейсов, начинающиеся с ррр.—о [!] пате[+], —out-interface name[+]Отбор пакетов, отправляемых через интерфейс пате[+].См. описание синтаксиса пате для параметра -i.[!] -f, [!]—fragment $PARAMETERПравило отбирает все, кроме первого, фрагменты разбитого на части пакета.Параметры~v, —verboseРежим подробной диагностики.Алфавитный перечень команд—n, —numericВывести все IP-адреса и номера портов в численном виде.По умолчанию, где возможно, отображаются имена.—х, —exactПроизводить подстановку чисел при перечислении (—L).Отображать точные значения счетчиков байт и пакетоввместо округленных.-m module, —matchЯвным образом загрузить расширение правила, связанное с указанным модулем (module). См.
ниже раздел«Расширения критериев».-h [icmp], —help [icmp]Вывести справку. Если указан параметр icmp, перечислить имена доступных ICMP-типов. —h также может указываться совместно с —т для получения справки по модулю расширения.—line-numbersПрименяется совместно с командой —L. Добавлять номерстроки в начало каждого правила в перечислении, определяя таким образом позицию правила в цепи.Расширения критериевПомимо netfilter ядро содержит и другие модули, которыепозволяют расширить возможности отбора в правилах. Модули, связанные с определенными протоколами, загружаются автоматически, когда для задания протокола используется команда -р.