Назад | Перейти на главную страницу

Iptables зависает при перечислении правил

Если я использую iptables -L для вывода всех правил в iptables, он будет случайным образом зависать на разных IP-адресах, прежде чем продолжить печать списка. Он зависает на несколько секунд, причем каждый раз на разных ip-адресах. Мои общие правила перечислены ниже. то у меня есть пара локальных IP-адресов и несколько разрешенных удаленных IP-адресов. Есть ли правило, которое я забыл в отношении поиска?

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp
ACCEPT     udp  --  anywhere             anywhere            udp dpt:25
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED

В iptables команда попытается выполнить обратный поиск по IP-адресам. Это приведет к тому поведению, которое вы описываете. Вы можете запретить обратный поиск с помощью -n flag, поэтому я всегда перечисляю такие правила:

iptables -vnL

Этот факт и многие другие полезные факты можно найти в iptables справочная страница. Соответствующий раздел о -n читает:

-L, --list [chain]
List all rules in the selected chain. If no chain is selected, all chains
are listed. Like every other iptables command, it applies to the specified
table (filter is the default), so NAT rules get listed by

  iptables -t nat -n -L

Please note that it is often used with the -n option, in order to avoid
long reverse DNS lookups. It is legal to specify the -Z (zero) option as
well, in which case the chain(s) will be atomically listed and zeroed. The
exact output is affected by the other arguments given. The exact rules are
suppressed until you use

  iptables -L -v