當您在客戶端訪問目標服務器時,如果能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端口
· 如果返回結果為空,說明端口對應的服務未啟動,請將相應的服務啟動即可。
· 如果有返回結果,說明服務為啟動狀態。在確認服務可以重啟的情況下,重啟相應的服務,待服務重啟完成后,再測試端口的連通性。
通過VNC遠程連接登錄目標服務器之后,執行以下命令,檢查防火墻配置。
iptables -nL
如果返回結果中存在相應端口的配置規則,可刪除相應的規則或者先關閉防火墻,然后再測試端口連通性。關閉防火墻的具體操作如下:
1. 執行以下命令,查看防火墻狀態。
systemctl status firewalld.service
2. 執行以下命令,關閉防火墻。
systemctl stop firewalld.service
3. 執行以下命令,設置開機不自啟防火墻服務。
systemctl disable firewalld.service
先關閉防火墻,然后再測試端口連通性,具體操作如下:
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.
本文主要介紹IPV6通信時,IPv6地址的ping、telnet命令。
Linux:CentOS Linux release 7.2.1511 (Core) 2臺虛擬機
Windows:Windows 10家庭中文版
命令:ping -6 linux_ipv6地址%windows接口序號
查詢windows接口序號
命令:ipconfig –all
通過ipconfig-all命令查看到ipv6地址如下:
fe80::cd04:c16b:9adf:dfe7%22
%后面是本ipv6地址對應的網絡接口的index,windows術語叫scope id,可理解為一個接口序號,則22為當前windows接口序號。
查詢linux_ipv6地址
命令:ip addr
通過ip addr命令查看到ipv6地址如下:
fe80::20c:29ff:fea4:1509
windows ping linux
ping -6 fe80::20c:29ff:fea4:1509%22
命令:ping6 -I linux_接口名 win_ipv6地址
查看linux接口名
命令:ip addr
通過ip addr命令查看到linux接口名為eno16777736
linux ping windows
ping6 -I eno16777736 fe80::cd04:c16b:9adf:dfe7
(A服務器ping另外一臺服務器B)
命令:ping6 –I A_linux接口名 B_linux_ipv6地址
查看A_linux接口名
命令:ip addr
通過ip addr命令查看到A_linux接口名為eno16777736
查看B_linux_ipv6地址
命令:ip addr
通過ip addr命令查看到B_linux_ipv6地址如下:
fe80::20c:29ff:feaa:9a1b
linux ping linux
ping6 -I eno16777736 fe80::20c:29ff:feaa:9a1b
命令:telnet linux_ipv6地址%windows接口序號 端口
查詢linux_ipv6地址
命令:ip addr
通過ip addr命令查看到linux_ipv6地址如下:
fe80::20c:29ff:feaa:9a1b
查詢windows接口序號
命令:ipconfig –all
通過ipconfig-all命令查看到ipv6地址如下:
fe80::cd04:c16b:9adf:dfe7%22
%后面是本ipv6地址對應的網絡接口的index,windows術語叫scope id,可理解為一個接口序號,則22為當前windows接口序號。
查看服務端口
命令:lsof -i: 端口號
lsof -i:80
windows telnet 服務80端口
telnet fe80::20c:29ff:feaa:9a1b%22 80
(B服務器telnet另一臺A服務器上的80端口)
命令:telnet -6 A_linux_ipv6地址%B_linux接口名 A_服務器80端口
查看A_linux_ipv6地址
命令:ip addr
通過ip addr命令查看到A_linux_ipv6地址如下:
fe80::20c:29ff:feaa:9a1b
查看B_linux接口名
命令:ip addr
通過ip addr命令查看到B_linux_ipv6接口名為eno16777736
查看A_服務器80端口
命令:lsof –i:端口
lsof –i:80
linux telnet linux_ipv6端口
telnet -6 fe80::20c:29ff:feaa:9a1b%eno16777736 80
ok,以上就是IPv6地址使用ping、telnet命令匯總,看完記得轉發、點贊和收藏。如果有錯誤,歡迎批評指正,感謝。
(云渺書齋)