При работе с iptables посмотреть правила посмотреть правила можно несколькими способами. Во всех случаях понадобятся привилегии суперпользователя поскольку iptables — это модуль ядра и рядовые системные пользователи работать с ним не могут.
Как в iptables посмотреть правила
В документации по утилите можно найти основные ключи — это прежде всего -L (--list
)
При его использовании в консоль выводятся все правила, если добавить -n — они будут пронумерованы.
iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp — 0.0.0.0/0 0.0.0.0/0 udp dpt:53
…
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all — 0.0.0.0/0 192.168.122.0/24 ctstate RELATED,ESTABLISHED
…
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp — 0.0.0.0/0 0.0.0.0/0 udp dpt:68
Ещё один пример вывода на скриншоте:
Здесь правил нет, заданы только значения по умолчанию для цепочек.
На практике удобно пользоваться iptables-save, команда нужна для сохранения добавленных правил в файл (iptables-save > filename), но подходит и для просмотра цепочек.
Она в отличие от предыдущей не выводит очень подробной информации которая обычно не нужна.
iptables-save
Пример вывода:
При работе с iptables посмотреть правила часто недостаточно для составления полной картины. Также значение имеют политики по-умолчанию для приходящих, пересылаемых и генерируемых на сервере пакетов.
Посмотреть цепочки можно так:
iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport
53 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport
53 -j ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport
67 -j ACCEPT
…
Помимо правил в выводе есть политики, они задаются ключом -P
Политика -P INPUT ACCEPT особенно важна. Она определяет политику для входящих соединений. Определяет что будет происходить со всеми входящими пакетами не подошедшими под установленные правила.
Если задано действие DROP и очищены правила iptables к серверу подключиться не получится. Лучше всегда оставлять ACCEPT и блокировки задавать правилами, а не политиками.
Просмотр политик iptables
Выполнив iptables -S можно посмотреть установленные значения политик.
Пример просмотра политик iptables:
Через iptables настраиваются как базовые firewall-ы, так и сложные конфигурации. Например, с перенаправлением трафика с хост машины в LXC контейнеры на адрес в приватном диапазоне.
Последнее реализуется через iptables prerouting.
Читайте также о том как настроить автозагрузку правил iptables при перезагрузке сервера.