iptables правила и политики

При работе с 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 контейнеры.