![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Чтобы вывести список правил нужно выполнить команду
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 По мере того, как Вы продолжите углубляться в исследование
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
Вам необходимо внести дополнения в этот скрипт,
поскольку он ее не обрабатывает.
Приложение A. Детальное описание специальных команд
A.1. Вывод списка правил
A.2. Изменение и очистка Ваших таблиц