概述
當您在客戶端訪問目標服務器時,如果能ping通,但業務端口無法訪問,您可以參見以下方法進行排查。
步驟一:實例安全組檢查
1. 登錄ECS管理控制台,單擊實例。
2. 在頂部菜單欄左上角處,選擇地域。
3. 在實例列表頁面,單擊對應的實例ID。
4、在實例詳情頁面,單擊安全組,在安全組列表區域,單擊對應的安全組ID。

5. 在安全組規則頁面,單擊入方向,查看訪問規則,查看是否有端口相關的授權。
o 如果沒有相應端口的授權,請添加相應端口的授權,詳情請參見添加安全組規則。
o 如果有相應端口的授權,請檢查授權對象是否允許本地IP地址的訪問。
步驟二:端口相關服務檢查
通過VNC遠程連接登錄目標服務器之後,執行以下命令,檢查端口是否被監聽。
說明:
· Linux系統如何通過VNC遠程連接到Linux實例,請參見通過VNC遠程連接登錄Linux實例。
· Windows系統如何通過VNC遠程連接到Windows實例,請參見通過VNC遠程連接Windows實例
netstat -ntpl|grep [$Port]
說明:[$Port]為相應的端口號。
系統顯示類似如下。

說明:
· 0.0.0.0代表本機上可用的任意地址。比如,0.0.0.0:135表示本機上所有地址的135端口。
· tcp 0.0.0.0:80表示在所有的可用接口上監聽TCP的80端口
· 如果返回結果為空,說明端口對應的服務未啟動,請將相應的服務啟動即可。
· 如果有返回結果,說明服務為啟動狀態。在確認服務可以重啟的情況下,重啟相應的服務,待服務重啟完成後,再測試端口的連通性。
步驟三:檢查目標服務器的防火牆配置
Linux系統
通過VNC遠程連接登錄目標服務器之後,執行以下命令,檢查防火牆配置。
iptables -nL
如果返回結果中存在相應端口的配置規則,可刪除相應的規則或者先關閉防火牆,然後再測試端口連通性。關閉防火牆的具體操作如下:
1. 執行以下命令,查看防火牆狀態。
systemctl status firewalld.service
2. 執行以下命令,關閉防火牆。
systemctl stop firewalld.service
3. 執行以下命令,設置開機不自啟防火牆服務。
systemctl disable firewalld.service
Windows系統
先關閉防火牆,然後再測試端口連通性,具體操作如下:
1. 通過VNC遠程連接登錄目標服務器,在控制面板中打開Windows防火牆。
2. 在Windows防火牆窗口,單擊啟動或關閉防火牆,進入自定義設置界面。
3. 將專用網絡設置和公用網絡設置設置為關閉 Windows 防火牆,單擊確定。
步驟四:通過探測工具進行檢查
端口無法訪問可能是鏈路中的相關節點攔截了端口所致,請利用端口可用性探測的相關工具進行測試,驗證是否有節點攔截了端口。
端口可用性探測步驟
通常情況下,您可以參見以下步驟進行探測:
1. 根據上文所述,使用對應工具對目標服務器和端口進行可用性探測。
2. 排查分析探測結果,確認問題根源。如果相關端口在某一跳被阻斷,且其後各跳均不會返回數據。據此就可以判定出異常節點。
3. 如果確實存在異常節點,您可以參見以下兩種方式進行解決。
· 通過淘寶IP地址庫等IP地址查詢網站獲取相應節點的歸屬運營商及網絡。
· 或者您也可以提交工單,請馳網技術支持協助您向相關運營商反饋問題。
說明:提交工單時,請一併提交端口可用性的探測結果。
探測結果的案例分析
此處介紹兩個探測結果的案例,案例中包括探測結果和分析。
案例一
探測結果如下,目標端口在第3跳之後就沒有數據返回。
C:>tracetcp www.idc02.com:135
Tracing route to 115.X.X.27 on port 135
Over a maximum of 30 hops.
1 3 ms 3 ms 3 ms 1X.X.X.X
2 4 ms 3 ms 3 ms 2X.X.X.X
3 3 ms 3 ms 3 ms 3X.X.X.X
4 * * * Request timed out.
5 * * * Request timed out.
6 * * * Request timed out.
7 * * * Request timed out.
8 * * * Request timed out.
9 * * * Request timed out.
10 * * * Request timed out.
11 * * * Request timed out.
12 * * * Request timed out.
Trace Complete.
案例分析
因為該節點為內網IP,可能是本地網絡相關安全策略所致,需要聯繫本地網絡管理人員做進一步排查分析。
案例二
探測結果如下,目標端口在第11跳之後就沒有數據返回。
[root@mycentos ~]# traceroute -T -p 135 www.baidu.com
traceroute to www.baidu.com (111.13.100.92), 30 hops max, 60 byte packets
1 * * *
2 1X.X.X.X (1X.X.X.X) 4.115 ms 4.397 ms 4.679 ms
3 2X.X.X.X (2X.X.X.X) 901.921 ms 902.762 ms 902.338 ms
4 3X.X.X.X (3X.X.X.X) 2.187 ms 1.392 ms 2.266 ms
5 * * *
6 5X.X.X.X (5X.X.X.X) 1.688 ms 1.465 ms 1.475 ms
7 6X.X.X.X (6X.X.X.X) 27.729 ms 27.708 ms 27.636 ms
8 * * *
9 * * *
10 111.13.98.249 (111.13.98.249) 28.922 ms 111.13.98.253 (111.13.98.253) 29.030 ms 28.916 ms
11 111.13.108.22 (111.13.108.22) 29.169 ms 28.893 ms 111.13.108.33 (111.13.108.33) 30.986 ms
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
案例分析
因為該節點經查詢後歸屬北京移動,需要您自行向運營商反饋,或者提交工單做進一步排查分析。
更多信息
不同的操作系統,端口可用性探測所使用的工具有所不同。此處分別介紹如下系統中的端口可用性探測工具。
Linux系統
traceroute是幾乎所有Linux發行版本預裝的網絡測試工具,用於跟蹤Internet協議(IP)數據包傳送到目標地址時經過的路徑。traceroute通過發送TCP數據包向目標端口進行探測,以檢測從數據包源到目標服務器的整個鏈路上相應端口的連通性情況。該工具的介紹如下:
使用方法
traceroute是用於端口可用性探測的常用命令,命令格式如下:
traceroute [-n] -T -p [$Port] [$Host]
說明:
· -n:直接使用IP地址而非主機名稱(禁用DNS反查)。
· -T:通過TCP探測。
· -p:設置探測的端口號。
· [$Port]:需要探測的端口號,比如80。
· [$Host]:需要探測的目標服務器地址,比如10.10.1.1。
· 更多關於traceroute的用法,您可以通過man命令查閱。
測試示例
traceroute的示例命令和返回結果如下:
[root@centos~]# traceroute -n -T -p 22 223.5.5.5
traceroute to 223.5.5.5 (223.5.5.5), 30 hops max, 60 byte packets
1 5X.X.X.X 0.431 ms 0.538 ms 0.702 ms
2 1X.X.X.X 0.997 ms 1.030 ms 10.88.16.21 1.309 ms
3 5X.X.1X.2X 0.393 ms 0.390 ms 58.96.160.250 0.423 ms
4 6X.X.X.X 1.110 ms 202.123.74.122 0.440 ms 0.440 ms
5 6X.X.1X.X 1.744 ms 63.218.56.237 1.076 ms 1.232 ms
6 63.2X.1X.1X 1.832 ms 63.223.15.90 1.663 ms 63.223.15.74 1.616 ms
7 20X.97.1X.1X 2.776 ms 63.223.15.154 1.585 ms 1.606 ms
8 * * 202.97.122.113 2.537 ms
9 202.97.61.237 6.856 ms * *
10 * * *
11 * * *
12 * * 119.147.220.222 8.738 ms
13 119.147.220.230 8.248 ms 8.231 ms *
14 * 42.120.242.230 32.305 ms 42.120.242.226 29.877 ms
15 42.120.242.234 11.950 ms 42.120.242.222 23.853 ms 42.120.242.218 29.831 ms
16 42.120.253.2 11.007 ms 42.120.242.234 13.615 ms 42.120.253.2 11.956 ms
17 42.120.253.14 21.578 ms 42.120.253.2 13.236 ms *
18 * * 223.5.5.5 12.070 ms !X
Windows系統
在Windows系統中,您可通過tracetcp進行端口可用性探測。tracetcp同樣通過發送TCP數據包進行鏈路探測,以分析鏈路是否存在中間節點對目標端口做了阻斷。該工具的介紹如下:
下載安裝
說明:若您的操作系統中沒有自帶的tracetcp,可以參考以下步驟安裝。
1. tracetcp的使用依賴於WinPcap library。因此,您需要前往官網下載WinPcap library。
2. 前往tracetcp官網下載最新版tracetcp。
3. 將下載的tracetcp相關文件直接解壓到C:Windows目錄。
說明:您也可以解壓到非系統目錄,但是需要手工修改系統環境變量,以確保指令可以直接調用。
使用方法
雙擊打開tracetcp應用程序,tracetcp的常見用法如下:
tracetcp [$IP]:[$Port]
說明:
· [$IP]指目標服務器的IP地址或者域名。
· [$Port]指需要探測的目標端口。
· 關於更多tracetcp參數說明,您可以通過tracetcp -?命令查看幫助。
測試示例
tracetcp的示例命令和返回結果如下:
C: >tracetcp www.idc02.com:80
Tracing route to 140.205.63.8 on port 80
Over a maximum of 30 hops.
1 3 ms 4 ms 3 ms 3X.X.X.X
2 13 ms 3 ms 4 ms 1X.X.X.X
3 3 ms 3 ms 2 ms 10.X.X.X
4 4 ms 3 ms 3 ms 4X.X.X.X
5 5 ms 4 ms 7 ms 5X.X.X.X
6 6 ms 5 ms 7 ms 6X.X.X.X
7 8 ms 8 ms 8 ms 42.120.247.97
8 10 ms 10 ms 8 ms 123.56.34.246
9 9 ms 9 ms 11 ms 42.120.243.117
10 * * * Request timed out.
11 Destination Reached in 8 ms. Connection established to 140.205.63.8
Trace Complete.
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/222114.html
微信掃一掃
支付寶掃一掃