如何在CentOS服务器上打开特定的端口

我想在我的Cent Os远程服务器上打开一个端口。 我部署了一个服务器应用程序在服务器上使用端口7500,当我尝试与我的客户端连接,它无法连接,然后我把端口改为8000,客户端能够连接到它,端口8000被允许从外部访问,但所有其他端口是受限制的,如何打开我的服务器上的端口7500访问它。

当我检查状态firewalld使用systemctl status firewalld它没有运行,当我检查状态iptables使用状态iptables.service

 iptables.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead) 

然后通过使用什么访问除8000以外的其他端口已被限制,因为firewalld没有运行,iptables是不活动的。在哪里可以检查服务器上允许从外部访问的端口。

你有Centos 7.它使用默认的firewalld来pipe理防火墙规则。 你可以执行命令“systemctl status firewalld”来检查firewalld是否正在运行。

列出当前执行“firewall-cmd –list-all”的firewalldconfiguration

如果firewalld正在运行,请使用以下命令打开7500 tcp:

  • 获取您的区域的名称

firewall-cmd --get-active-zone

  • 打开当前configuration中的端口

firewall-cmd --zone=YOURZONE --add-port=7500/tcp

  • 在firewalld重新启动后打开当前configuration中的端口

firewall-cmd --permanent --zone=YOURZONE --add-port=7500/tcp

您应该检查SELinux是否启用。 这可能会阻止港口。

你应该看看在命令行上返回什么getenforce。 如果它正在运行,输出将被“强制执行”

您可以通过运行“setenforce 0”临时将SELinux置于“许可”模式。

如果你的服务在运行之后运行,那么这意味着SELinux正在阻止它。

你可以在audit.log文件中看到为什么它阻止你的服务。

虽然可以说你禁用了SELinux,但我想说的是为什么服务被阻止,使用诸如audit2why的工具来收集细节,然后改变SELinux策略来支持服务。 closuresSELinux不是正确的解决scheme。

端口8000为你工作的原因是因为端口8000在SELinux策略中是默认允许的,对于端口7000或7500,您需要调整策略并明确标记为允许。

看看你find了什么。