我使用了以下命令
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端口没有出现在
netstat -plunt 发布于 2017-12-09 08:02:46
首先,您应该使用iptables或firewall-cmd,而不是两者兼用。如果firewalld正在运行,则应该使用firewall-cmd,因为firewalld将覆盖使用iptables命令可能进行的任何更改。
您的firewall-cmd行指定端口80,而不是14000。
第二,如果没有实际使用的东西,端口就不能打开。如果您使用的是软件防火墙( firewalld或原始iptables),您可能会认为所有传入端口都被阻塞了:您的iptables或firewall-cmd命令将解除对端口的阻塞,但尚未真正打开它。
要打开端口,您需要启动一些实际使用该端口的进程。为了进行测试,您可以使用netcat在端口14000上侦听:
nc -l 14000当该命令运行时,您将看到打开的端口状态为“侦听”,但如果随后尝试启动(例如,配置为使用端口14000的jBoss服务器),它将返回一个错误,告诉您端口14000已经在使用(通过netcat命令)。在成功地重新启动端口14000中的jBoss服务器之前,必须停止netcat命令(导致端口再次关闭):然后,jBoss服务器将能够打开端口供自己使用。
通常,当一个端口被软件防火墙阻塞时,它会完全忽略任何传入的连接尝试:如果您试图对被阻塞的TCP端口进行远程访问,则连接尝试将挂起,并在大约一分钟后超时。
当TCP端口解除阻塞但关闭时,尝试向其发送telnet将立即返回“拒绝连接”错误消息。
另一方面,UDP端口没有任何标准的响应:要测试到UDP端口的连接性,您必须发送一个针对该特定的基于UDP的服务正确格式化的请求,并查看是否得到了有效的响应。可能有一些“单向”的UDP服务根本没有响应:对于这些服务,您必须在接收端检查日志,以验证连接测试是否成功。
https://unix.stackexchange.com/questions/409878
复制相似问题