Э. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание (1114666), страница 36
Текст из файла (страница 36)
Прочие модули необходимо загружатьявно с помощью параметра —т.tcp Загружается, когда единственным заданным протоколом является —р tcp.—source-port [!] [port][:port], —sport [!] [port][:port]Исходные порты. Можно задать включающий диапазон сервисов при помощи двоеточия. Если первыйпорт не указан, по умолчанию подставляется значение 0. Если второй порт опущен, по умолчаниюподставляется значение 65535. Символ «-» такжеможет использоваться для задания диапазона.—destination-port [!] [port][:port], —dport [!] \port][:port]Целевые порты. Синтаксис идентичен синтаксисудля —source-port.235iptablesГлава 3.
Команды Linux236iptables—tcp-flags [!] mask compПакеты с TCP-флагами, определяемыми аргументамиmask и сотр. mask - это список флагов, которые необходимо проверять, сотр - список флагов, которыедолжны быть установлены, чтобы правило сработало.Элементы списков разделяются запятыми. Допустимые флаги: SYN, ACK, FIN, RST, URG, PSH, ALL иNONE.[!] —synПакеты с установленным битом SYN и сброшеннымибитами АСК и FIN.
Это пакеты запросов TCP-соединений; блокировка прохождения этих пакетов запрещает входящие соединения. Расширение является сокращением для —tcp-flags SYN,RST,ACK SYN.udpЗагружается, когда единственным заданным протоколомявляется —р udp.—source-port [!] [port][:port], —sport [!] [port][:port]Исходные порты.
Синтаксис идентичен синтаксису—source-port расширения TCP.—destination-port [!] [port][:port], —dport [!] [port][:port]Целевые порты. Синтаксис идентичен синтаксису—source-port расширения TCP.icmpЗагружается, когда единственным заданным протоколомявляется —р icmp.—icmp-type [!] typeПакеты указанного ICMP-типа. Тип может определяться ICMP-именем или соответствующим числом.Значения доступны по команде iptables —р icmp —h.macЗагружается явно, если указан параметр —т.—mac-source [!] addressАдрес интерфейса, через который получен пакет. Адрес задается шестнадцатеричными числами через двоеточие (например, —mac-source 00:60:08:91:CC:B7).limitЗагружается явно посредством параметра —т. Расширение limit указывается для ограничения числа отбираемыхпакетов. Такая возможность полезна для примененияАлфавитный перечень командсовместно с целью LOG.
Правила, использующие данноерасширение, производят отбор пакетов, пока указанныйпредел не будет достигнут.—limit rateОтбор адресов с заданной скоростью. Скорость (rate)определяется числом и необязательным модификатором /second, /minute, /hour или /day. Если параметрне определен, то по умолчанию принимается скорость'3/hour'.—limit-burst [number]Установить максимально допустимое количество пакетов, отбираемых подряд.
Когда ограничение исчерпано, отбор пакетов прекращается до обнуления счетчика. Обнуление происходит в соответствии со скоростью, установленной параметром —limit. По умолчанию ограничение имеет значение 5.multiportЗагружается явно посредством параметра —т. Расширение multiport позволяет производить отбор групп исходных или целевых портов. Правила могут применятьсятолько совместно с -р tcp и —р udp.
Список, элементы которого разделяются запятыми, может содержать до 15значений портов.—source-port [ports]Отбор по исходным портам.—destination-port [ports]Отбор по целевым портам.—port [ports]Отбор по совпадению исходного и целевого порта и наличию этого порта в списке.markЗагружается явно посредством параметра —т. Этот модуль предназначен для использования с дополнительнойцелью MARK:—mark value[/mask]Отбор по заданному положительному значению отметки. Если указана маска, выполняется операция ее логического умножения (AND) на значение отметки перед сравнением.237iptablesГлава 3. Команды Linux238iptablesownerЗагружается явно посредством параметра -т. Расширение owner позволяет производить отбор по пользователю,создавшему пакет, групповому процессу либо идентификатору сеанса. Разумно применять только в качестве части цепи OUTPUT.—uid-owner useridОтбор пакетов, созданных процессом, который принадлежит указанному пользователю.—gid-owner groupidОтбор пакетов, созданных процессом, который принадлежит указанной группе.—pid-owner processidОтбор пакетов, созданных указанным процессом.—sid-owner sessionidОтбор пакетов, созданных процессом в указанном сеансе sessionid.stateЗагружается явно посредством параметра —т.
Модульпозволяет производить отбор на основе состояния соединения для пакета.—state statesОтбор пакета в случае его соответствия одному из состояний списка states (элементы разделяются запятыми). Доступные значения: INVALID, ESTABLISHED,NEW и RELATED.tos Загружается явно посредством параметра -т.
Этот модуль позволяет производить отбор по полю Type of Service (Тип сервиса) заголовка пакета.—tos valueОтбор пакета, если его поле TOS имеет указанное значение. Значение может определяться числом или строковым идентификатором Type of Service. Доступныезначения можно получить, выполнив команду iptables-m tos -h.Целевые расширенияЦелевые расширения являются необязательными дополнительными целями, которые поддерживаются отдельнымимодулями ядра.
Каждая дополнительная цель имеет собственные уникальные параметры.Алфавитный перечень команд239iptablesLOGЗапись информации о пакетах в системный журнал.—log-level levelЗадать уровень по имени или номеру (как определяется в файле syslog.conf).—log-prefix prefixПредварять каждую запись в журнале строкой prefix.Длина строки prefix не может превышать 30 символов.—log-tcp-sequenceРегистрировать числа TCP-последовательности. Небезопасно, если журнал доступен пользователям длячтения.—log-tcp-optionsРегистрировать параметры из заголовков TCP-пакетов.—log-ip-optionsРегистрировать параметры из заголовков IP-пакетов.MARKСлужит для отметки пакетов положительными целымизначениями, которые позже могут использоваться какрасширения критерия mark. Допустимо применениетолько с таблицей mangle.—set-mark valueПометить пакет указанным значением.REJECTУдалить пакет и при необходимости послать отправителю ICMP-уведомление об удалении пакета.
Такое уведомление не посылается, если пакет содержал ICMP-сообщение об ошибке, неизвестный ICMP-тип или недопустимый фрагмент, либо если слишком большое количествосообщений ICMP уже было отправлено на данный адрес.—reject-with typeОтправить сообщение ICMP указанного типа. Допустимые типы: icmp-net-unreachable, icmp-host-unreachable, icmp-port-unreachable или icmp-protocol-unreachable.
Для ICMP-пакетов ping, аргумент type можетпринимать значение echo-reply.240iptablesГлава 3. Команды LinuxTOSУстановить поле Type of Service в заголовке IP-пакета.TOS является допустимой целью только для правил таблицы mangle.—set-tos valueУстановить поле TOS в значение value. Может бытьуказано 8-битное значение либо идентификатор TOS.Список доступных идентификаторов можно получитьпо команде iptables —j TOS -h.SNATИзменить исходный адрес пакета и всех последующихпакетов текущего соединения. Применение SNAT допустимо только для цепи POSTROUTING таблицы nat.—to-sourceaddress[-address][port-port]Определить новый исходный адрес или диапазон адресов. Если параметром —р был определен протокол tcpили udp, то могут быть также заданы и исходные порты. Если порты не указаны, по возможности происходит отображение в соответствующие порты.
В противном случае порты с номерами, меньшими 512, отображаются в другие порты с номерами, меньшими 512,порты с номерами в диапазоне 512-1024 отображаются в другие порты с номерами, меньшими 1024, а порты с номерами, большими 1024 - в другие порты с номерами, большими 1024.DNATИзменение целевого адреса пакета и всех последующихпакетов текущего соединения.
Использование DNAT допустимо только для цепи POSTROUTING таблицы nat.—to-destination address[-address][port-port]Определить новый целевой адрес или диапазон адресов. Синтаксис аргументов идентичен синтаксису дляцели SNAT.MASQUERADEСкрыть адрес пакета, чтобы он считался исходящим изтекущей системы.
Ответные пакеты в маскированных соединениях автоматически получают нужный целевой адрес. Данная цель является допустимой только для цепейтаблицы nat, обрабатывающих входящие пакеты, и должна применяться только с динамическими IP-адресамиАлфавитный перечень команд(как при коммутируемых соединениях). Для статическихIP-адресов следует использовать DNAT.241iptables—to-ports port[-port]Указать порт или диапазон портов для примененияпри сокрытии адресов. Параметр допустим только вслучае указания протоколов tcp и udp посредством команды —р. Если данный параметр опущен, порт пакета, для которого производится сокрытие адреса, не будет изменен.REDIRECT [—to-port port]Переадресовать пакет на локальный порт.
Полезно присоздании прозрачных прокси-серверов.—to-ports port[-port]Указать порт или диапазон портов локальной системыдля переадресации пакета. Параметр допустимо использовать только в случае указания протоколов tcp иudp посредством команды —р. Если данный параметропущен, порт пакета, для которого производится переадресация, изменен не будет.iptables-restore [file]iptables-restoreКоманда системного администрирования. Восстановлениеправил брандмауэра. Для восстановления цепей и правил вних iptables-restore использует набор команд, созданный iptables-save. Команда часто вызывается из сценариев инициализации для восстановления настроек брандмауэра при загрузке. Параметр f i l e определяет имя файла, созданного iptables-save. Если имя файла не указано, выполняется чтение со стандартного ввода.