используется для проверки исходного MAC-адреса пакета. Расширение -m mac, на сегодняшний день, предоставляет единственный критерий, но возможно в будущем он будет расширен и станет более полезен.
ПРИМЕЧАНИЕ: Модуль расширения должен подгружаться явно ключом -m mac. Упоминаю я об этом потому, что многие, забыв указать этот ключ, удивляются, почему не работает этот критерий.
Таблица 6-9. Ключи критерия MAC
(Ключ – Пример – Описание)
Ключ: –mac-source
Пример: iptables -A INPUT -m mac –mac-source 00:00:00:00:00:01
Описание:
6.4.3.3. Критерий Mark
Критерий mark предоставляет возможность «пометить» пакеты специальным образом. Mark – специальное поле, которое существует только в области памяти ядра и связано с конкретным пакетом. Может использоваться в самых разнообразных целях, например, ограничение трафика и фильтрация. На сегодняшний день существует единственная возможность установки метки на пакет в Linux – это использование действия MARK. Поле mark представляет собой беззнаковое целое число в диапазоне от 0 до 4294967296 для 32-битных систем.
Таблица 6-10. Ключи критерия Mark
(Ключ – Пример – Описание)
Ключ: –mark
Пример: iptables -t mangle -A INPUT -m mark –mark 1
Описание: Критерий производит проверку пакетов, которые были предварительно «помечены». Метки устанавливаются действием MARK, которое мы будем рассматривать ниже. Все пакеты, проходящие через netfilter имеют специальное поле mark. Запомните, что нет никакой возможности передать состояние этого поля вместе с пакетом в сеть. Поле mark является целым беззнаковым, таким образом можно создать не более 4294967296 различных меток. Допускается использовать маску с меткам. В данном случае критерий будет выглядеть подобным образом: –mark 1/1. Если указывается маска, то выполняется логическое AND метки и маски.
6.4.3.4. Критерий Multiport
Расширение multiport позволяет указывать в тексте правила несколько портов и диапазонов портов.
ПРИМЕЧАНИЕ: Вы не сможете использовать стандартную проверку портов и расширение -m multiport (например –sport 1024:63353 -m multiport – dport 21,23,80) одновременно. Подобные правила будут просто отвергаться iptables.
Таблица 6-11. Ключи критерия Multiport
(Ключ – Пример – Описание)
Ключ: –source-port
Пример: iptables -A INPUT -p tcp -m multiport –source-port 22,53,80,110
Описание: Служит для указания списка исходящих портов. С помощью данного критерия можно указать до 15 различных портов. Названия портов в списке должны отделяться друг от друга запятыми, пробелы в списке не допустимы. Данное расширение может использоваться только совместно с критериями -p tcp или -p udp. Главным образом используется как расширенная версия обычного критерия –source-port.
Ключ: –destination-port
Пример: iptables -A INPUT -p tcp -m multiport –destination-port 22,53,80,110
Описание: Служит для указания списка входных портов. Формат задания аргументов полностью аналогичен -m multiport –source-port.
Ключ: –port
Пример: iptables -A INPUT -p tcp -m multiport –port 22,53,80,110
Описание: Данный критерий проверяет как исходящий так и входящий порт пакета. Формат аргументов аналогичен критерию –source-port и –destination- port. Обратите внимание на то что данный критерий проверяет порты обеих направлений, т.е. если вы пишете -m multiport –port 80, то под данный критерий подпадают пакеты, идущие с порта 80 на порт 80.
6.4.3.5. Критерий Owner
Расширение owner предназначено для проверки «владельца» пакета. Изначально данное расширение было написано как пример демонстрации возможностей iptables. Допускается использовать этот критерий только в цепочке
Таблица 6-12. Ключи критерия Owner
(Ключ – Пример – Описание)
Ключ: -uid-owner
Пример: iptables -A OUTPUT -m owner –uid-owner 500
Описание: Производится проверка «владельца» по User ID (UID). Подобного рода проверка может использоваться, к примеру, для блокировки выхода в Интернет отдельных пользователей.
Ключ: –gid-owner
Пример: iptables -A OUTPUT -m owner –gid-owner 0
Описание: Производится проверка «владельца» пакета по Group ID (GID).
Ключ: –pid-owner
Пример: iptables -A OUTPUT -m owner –pid-owner 78
Описание: Производится проверка «владельца» пакета по
Ключ: –sid-owner
Пример: iptables -A OUTPUT -m owner –sid-owner 100
Описание: Производится проверка