Команды операций с целыми цепочками
Вы можете создавать свои цепочки правил. Называть цепочки можно любыми именами, кроме имен встроенных цепочек и стандартных действий (т.е. input, output, forward, ACCEPT, DENY, REJECT, MASQ, REDIRECT, RETURN). Не рекомендуется использовать в именах большие буквы, поскольку они могут быть задействованы в следующих версиях ipchains. Имя цепочки может содержать до 8 символов.
Создание новой цепочки производится командой '-N' (new), например: ipchains -N test
Удаление цепочки производится командой '-X', например: ipchains -X test
Почему '-X'? А потому, что все хорошие буквы уже задействованы. Существует ограничение: цепочку можно удалить только если она пустая (т.е. в ней нет ни одного правила), и если на нее не ссылаются никакие правила из других цепочек.
Очистка (flushing) цепочки (т.е. удаление из нее всех правил) производится командой '-F' (flush), например: ipchains -F forward
Если имя цепочки не указано, то будут очищены все цепочки.
Просмотр одной цепочки или всех сразу производится командой '-L' (list), например: ipchains -L input
Если имя цепочки не указано, то будут показаны все цепочки. В выводимой информации значение refcnt означает, сколько правил ссылаются на данную цепочку в своих действиях. Чтобы цепочку можно было удалить, ее refcnt должен быть равен 0. Вместе с командой '-L' можно указывать следующие флаги:
- '-n' (numeric) - не преобразовывать IP-адреса в символические
- '-v' (verbose) - показывать дополнительную информацию по правилам, в т.ч. счетчики байт и пакетов, маски Типов Обслуживания, маркировку пакетов. Если -v не указан, то эта информация не выводится.
- '-x' (expand numbers) - обычно счетчики пакетов и байт выводятся с использованием суффиксов 'K', 'M' и 'G' (обозначающих, соответственно, 1000, 1 000 000 и 1 000 000 000). Флаг -x позволяет просмотреть точные значения счетчиков, как бы велики они ни были.
Сброс (обнуление) счетчиков производится командой '-Z' (zero), например: ipchains -Z input
Если имя цепочки не указано, то обнуляются счетчики всех цепочек.
Иногда требуется узнать состояние счетчиков непосредственно перед обнулением. Применение последовательно команд 'ipchains -L -v' и 'ipchains -Z' не подходит, поскольку в промежутке между их выполнением счетчики могут изменить свое значение. В таком случае можно указать обе команды в одном вызове: ipchains -L -v -Z
но при этом нельзя задать конкретную цепочку - статистика будет выведена и затем сброшена для всех цепочек сразу.
Задание политики для цепочки производится командой '-P' (policy). Если пакет не удовлетворяет ни одному условию в цепочке, то к нему применяется политика цепочки. Политика может задаваться только для встроенных цепочек (input, output, forward). Политика может быть: ACCEPT, DENY, REJECT а для пересылочной цепочки еще и MASQ. Задание политики MASQ для пересылочной цепочки не рекомендуется по соображениям безопасности: злоумышленник может настроить маршрутизацию своих пакетов на ваш шлюз, и его пакеты, не соответствующие явно никаким правилам в пересылочной цепочке, будут по умолчанию маскарадиться. В результате он сможет работать в интернете с IP-адреса вашего шлюза, скрывая свой реальный адрес.
Хинт: использование действия RETURN в правилах цепочки позволяет применить к подходящему пакету текущую политику цепочки вместо конкретного действия.