![UFW 在启动时未完全加载规则](https://linux22.com/image/216096/UFW%20%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E6%9C%AA%E5%AE%8C%E5%85%A8%E5%8A%A0%E8%BD%BD%E8%A7%84%E5%88%99.png)
我有一台具有默认拒绝和多个 UFW 规则的服务器。 UFW 在启动时启用 ( systemctl enable UFW
)。当我重新启动时,只有某些规则未正确应用,并且我无法访问某些服务。我可以通过 SSH 连接到服务器,较低的端口(<1024)似乎可以工作,但 1024 以上的某些服务仍然会下降。如果我ufw reload
在重新启动后执行,一切都会开始正常运行。
例如,我允许 NUT-Server 使用端口 3493。重新启动后,此端口始终没有响应,直到我运行ufw reload
:
3493 ALLOW x.x.x.x/16 # nut-server (UPS)
然而奇怪的是,门罗币端口却有效:
18081 ALLOW x.x.x.x/24 # Monero
当 3493 不起作用时,如果我使用 telnet xxxx 远程登录到计算机,3493 telnet 只是等待并且永远不会得到响应,这向我表明防火墙只是按照我的默认设置丢弃了请求ufw default deny
。
其他一些帖子指出 iptables-persistent 是问题所在。我可以确认 iptables-persistent 和 netfilter-persistent 已从系统中清除。
journalctl -u ufw
显示成功:
-
- Boot f2ba2f00ebfe490f81680a3d43f695f2 --
Jan 23 09:54:15 cryptoDaemon systemd[1]: Finished Uncomplicated firewall.
-- Boot cba07123c3204957ad3490a34d9d1439 --
Jan 23 10:00:45 cryptoDaemon systemd[1]: Finished Uncomplicated firewall.
我可以确认 /etc/ufw/ufw.conf 中启用了 ufw
更新:为了测试我禁用了 ufw。然后,重新启动后我运行了iptables -S
.奇怪的是,有规则。
任何帮助使这项工作始终如一的工作将不胜感激。
答案1
在这种情况下,我发现/etc/iptables.up.rules
.就我而言,我相信 iptables.up.rules 的存在是因为我也运行 Webmin 中的旧编辑。
将 /etc/iptables.up.rules 移动到 /etc/iptables.up.bak 并重新启动。问题已解决。事实证明我安装了 ifupdown 并且它正在 /etc/iptables/up.rules 中加载防火墙规则。使用 systemctldisablenetworking.service 禁用 ifupdown 修复了该问题