问题描述
当使用 ping 命令时,发现服务器可以正常 ping 通,但是具体到某一个端口时不通,我们该如何进行排查?
分析解决
检查一:服务器安全组配置
1.登录云主机控制台,点击实例后,选择安全组
2.在安全组规则页面,查看安全组配置。点击入向规则如何没有放行后端服务端口,则需要配置安全组规则。
添加规则例如放行后端服务80端口,所有客户端IP地址可访问权限
检查二:检查后端服务器防火墙配置
Linux
通过远程连接或者VNC连接目标服务器之后,查看防火墙配置
iptables -nL
返回结果中存在响应端口的配置规则,可删除相应的规则或者关闭防火墙后测试是否可以访问通:
检查防火墙状态
systemctl status firewalld.service
关闭防火墙
systemctl stop firewalld.service
Windows
- 通过VNC或者远程连接等方式连接后端服务器后,在控制面板中打开Windows 防火墙。
- 点击启动或者关闭防火墙。
检查三:检查服务器端口
1.通过控制台远程连接或VNC等方式连接后端服务器
执行如下信息,检查端口是否正常监听,port为后端服务端口
netstat -antup | grep port
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 13770/nginx: master
- tcp 0.0.0.0:80则表示监听在TCP的80端口
- 0.0.0.0 代表本机上可用的任意地址
如果返回为空,说明端口未启动,需要检查下服务启动日志,并将服务器启动后检查连通性。
如果有返回结果,则服务已经在启动状态,检查是否监听在0.0.0.0等。
检查四:通过探测工具检查连通性
出现端口访问不通情况也有可能在中间链路等拦截端口导致,可以使用traceroute 等工具测试,探测是否有节点拦截端口,探测测试如下,例如在10跳之后无数据,可联系对应运营商进一步确认。
[root@node ~]# traceroute -Tp 80 www.volcengine.com
traceroute to www.volcengine.com (101.75.234.73), 30 hops max, 60 byte packets
1 192.168.1.234 (192.168.1.234) 0.709 ms 0.702 ms 0.697 ms
2 * * *
3 100.108.0.36 (100.108.0.36) 0.891 ms 0.835 ms 0.877 ms
4 100.121.6.28 (100.121.6.28) 1.097 ms 100.121.6.30 (100.121.6.30) 1.273 ms 100.121.6.42 (100.121.6.42) 1.123 ms
5 * * 100.121.6.10 (100.121.6.10) 2.649 ms
6 221.194.129.233 (221.194.129.233) 2.037 ms 2.242 ms 2.117 ms
7 221.194.190.57 (221.194.190.57) 2.994 ms 2.882 ms 221.194.190.21 (221.194.190.21) 1.291 ms
8 hebei.10.60.in-addr.arpa (60.10.142.198) 1.830 ms hebei.10.60.in-addr.arpa (60.10.127.114) 1.875 ms hebei.182.61.in-addr.arpa (61.182.179.157) 5.468 ms
9 hebei.182.61.in-addr.arpa (61.182.184.166) 9.550 ms hebei.182.61.in-addr.arpa (61.182.183.234) 9.304 ms 9.388 ms
10 218.11.143.62 (218.11.143.62) 9.517 ms 218.11.143.74 (218.11.143.74) 9.407 ms *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
如果您有其他问题,欢迎您联系火山引擎技术支持服务