6.3. Команды

6.3. Команды

Ниже приводится список команд и правила их использования. Посредством команд мы сообщаем iptables что мы предполагаем сделать. Обычно предполагается одно из двух действий – добавление нового правила в цепочку или удаление существующего правила из той или иной таблицы. Далее приведены команды, которые используются в iptables.

Таблица 6-2. Команды

(Команда – Пример – Описание)

Команда: -A, –append

Пример: iptables -A INPUT ...

Описание: Добавляет новое правило в конец заданной цепочки.

Команда: -D, –delete

Пример: iptables -D INPUT –dport 80 -j DROP, iptables -D INPUT 1

Описание: Удаление правила из цепочки. Команда имеет два формата записи, первый – когда задается критерий сравнения с опцией -D (см. первый пример), второй – порядковый номер правила. Если задается критерий сравнения, то удаляется правило, которое имеет в себе этот критерий, если задается номер правила, то будет удалено правило с заданным номером. Счет правил в цепочках начинается с 1.

Команда: -R, –replace

Пример: iptables -R INPUT 1 -s 192.168.0.1 -j DROP

Описание: Эта команда заменяет одно правило другим. В основном она используется во время отладки новых правил.

Команда: -I, –insert

Пример: iptables -I INPUT 1 –dport 80 -j ACCEPT

Описание: Вставляет новое правило в цепочку. Число, следующее за именем цепочки указывает номер правила, перед которым нужно вставить новое правило, другими словами число задает номер для вставляемого правила. В примере выше, указывается, что данное правило должно быть 1-м в цепочке INPUT.

Команда: -L, –list

Пример: iptables -L INPUT

Описание: Вывод списка правил в заданной цепочке, в данном примере предполагается вывод правил из цепочки INPUT. Если имя цепочки не указывается, то выводится список правил для всех цепочек. Формат вывода зависит от наличия дополнительных ключей в команде, например -n, -v, и пр.

Команда: -F, –flush

Пример: iptables -F INPUT

Описание: Сброс (удаление) всех правил из заданной цепочки (таблицы). Если имя цепочки и таблицы не указывается, то удаляются все правила, во всех цепочках. (Хочется от себя добавить, что если не указана таблица ключом -t (–table), то очистка цепочек производится только в таблице filter, прим. перев. )

Команда:-Z, –zero

Пример: iptables -Z INPUT

Описание: Обнуление всех счетчиков в заданной цепочке. Если имя цепочки не указывается, то подразумеваются все цепочки. При использовании ключа -v совместно с командой -L, на вывод будут поданы и состояния счетчиков пакетов, попавших под действие каждого правила. Допускается совместное использование команд -L и -Z. В этом случае будет выдан сначала список правил со счетчиками, а затем произойдет обнуление счетчиков.

Команда: -N, –new-chain

Пример: iptables -N allowed

Описание: Создается новая цепочка с заданным именем в заданной таблице В выше приведенном примере создается новая цепочка с именем allowed. Имя цепочки должно быть уникальным и не должно совпадать с зарезервированными именами цепочек и действий (такими как DROP, REJECT и т.п.)

Команда: -X, –delete-chain

Пример: iptables -X allowed

Описание: Удаление заданной цепочки из заданной таблицы. Удаляемая цепочка не должна иметь правил и не должно быть ссылок из других цепочек на удаляемую цепочку. Если имя цепочки не указано, то будут удалены все цепочки заданной таблице кроме встроенных.

Команда: -P, –policy

Пример: iptables -P INPUT DROP

Описание: Задает политику по-умолчанию для заданной цепочки. Политика по-умолчанию определяет действие, применяемое к пакетам не попавшим под действие ни одного из правил в цепочке. В качестве политики по умолчанию допускается использовать DROP и ACCEPT.

Команда: -E, –rename-chain

Пример: iptables -E allowed disallowed

Описание: Команда -E выполняет переименование пользовательской цепочки. В примере цепочка allowed будет переименована в цепочку disallowed. Эти переименования не изменяют порядок работы, а носят только косметический характер.

Команда должна быть указана всегда. Список доступных команд можно просмотреть с помощью команды iptables -h или, что тоже самое, iptables –help. Некоторые команды могут использоваться совместно с дополнительными ключами. Ниже приводится список дополнительных ключей и описывается результат их действия. При этом заметьте, что здесь не приводится дополнительных ключей, которые используются при построении критериев (matches) или действий (targets). Эти опции мы будем обсуждать далее.

Таблица 6-3. Дополнительные ключи

(Ключ – Команды, с которыми используется – Описание)

Ключ: -v, –verbose

Команды, с которыми используется:–list, –append, –insert, –delete, –replace

Описание: Используется для повышения информативности вывода и, как правило, используется совместно с командой –list. В случае использования с командой –list, в вывод этой команды включаются так же имя интерфейса, счетчики пакетов и байт для каждого правила. Формат вывода счетчиков предполагает вывод кроме цифр числа еще и символьные множители K (x1000), M (x1,000,000) и G (x1,000,000,000). Для того, чтобы заставить команду –list выводить полное число (без употребления множителей) требуется применять ключ -x, который описан ниже. Если ключ -v, –verbose используется с командами –append, –insert, –delete или –replace, то будет выведен подробный отчет о произведенной операции.

Ключ: -x, –exact

Команды, с которыми используется:–list

Описание: Для всех чисел в выходных данных выводятся их точные значения без округления и без использования множителей K, M, G. Этот ключ используется только с командой –list и не применим с другими командами.

Ключ:-n, –numeric

Команды, с которыми используется:–list

Описание: Заставляет iptables выводить IP-адреса и номера портов в числовом виде предотвращая попытки преобразовать их в символические имена. Данный ключ используется только с командой –list.

Ключ:–line-numbers

Команды, с которыми используется:–list

Описание: Ключ –line-numbers включает режим вывода номеров строк при отображении списка правил командой –list. Номер строки соответствует позиции правила в цепочке. Этот ключ используется только с командой –list.

Ключ: -c, –set-counters

Команды, с которыми используется: –insert, –append, –replace

Описание: Этот ключ используется для установки начального значения счетчиков пакетов и байт в заданное значение при создании нового правила. Например, ключ –set-counters 20 4000 установит счетчик пакетов = 20, а счетчик байт = 4000.

Ключ: –modprobe

Команды, с которыми используется: Все

Описание: Ключ –modprobe определяет команду загрузки модуля ядра. Данный ключ может использоваться в случае, когда модули ядра находится вне пути поиска (search path). Этот ключ может использоваться с любой командой.