Операционные системы - статьи

         

Команды операций с целыми цепочками


Вы можете создавать свои цепочки правил. Называть цепочки можно любыми именами, кроме имен встроенных цепочек и стандартных действий (т.е. 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 в правилах цепочки позволяет применить к подходящему пакету текущую политику цепочки вместо конкретного действия.


    Содержание раздела