Loading

本机与远程主机指定端口的网络是否连通

       前几天系统开发微信支付,需要提供微信支付成功异步通知地址,由于开发环境在局域网,所以使用了测试域名,再用Nginx将请求转发到开发者机器上,请求一直没法转发成功,提示Nginx:504 Gateway Time-out,后来在运维同事的帮助下,发现转发失败的原因是不同的环境彼此是网络隔离的,测试环境没有权限直接与开发机器通信,需要申请权限,汗,运维同事直接使用了telnet命令测试测试环境机器与开发者机器端口的网络连通性,就找到了问题所在,本篇博客记录并总结下类似问题分析步骤,此外还附带了telnet命令用法详解。

网络连通性排查步骤:

  • 确认IP地址是否正确?
  • 确认IP地址对应的主机是否已经开机?
  • 如果主机已经启动,确认主机相应端口是否开启了相关服务?(使用netstat命令查看相应端口是否有LISTEN状态的行)
  • 如果主机已经启动相关服务,确认防火墙是否放开了端口的访问?
  • 如果是阿里云服务器,是否在【安全组规则】添加了【放行规则】(阿里云安全组默认未设置任何自定义放行规则,会导致无法访问实例端口,若需访问请添加安全组规则放行对应的端口)
  • 如果是公司网络不同环境的机器,还是排查互相有无【访问权限】(比如测试环境机器与开发的机器,我碰上的问题就是测试机器无法访问开发机器)

Linux

[dsp@dsp ~]$ telnet www.baidu.com 80
Trying 220.181.112.244...
Connected to www.baidu.com.     # 说明网络连通
Escape character is '^]'.


Connection closed by foreign host.
[dsp@dsp ~]$ telnet example.com 12345
Trying 93.184.216.34...
telnet: connect to address 93.184.216.34: Connection timed out
Trying 2606:2800:220:1:248:1893:25c8:1946...
telnet: connect to address 2606:2800:220:1:248:1893:25c8:1946: Network is unreachable   # 说明网络不连通
[dsp@dsp ~]$ 

Windows

  命令号下键入:telnet www.baidu.com 80,若连通了则进入全黑可输入界面,否则提示连接失败。

C:\Users\dsp>telnet example.com 12345
正在连接example.com...无法打开到主机的连接。 在端口 12345: 连接失败

C:\Users\dsp>

参考文献:

  每天一个linux命令(58):telnet命令

posted @ 2018-04-12 14:30  dai.sp  阅读(1210)  评论(0编辑  收藏  举报