При работе с 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 INPUT ACCEPT особенно важна. Она определяет что будет происходить со всеми входящими пакетами не подошедшими под установленные правила. Если задано действие DROP и очищены правила iptables к серверу подключиться не получится. Лучше всегда оставлять ACCEPT и блокировки задавать правилами, а не политиками.
Через iptables настраиваются как базовые firewall-ы, так и сложные конфигурации — например, с перенаправлением трафика с хост машины в LXD контейнеры.