首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CentOS 7打开一个端口

CentOS 7打开一个端口
EN

Unix & Linux用户
提问于 2017-12-09 06:48:15
回答 1查看 1.6K关注 0票数 -1

我使用了以下命令

代码语言:javascript
复制
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

但是no-14000端口没有出现在

代码语言:javascript
复制
netstat -plunt 
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2017-12-09 08:02:46

首先,您应该使用iptablesfirewall-cmd,而不是两者兼用。如果firewalld正在运行,则应该使用firewall-cmd,因为firewalld将覆盖使用iptables命令可能进行的任何更改。

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

第二,如果没有实际使用的东西,端口就不能打开。如果您使用的是软件防火墙( firewalld或原始iptables),您可能会认为所有传入端口都被阻塞了:您的iptablesfirewall-cmd命令将解除对端口的阻塞,但尚未真正打开它。

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

代码语言:javascript
复制
nc -l 14000

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

通常,当一个端口被软件防火墙阻塞时,它会完全忽略任何传入的连接尝试:如果您试图对被阻塞的TCP端口进行远程访问,则连接尝试将挂起,并在大约一分钟后超时。

当TCP端口解除阻塞但关闭时,尝试向其发送telnet将立即返回“拒绝连接”错误消息。

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

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/409878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档