Fedora Linux 18:firewalld 在firewall-cmd --enable 之后阻止所有端口

Fedora Linux 18:firewalld 在firewall-cmd --enable 之后阻止所有端口

为了尝试获得对远程设备的 VNC 访问权限,我通过 ssh 向其防火墙发出了这个愚蠢的命令,即

$ firewall-cmd --enable 5903:tcp

现在我无法 ssh、ping 或 curl 服务器。哎呀。

有人能解释一下是什么原因导致这种情况发生吗?我的意思是 --enable 本身肯定会启用防火墙及其默认规则(即 ssh 访问是其中之一),对吧?您可能已经看出我没有阅读手册 - 这是根本性的人为错误。另请注意,我以普通用户身份运行该命令,而不是以 root 身份或通过 sudo 运行。谢谢大家 :(

答案1

FirewallD 非常新,因此需要一些时间来适应。

你可以先阅读Fedora wiki 上有关 FirewallD 的页面,其中有其命令行选项/用法的完整列表。

我对所发生情况的最佳猜测是,您不小心将防火墙置于恐慌模式,它会阻止所有网络连接。这是基于以下事实:以firewall-cmd开头的唯一选项--enable--enable-panic。您必须转到服务器控制台或远程进入服务器的 OOB 管理界面(iLO、DRAC、IPMI)才能从中恢复。

添加服务的正确方法是使用--add-service--add-port


@mattdm 在下面的评论中指出已提交针对 FirewallD 的漏洞正是针对这种行为。该错误似乎已得到修复,方法是删除选项--enable-panic--disable-panic并将其替换为--panic-on--panic-off这已承诺并将出现在未来的版本中。

相关内容