這個
ping是一種網路實用程式,用于測驗遠程主機通過Internet 協議 (IP)的可達性。該ping實用程式通過向遠程主機發送一系列Internet 控制訊息協議 (ICMP)回顯請求資料包來實作此目的。您無法使用 ping 命令探測特定埠,因為 ICMP 屬于第 3 層 IP 層,而不是第 4 層傳輸層(例如 TCP/UDP)。
為了 ping 遠程主機的特定埠,您需要使用具有埠號概念的第 4 層傳輸協議,以及許多命令列工具,例如:
paping140.224.232.236 -p 8080 -c 3nmap-p 80 -sT www.google.comtcppingwww.google.com
uj5u.com熱心網友回復:
您允許通過 TCP而不是 ICMP 到埠 8088 的出口流量。Ping 不適用于該應用程式。
如果您希望使用 vanilla 的 Kubernetes API 來允許非 TPC 或 UDP 協議用于網路策略,那么您需要省略埠定義。
你也可以使用Calico的網路策略 API 來解決這個問題。
在集群中配置網路策略時,這提供了更大的靈活性。
uj5u.com熱心網友回復:
您的網路政策是完美的。您不能使用 ping 測驗您的 TCP 埠,因為 ping 與 ICMP 協議一起使用。
有一些方法可以在不更改網路策略的情況下測驗您的配置。
舉些例子:-
- exec 到 pod 并運行它
one liner。你應該得到“埠已打開”
$ </dev/tcp/140.224.232.236/8088 && echo Port is open || echo Port is closed
Port is open
/dev/tcp/host/port
If host is a valid hostname or Internet address, and port is an integer port number
or service name, bash attempts to open a TCP connection to the corresponding socket.
/dev/udp/host/port
If host is a valid hostname or Internet address, and port is an integer port number
or service name, bash attempts to open a UDP connection to the corresponding socket.
- 如果
curl/wget已安裝,則通過對 pod 執行 exec 來運行 cur/wget
curl -k https://140.224.232.236:8088
wget --no-check-certificate https://140.224.232.236:8088
- 如果存在網路工具
nc,則執行到 pod 并運行此命令,如果回傳“0”,則它可以作業。
nc 140.224.232.236 8088 &> /dev/null; echo $?
0
或以下命令應回傳“成功”
nc -zv 140.224.232.236 8088
Connection to 140.224.232.236 8088 port [tcp/*] succeeded!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/433761.html
標籤:亚马逊网络服务 天蓝色 安全 Kubernetes
上一篇:阻止其他android應用程式識別我的應用程式的方法?
下一篇:Numpy在哪里使用值串列
