为了获得VNC的访问权限,我把这个愚蠢的命令放到了ssh的firewalld上
$ firewall-cmd --enable 5903:tcp
现在我不能ssh,ping或curl服务器。 哎呦。
任何人都可以解释造成这种情况的原因吗? 我的意思是肯定 – 自行启用将启用防火墙及其默认规则(即SSH访问是其中之一)是正确的? 正如你可能可以告诉我没有阅读手册 – 基本的人为错误。 另外请注意,我以普通用户身份运行该命令,而不是以root身份或通过sudo运行。 谢谢所有:(
FirewallD是非常新的,因此需要一些时间来习惯。
您可以先阅读FirewallD上的Fedora wiki页面 ,该页面包含其命令行选项/用法的完整列表。
我对发生的事情的最好猜测是,你不小心把防火墙置于恐慌模式,在那里阻塞所有的networking连接。 这是基于这样一个事实,即以--enable开头的firewall-cmd的唯一选项是--enable-panic 。 您必须转到服务器控制台或远程服务器的OOBpipe理界面(iLO,DRAC,IPMI)才能从中恢复。
添加服务的正确方法是使用--add-service或--add-port 。
@mattdm在下面的注释中指出, 针对这种行为, 已经针对FirewallD提交了一个错误 。 该错误似乎已被修复,通过删除选项--enable-panic --panic-on --disable-panic和--panic-off --disable-panic并replace它们与 – --panic-on和--panic-off 。 这已经被承诺 ,并将出现在未来的版本。