本機與遠程主機指定端口的網絡是否連通

       前幾天系統開發微信支付,須要提供微信支付成功異步通知地址,因爲開發環境在局域網,因此使用了測試域名,再用Nginx將請求轉發到開發者機器上,請求一直無法轉發成功,提示Nginx:504 Gateway Time-out,後來在運維同事的幫助下,發現轉發失敗的緣由是不一樣的環境彼此是網絡隔離的,測試環境沒有權限直接與開發機器通訊,須要申請權限,汗,運維同事直接使用了telnet命令測試測試環境機器與開發者機器端口的網絡連通性,就找到了問題所在,本篇博客記錄並總結下相似問題分析步驟,此外還附帶了telnet命令用法詳解。html

網絡連通性排查步驟:linux

  • 確認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命令服務器

相關文章
相關標籤/搜索