接続失敗の理由を理解する

接続失敗の理由を理解する

編集: この問題は、マシンに外部 IP アドレスがなかったために発生しました。そのため、送信トラフィックが Cloud NAT を通過していましたが、その設定が間違っていました (VM あたりの最小接続数)。

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]、シーケンス 1309572437、win 28400、オプション [mss 1420、sackOK、TS 値 323066870 ecr 0、nop、wscale 7]、長さ 0

18:19:51.527849 IP vminstance.39728 > xxxx80: フラグ [S]、シーケンス 1309572437、win 28400、オプション [mss 1420、sackOK、TS val 323067128 ecr 0、nop、wscale 7]、長さ 0

そう述べて、出力と比較して、リモートネットワーク/ホストのファイアウォールルールを確認することをお勧めします。

関連情報