CentOS 7 打开端口

CentOS 7 打开端口

我使用了以下命令

sudo iptables -A INPUT -p tcp --dport 14000 -j ACCEPT
or
sudo iptables -I INPUT -p tcp -m tcp --dport 14000 -j ACCEPT
sudo service iptables save
sudo iptables -L -n

and
sudo firewall-cmd --zone=public --add-port=14000/tcp --permanent
sudo firewall-cmd --reload

但端口号 14000 没有显示在

netstat -plunt 

答案1

首先,你应该使用任何一个 iptables 或者 firewall-cmd, 不是都。如果firewalld正在运行,您应该使用firewall-cmd,因为firewalld这将覆盖您可能使用该命令所做的任何更改iptables

并且您的firewall-cmd行指定端口 80,而不是 14000。

其次,如果没有实际使用端口,则无法打开端口。如果您使用软件防火墙(firewalld或者 raw iptables),您可能会将所有传入端口视为被阻止:你的iptablesfirewall-cmd命令会解锁已使用的端口,但尚未实际使用打开它。

要打开端口,您需要启动一些实际使用该端口的进程。为了进行测试,您可以使用 netcat 监听端口 14000:

nc -l 14000

当该命令运行时,您会看到端口在“LISTEN”状态下打开,但是如果您随后尝试启动配置为使用端口 14000 的 jBoss 服务器,它将返回一个错误,告诉您端口 14000 已打开已在使用(通过 netcat 命令)。您必须停止 netcat 命令(导致端口再次关闭),然后才能成功重新启动端口 14000 中的 jBoss 服务器:然后 jBoss 服务器将能够打开该端口供其自己使用。

一般来说,当端口被阻止通过软件防火墙,它完全忽略任何传入的连接尝试:如果您尝试远程登录到被阻止的 TCP 端口,连接尝试将挂起并最终在大约一分钟后超时。

当 TCP 端口畅通关闭,尝试 telnet 到它会立即返回“连接被拒绝”错误消息。

另一方面,UDP 端口没有任何标准响应:要测试与 UDP 端口的连接,您必须发送针对特定的基于 UDP 的服务正确格式化的请求,并查看是否获得有效响应。可能存在根本不响应的“单向”UDP 服务:对于这些服务,您必须检查接收端的日志以验证连接测试是否已成功接收。

相关内容