iptables和防火墙有什么关系?

我尝试按照以下规则打开我的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选项,这意味着在链的开头插入。 如果在append之前的最后一条规则是放弃所有stream量,那么您的新规则将永远不会被调用。

您可以通过运行下面的查询来检查您执行的命令是否有效。

iptables -L