无法禁用我的 UFW

无法禁用我的 UFW

我想在我的本地网络中设置一个服务器,并且我想禁用我的 ufw。我检查了网络后发现我需要运行命令:“sudo ufw disable”。

在我使用该命令后,我的终端响应:“防火墙在系统启动时停止并禁用”。之后我重新启动机器并运行命令:“systemctl status ufw”。

当我运行给定的命令时,它说我的 ufw 处于“活动(退出)”状态。看来我的防火墙仍然在阻止我的活动。

那么我怎样才能完全禁用防火墙呢?请帮忙。顺便说一句,我见过删除防火墙上所有规则的方法,但我不想那样,我想要一种可以在需要时轻松打开/关闭防火墙的方法。

谢谢!

答案1

systemctlufw告诉你不同的事情。

当 systemd服务ufw启用了named ,那么systemd将在启动时启动服务。如果我们看看这意味着什么:

$ cat /lib/systemd/system/ufw.service
[Unit]
Description=Uncomplicated firewall
Documentation=man:ufw(8)
DefaultDependencies=no
Before=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/lib/ufw/ufw-init start quiet
ExecStop=/lib/ufw/ufw-init stop

[Install]
WantedBy=multi-user.target

我们可以看到它执行了/lib/ufw/ufw-init start quiet。反过来,如果我们查看那里,我们会看到:

# Debian/Ubuntu: small boot speed improvement
. "${rootdir}/etc/ufw/ufw.conf"
if [ "$1" = "start" ] && [ "$2" = "quiet" ] && [ "$ENABLED" = "no" ]; then
    exit 0
fi

即它获取${rootdir}/etc/ufw/ufw.conf并检查 的值ENABLED。最后,如果你检查,/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

当您执行 时,ENABLED=yes将切换到where 。ENABLED=nosudo ufw disable

总结一下 UFW服务已启用,但如果 UFW 本身被禁用,则不会加载其任何规则。

答案2

防火墙内置于内核,因此无法关闭。您可以停止 iptables,这将使防火墙规则例外。

sudo 服务 iptables 停止

根据评论编辑内容:

在某些情况下,如果 iptables 已被防火墙替换,那么我们可以使用以下命令禁用防火墙。请尝试以下详细信息。

systemctl stopfirewalld(停止防火墙)

systemctl disablefirewalld(系统防火墙禁用)

rm'/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'

rm'/etc/systemd/system/basic.target.wants/firewalld.service

相关内容