Кроме основных операций ACCEPT, DROP, CONTINUE, RETURN программа ebtables поддерживает ряд описанных ниже дополнительных операций.
Соответствие arpreply
Проверка соответствия arpreply может использоваться в цепочке PREROUTING таблицы nat. Если эта операция получает запрос ARP, она будет автоматически генерировать ARP-отклик, используя для него указанный правилом MAC-адрес. Если полученный кадр не является запросом ARP, никаких действий эта операция не выполняет. Опция
--arpreply-mac address
задает MAC-адрес для откликов ARP. Указанное значение помещается в поле адреса отправителя кадра Ethernet и поле данных ARP.
--arpreply-target target
задает стандартную операцию для правила. После отправки отклика ARP программа ebtables будет выполнять эту операцию. По умолчанию после передачи отклика кадр отбрасывается (операция DROP).
Для работы с откликами ARP требуется ядро со включенной опцией ebt: arp reply target support. Если для опции было выбрано значение M, потребуется также загрузить модуля ядра ebt_arpreply.
Операция dnat
Операция dnat может использоваться в цепочке BROUTING таблицы broute, а также цепочках PREROUTING и OUTPUT таблицы nat. Опция
--to-destination address
Задает значение MAC-адреса, используемое для подстановки в пакеты. Можно использовать также краткую форму опции --to-dst.
--dnat-target target
задает для правила стандартную операцию, выполняемую после замены адреса. По умолчанию в этом качестве используется операция ACCEPT. Указав стандартную операцию CONTINUE, вы сможете выполнить для пакета другие дополнительные операции. Использовать стандартную операцию DROP имеет смысл только для цепочки BROUTING, но логичней для таких случаев применять описанную ниже операцию redirect (стр. 190). В качестве итоговой можно указывать и операцию RETURN.
Для использования функций трансляции MAC-адресов получателей требуется ядро со включенной опцией ebt: dnat target support. Если для этой опции было выбрано значение M, потребуется также загрузка модуля ядра ebt_dnat.
Операция mark
Операция mark может использоваться во всех цепочках любой из таблиц и обеспечивает возможность маркировки кадров при выполнении заданных правилом условий. Значение маркера задается опцией
--set-mark value
а параметр
--mark-target target
указывает стандартную операцию, выполняемую после маркировки кадра. По умолчанию маркировка завершается операцией ACCEPT. Воспользовавшись стандартной операцией CONTINUE вы сможете передать кадр для дальнейшей обработки правилами цепочки.
Для маркировки кадров требуется ядро со включенной опцией ebt: mark target support. Если для опции было выбрано значение M, потребуется также загрузить модуль ядра ebt_mark.
Операция redirect
Операция redirect будет заменять MAC-адрес получателя на адрес интерфейса моста, через который был принят кадр. Операцию можно использовать только в цепочке BROUTING таблицы broute и цепочке PREROUTING таблицы nat. Опция
--redirect-target target
задает стандартную операцию, выполняемую после замены адреса получателя. По умолчанию используется операция ACCEPT. Если вы хотите использовать для правила дополнительные проверки, укажите операцию CONTINUE. Операция DROP в цепочке BROUTING будет передавать кадр маршрутизатору (взамен использования функций моста). Операция RETURN будет возвращать управление в вызвавшую правило цепочку (RETURN нельзя использовать для встроенных цепочек).
Для поддержки операций замены адреса получателя требуется ядро со включенной опцией ebt: redirect target support. Если для опции ядра было выбрано значение M, потребуется также загрузить модуль ebt_redirect.
Операция snat
Операция snat может использоваться только в цепочке POSTROUTING таблицы nat. Опция
--to-source address
задает помещаемое в кадр значение MAC-адреса отправителя и может использоваться в сокращенной форме --to-src.
--snat-target target
задает стандартную операцию, выполняемую после замены адреса отправителя. По умолчанию используется операция ACCEPT. Если вы хотите использовать для правила дополнительные проверки, укажите операцию CONTINUE. Операция DROP не имеет смысла, но вы можете ее использовать, если ничего иного не приходит в голову. Операция RETURN будет возвращать управление в вызвавшую правило цепочку (RETURN нельзя использовать для встроенных цепочек).
Для замены адреса отправителя требуется ядро со включенной опцией ebt: snat target support. При выборе для опции значения M, вы должны будете также загрузить модуль ядра ebt_snat.
|