Я пытаюсь открыть свой DNS-порт по следующим правилам:
iptables -A INPUT -p udp -m state --state NEW --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT
service iptables save
service iptables restart
Но это не работает, тогда я пытаюсь открыть DNS из следующего:
system-config-firewall-tui
И это работает.
Какая связь между iptables и межсетевым экраном?
В system-config-firewall
это просто интерфейс для iptables, который является интерфейсом для netfilter, брандмауэра в ядре Linux. В любом случае ваше правило открытия DNS неверно, оно должно быть:
iptables -I INPUT -p udp -m state --state NEW --dport 53 -j ACCEPT iptables -I INPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT
Вы должны использовать -I
вариант, что означает вставку в начало цепочки. Если в вашем последнем правиле перед добавлением указано «отбросить весь трафик», то новое правило никогда не будет запущено.
Вы можете проверить, эффективна ли выполненная вами команда, выполнив запрос ниже.
iptables -L