RussianLDP Є┼╩╘╔╬╟@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 


Приложение A. Детальное описание специальных команд

A.1. Вывод списка правил

Чтобы вывести список правил нужно выполнить команду iptables с ключом L, который кратко был описан ранее в главе Как строить правила . Выглядит это примерно так:

iptables -L

Эта команда выведет на экран список правил в удобочитаемом виде. Номера портов будут преобразованы в имена служб в соответствии с файлом /etc/services, IP-адреса будут преобразованы в имена хостов через разрешение имен в службе DNS. С разрешением (resolving) имен могут возникнуть некоторые проблемы, например, имея сеть 192.168.0.0/16 служба DNS не сможет определить имя хоста с адресом 192.168.1.1, в результате произойдет подвисание команды. Чтобы обойти эту проблему, следует выполнить вывод списка правил с дополнительным ключом:

iptables -L -n

Чтобы вывести дополнительную информацию о цепочках и правилах, выполните:

iptables -L -n -v

Не забывайте о ключе -t, который может быть использован для просмотра таблиц nat и mangle, например:

iptables -L -t nat

В файловой системе /proc имеется ряд файлов, которые содержат достаточно интересную для нас информацию. Например, допустим, нам захотелось просмотреть список соединений в таблице conntrack. Это основная таблица, которая содержит список трассируемых соединений, и в каком состоянии каждое из них находится. Для просмотра таблицы выполните команду:

cat /proc/net/ip_conntrack | less


A.2. Изменение и очистка Ваших таблиц

По мере того, как Вы продолжите углубляться в исследование iptables, перед Вами все актуальнее будет вставать вопрос об удалении отдельных правил из цепочек без необходимости перезагрузки машины. Сейчас я попробую на него ответить. Если Вы по ошибке добавили какое-либо правило, нужно только заменить команду -A на команду -D в строке правила. iptables найдет заданное правило и удалит его. Если имеется несколько правил, которые выглядят как заданный шаблон для удаления, то будет стерто первое из найденных правил. Если такой порядок вещей Вас не устраивает, то команде -D в качестве параметра можно передать номер удаляемой строки, например, команда iptables -D INPUT 10 сотрет десятое правило в цепочке INPUT. Чтобы узнать номер правила, дайте команду iptables -L имя_цепочки --line-numbers, тогда правила будут выводиться со своими номерами.

Для удаления содержимого целой цепочки используйте команду -F. Например: iptables -F INPUT сотрет все правила в цепочке INPUT, однако эта команда не изменяет политики цепочки по умолчанию, так что если она установлена как DROP, то будет блокироваться все, что попадает в цепочку INPUT. Чтобы сбросить политику по умолчанию, нужно просто установить ее в первоначальное состояние, например, iptables -P INPUT ACCEPT. Если таблица не указана явно ключом -t (--table) , то очистка цепочек производится ТОЛЬКО в таблице filter.

Мною был написан небольшой скрипт (описанный несколько выше), который производит очистку всех таблиц и цепочек и переустанавливает политики цепочек в iptables. Запомните, что при использовании таблицы mangle Вам необходимо внести дополнения в этот скрипт, поскольку он ее не обрабатывает.

[an error occurred while processing this directive]