![如何在 Fedora 18 上重新启用 iptables?](https://linux22.com/image/28827/%E5%A6%82%E4%BD%95%E5%9C%A8%20Fedora%2018%20%E4%B8%8A%E9%87%8D%E6%96%B0%E5%90%AF%E7%94%A8%20iptables%EF%BC%9F.png)
防火墙D是 Fedora 18 中的默认防火墙。我已经使用了iptables
相当长一段时间,并且有一个自定义配置,我需要它来记录 ip 流量。我不习惯新的图形界面,它似乎缺乏旧图形界面中的许多功能,可以轻松加载。
我尝试使用以下命令重新启用旧的 iptables:
# systemctl stop firewalld.service
# systemctl start iptables.service
# systemctl start ip6tables.service
消息日志显示:
systemd 1 使用 iptables 启动 IPv4 防火墙。systemd
1 使用 ip6tables 启动 IPv6 防火墙。
但从 中systemctl -t service -a
,我可以看到,尽管已加载,但两者仍然处于不活动状态并且处于死亡状态。
尽管如此,我尝试加载自定义配置
iptables-restore < iptables.conf
但收到一系列警告:
警告:状态匹配已过时。请改用 conntrack。
警告:状态匹配已过时。请改用 conntrack。
警告:状态匹配已过时。请改用 conntrack。
警告:状态匹配已过时。请改用 conntrack。
警告:状态匹配已过时。请改用 conntrack。
我应该怎么做才能让 iptables 恢复工作?
答案1
在我看来,这是因为 10 月份发布了新版本的 iptables。-m state --state
已被废弃,取而代之的是-m conntrack --ctstate
.因此,“状态匹配已过时。请改用 conntrack。”
http://forums.gentoo.org/viewtopic-t-940302-start-0.html
http://blog.yjl.im/2012/11/iptables-state-match-is-obsolete-use.html
'conntrack' 在我的手册页中(1.4.14,即不是最新的):
conntrack 该模块与连接跟踪结合使用时,允许访问该数据包/连接的连接跟踪状态。
[!] --ctstate statelist statelist 是要匹配的连接状态的逗号分隔列表。下面列出了可能的状态。
[...]
--ctstate 的状态:
INVALID 表示数据包与未知连接相关联
NEW 表示数据包已启动新连接,或以其他方式与未在两个方向上看到数据包的连接相关联,并且
ESTABLISHED 表示数据包与已在两个方向上看到数据包的连接关联,
RELATED 表示数据包正在启动新连接,但与现有连接相关联,例如 FTP 数据传输或 ICMP 错误。
[...]
顺便说一句,感谢您对此的提醒。