我有点迷失,希望有人能指出正确的方向来解决我的问题。我有一台运行 Debian 发行版的服务器,并且使用 UFW 作为防火墙。配置和设置非常简单,我启动了防火墙,如下所示:
manly@server:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
如果我检查 ufw 是否正在运行,我会收到(正确):
manly@server:~$ sudo ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80/tcp ALLOW Anywhere
22 ALLOW Anywhere (v6)
80/tcp ALLOW Anywhere (v6)
一段时间后(我每天检查),防火墙变为非活动状态 - 即使中间没有任何重新启动 - 即状态返回非活动状态:
manly@server:~$ sudo ufw status
Status: inactive
我不知道为什么。我可以检查什么来找出这种奇怪行为背后的原因。我很感谢任何建议!
更新:
我注意到一些事情,这可能有助于找到解决方案。因此,我在 ssh 会话中使用 sudo ufw enable 启动 ufw。看起来,如果我保持 ssh 会话打开,防火墙就会启用。如果我关闭 ssh 会话(退出),ufw 状态将在一段时间后设置为非活动状态。我必须以任何特殊方式启动 ufw 吗?
答案1
以 root身份编辑配置文件/etc/ufw/ufw.conf
并设置ENABLED=yes
:
# /etc/ufw/ufw.conf
#
# Set to yes to start on boot. If setting this remotely, be sure to add a rule
# to allow your remote connection before starting ufw. Eg: 'ufw allow 22/tcp'
ENABLED=yes
# Please use the 'ufw' command to set the loglevel. Eg: 'ufw logging medium'.
# See 'man ufw' for details.
LOGLEVEL=low
答案2
因此,经过一番挖掘并与支持人员交谈后,我们终于弄清楚是什么阻止了 UFW。该系统还APF
配置了(高级策略防火墙 - R-fx Networks),这会向系统添加一个 cron 作业。该作业在午夜删除所有规则并重置为 定义的规则APF
。