我在 Fedora 19 上。我的理解是否正确:只要firewalld
启动并运行(并使用 正确配置firewall-config
), 的内容/etc/sysconfig/iptables
就没有意义?
我之所以问这个问题,是因为当我运行“iptables -L”时,我可以看到:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
INPUT_direct all -- anywhere anywhere
INPUT_ZONES_SOURCE all -- anywhere anywhere
INPUT_ZONES all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
我特别不喜欢这个:
"ACCEPT all -- anywhere"
答案1
该特定行可能仅用于环回接口。它在此输出中不可见。尝试查看/etc/sysconfig/iptables
或运行iptables-save
以获取包括接口在内的完整配置。
答案2
这可能会令人困惑,因为iptables
工具, 一个iptables
服务, 和/etc/sysconfig/iptables
配置文件。
该iptables
工具直接与内核的数据包过滤器通信,无论您使用service iptables
还是 ,此命令都有效firewalld
。
根据文档这里,firewalld
不使用(可能忽略)/etc/sysconfig/iptables
。此文件通常不存在于配置为使用 的系统中firewalld
。相反,firewalld
使用“各种 XML 文件”永久保存防火墙配置。
如果没有显示完整规则的选项,报告可能会令人担忧。在这种情况下,第二条规则被限制在环ACCEPT all -- anywhere
回iptables -L
接口上:-v
lo
$ sudo iptables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
38844 20M ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 ACCEPT all -- lo any anywhere anywhere
...