了解連線失敗的原因

了解連線失敗的原因

編輯:出現此問題的原因是我們的電腦沒有外部 IP 位址,因此傳出流量通過 Cloud NAT,而 Cloud NAT 配置錯誤(每個虛擬機器的最小連接數)

我在 GCP 電腦連接到外部 HTTP 伺服器時遇到問題。下面是 tcpdump 中的一行

16:17:26.561616 IP 2.2.2.2 > 3.3.3.3.http: Flags [S], seq 1152634327, win 28400, options [mss1420,sackOK,TS val3415260604 ecr 0,nop,wscale 7], length 0
16:17:26.561736 IP 1.1.1.1 > 2.2.2.2: ICMP host 3.3.3.3 unreachable - admin prohibited filter, length 68

1.1.1.1 is a GCP gateway
2.2.2.2 is my machine on GCP
3.3.3.3 is the external server

我如何知道哪台電腦正在執行阻止連線嘗試的規則?

答案1

GCP 有 2 條隱含規則關聯。隱含的出口規則允許具有最低優先權 (65535) 的所有出口流量。

我已經複製了該場景,並在我的GCP 專案中放置了一條防火牆規則(哇哦,這是我的GCP VM 來源位址),拒絕所有到特定外部位址(xxxx) 的出口流量,我發現TCPdump(在我的實例上執行)顯示了重新嘗試聯繫:

其中 xxxx 是外部 IP,vminstance 是我的 GCP 實例。

18:19:50.499009 IP vminstance.39728 > xxxx80:標誌 [S],seq 1309572437,win 28400,選項 [mss 1420,sackOK,TS val 323066870 ecr 0no7],長度

18:19:51.527849 IP vminstance.39728 > xxxx80:標誌 [S],seq 1309572437,win 28400,選項 [mss 1420,sackOK,TS val 323067128 ecr 0no7],長度.

如此說來,與您的輸出相比,您可能需要查看遠端網路/主機防火牆規則

相關內容