最新的 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 确实可以与大多数平台/应用程序很好地兼容。