如何在 RHEL 7 和 Fedora 18 上启用 iptables(而不是 firewalld)服务?

如何在 RHEL 7 和 Fedora 18 上启用 iptables(而不是 firewalld)服务?

最新的 Fedora 已将 Firewalld 作为新的防火墙应用程序。我喜欢旧的 iptables 服务。我想恢复它们,但不知道如何做。我尝试过:

systemctl disable firewalld.service
systemctl stop firewalld.service
systemctl enable iptables.service
systemctl enable ip6tables.service
systemctl start iptables.service
systemctl start ip6tables.service

但它不起作用!在 wiki 或 Google 上找不到任何帮助。

禁用firewalld 工作正常,但是当我尝试启用 iptables.service 时,我得到:

systemctl enable iptables.service
Failed to issue method call: No such file or directory

答案1

确保已iptables-services安装该软件包。此旧软件包为之前的 iptables 调用提供了 systemd 脚本。此软件包并非总是安装,具体取决于您在安装(或升级)时做出的安装选择。

yum install iptables-services

当然,如果可能的话,你应该使用新的firewalld系统。只有当firewalld无法提供你需要的功能时,才需要恢复到旧系统。

答案2

这可能很棘手。

确实

# yum install iptables-services
# systemctl start iptables
# systemctl enable iptables
# iptables -P INPUT ACCEPT
# iptables -F  # the policy is so you don't cut yourself off here
# ...
# ...  (iptables policies and rules as desired)
# iptables -P INPUT DROP # assumes you have input filters to keep ports open (optional)
# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

那么你就有了持久的防火墙规则....但是

在放弃 qfirewalldq 之前请仔细考虑。如果您计划使用 docker 和容器或 Nessus,目前您别无选择,但 Firewalld 确实可以与大多数平台/应用程序很好地兼容。

相关内容