firewalld:如果我更改了ssh服务端口,是否允许新的端口号,或者我应该添加一个新的服务?

我把ssh端口改成了任意数字,并且注意到firewalld不再允许sshlogin。 我假设端口22是在firewalld的ssh服务定义中硬编码的。 如果我允许新的端口用于TCP通信,还是应该为自定义的ssh端口定义一个新的服务,那么是否足够了?

我假设端口22是在firewalld的ssh服务定义中硬编码的

在我的CentOS / Fedora系统上,默认的服务定义存储在/usr/lib/firewalld/services xml文件中。 文件名是服务的名称。 这些被存储在/etc/firewalld/services的系统configuration覆盖。

要更改ssh端口,您可以将/usr/lib/firewalld/services/ssh.xml复制到/etc/firewalld/services/ssh.xml并针对您的目的进行修改。

然后你需要重新configuration

 firewall-cmd --reload 

现在你的系统应该允许你的新端口使用ssh连接。

我肯定会在端口号上使用一个服务名称,因为这会让事情变得更加清晰。 无论是创build一个新的服务还是压倒现有的服务,我都不想说。 弄清楚发生了什么并不难。

在CentOS 7中更改端口后,我遇到了这个问题。使用SElinux的问题 – 您需要为新端口添加一个上下文,或者如果您不使用SElinux,请将其禁用。 此外,您不需要添加新的服务 – 只需将新端口列入白名单即可。