我在启动时启用 ufw 时遇到问题,如果我执行以下操作,它可以正常工作:
sudo ufw enable
。但重启 puf 后,我必须重做。
我试过:
sudo /lib/ufw/ufw-init stop ; sudo /lib/ufw/ufw-init start
并收到以下错误:
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
FATAL: Module nf_conntrack_ftp not found.
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
FATAL: Module nf_nat_ftp not found.
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
FATAL: Module nf_conntrack_netbios_ns not found.
iptables-restore: line 69 failed
iptables-restore: line 30 failed
ip6tables-restore: line 65 failed
Problem running '/etc/ufw/before.rules'
Problem running '/etc/ufw/after.rules'
Problem running '/etc/ufw/before6.rules'
在文件 /etc/ufw/after.rules 中,问题出在 COMMIT 最后一行,因此我反复试验,找到了最初的罪魁祸首:
-A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input
取消注释并将其从错误中删除。
至于其余的,我无法全部介绍,因为它们包含很多规则!
关于如何解决启动问题有什么想法吗?
答案1
作为 OpenVZ 上的另一种工作解决方案(因为 ufw 可以从命令行工作,但由于modprobe
、rsyslog
、ipv6
和其他原因不能在 init 上工作),它不需要 no-opingmodprobe
和其他调整,可以ufw
通过启用/etc/rc.local
。
在这种情况下,使用ufw --force enable
跳过是/否的警告提示。
您还可以在启用命令之前添加规则(例如ufw allow 22
),以确保在规则丢失或以某种方式修改时您不会被锁定在系统之外。