Networking

如果 EC-2 機器位於與子網關聯的 Nat 網關後面,為什麼它無法連接到 Internet?

  • January 26, 2022

我嘗試在亞馬遜 AWS 中實現這個網路:

網路

因此,我在亞馬遜 VPC 中有以下子網:

子網

子網subnet-0ac620105fc198e33使用具有彈性 IP 的 NAT 網關,該 IP 具有以下路由表:

路由表

nat-0de30b43c561c4161是我的 nat 網關。

其他子網 2 使用預設路由表: 預設路由表

並且所有子網都具有以下 ACL

在此處輸入圖像描述

上面顯示的相同規則適用於入站和出站流量。

我也有 2 個 EC-2 實例:

  1. 它位於使用 NAT 網關的子網中用於 ssh 訪問的公共子網中
  2. 一個在使用 nat 網關的子網中

在訪問第二個 EC-2 實例後,我執行以下命令:

ping 8.8.8.8
curl http://google.com

但無法連接到Google。為什麼我無法連接?

摘要:NAT 網關必須在公共子網中,並且必須有到 Internet 網關的路由。AWS 文件在此處此處對此進行了介紹。

查看 nat 網關位於通過普通 Internet 網關訪問的子網中,在您的情況下,Host1 和 Nat 網關都可以位於同一子網中,也可以位於通過普通 Internet 網關轉發流量的子網中。

在一個簡單的圖像中,您必須實現以下目標:

網路應該如何

因此,將 Nat Gateway 視為另一台將流量轉發到具有 Internet 網關的子網的主機。上圖顯示了每台機器應如何連接到網際網路。在您的情況下,通過正常的 Internet 網關Host 2訪問Subnet 2和通過 Nat Gatewaty 和子網 1 訪問 Internet。

在您的情況下,子網subnet-0c8192051e2a46965subnet-065ae3de09e9f8355適合託管 Nat 網關。但是 Nat 網關不能在子網中subnet-0ac620105fc198e33

為了更改 Nat 網關的子網,您必須創建一個新的 Nat 網關,然後更新路由表以使用 Nat 網關。如果您想保留彈性 IP,請等待舊的 Nat 網關被刪除。之後,使用新的。

請記住,一旦您在此欄位中創建新的 Nat 網關,如下所示:

在此處輸入圖像描述

選擇子網subnet-0c8192051e2a46965subnet-065ae3de09e9f8355

引用自:https://serverfault.com/questions/1091115