[英]AWS VPC can't access Internet despite configuring NAT, Internet Gateway according to rules
我對那個有點迷茫——我已經關注了 AWS 文檔,但我似乎找不到更多的東西了。 情況摘要是我在 VPC 中有一個 EC2 實例,盡管按照 Amazon AWS 的說明為 VPC 設置 NAT,但它無法訪問 Internet。 詳情如下:
我有一個帶有一個子網 (CIDR 10.0.0.0/24) 和一個 EC2 實例的 VPC(它僅在 VPC 中具有私有 IP 地址,10.0.0.168)
我創建了一個 Internet 網關並將其附加到上述 VPC。
我為入站和出站流量創建了一個允許所有流量為 0.0.0.0/0 的網絡 ACL,並將 ACL 附加到 VPC 的唯一子網。
VPC 子網安全組還允許 0.0.0.0/0 的所有流量進出
我創建了一個 NAT 網關,它在 VPC (10.0.0.95) 內有一個私有 IP 地址和一個公共彈性 IP 地址(比如說 18.154.34.97,但我認為這無關緊要)。 此 NAT 網關連接到 VPC 的唯一子網。
我創建了與 VPC 的子網 (10.0.0.0/24) 關聯的路由表,其中包含兩個條目:
Destination Target
10.0.0.0/24 local
0.0.0.0/0 nat-gateway-id
為了訪問 VPC,我創建了一個地址范圍為 10.1.0.0/22 的客戶端 VPN 終端節點,並將其與正確的 VPN 子網相關聯。
我可以使用 OpenVPN 和 ssh 將客戶端 VPN 端點連接到 EC2 實例。 但是,從那個實例我無法訪問 Internet。 同樣,當連接到此客戶端 VPN 端點時,我的本地計算機也無法訪問 Internet。 我嘗試在 VPC (10.0.0.95) 內 ping 通 NAT 地址,但任何一台機器都無法訪問它。
一切都是我設置的綠色,活動等。使用可達性分析器時,我得到以下信息:
Route table rtb-(...) does not have an applicable route to igw-(...)
我將事物路由到 NAT,而不是 Internet 網關,據我所知,當我僅在 VPC 中擁有私有 IP 地址時,這是通往 go 的正確方法。
Traffic cannot reach the internet through internet gateway igw-(...) because the source address is not paired with a public IP address. To add or edit an IPv4 public IP address to the source, you can use an Elastic IP address.
如果我正確理解 NAT,它會在從 VPC 內實例之一接收數據后成為 Internet 網關的源地址。 此 NAT 具有公共彈性 IP 地址。
Internet gateway igw-(...) cannot accept traffic with spoofed addresses from the VPC.
它不應該得到任何這樣的流量,因為它應該通過 NAT go,對吧?
我不知道我在這里錯過了什么......
NAT 網關必須位於具有路由表的公共子網中,該路由表將 Internet 流量路由到 Internet 網關。
您需要有兩個子網。 一公一私。
公共子網
公共子網可以啟用公共 IP集。 它應該有NAT 網關和路由表:
Destination Target
10.0.0.0/24 local
0.0.0.0/0 internet-gateway
私有子網
您的私有實例應該在私有子網中。 子網應該有路由表:
Destination Target
10.0.0.0/24 local
0.0.0.0/0 nat-gateway-id
NACL
最好保留默認的 NACL 。 很容易把它們搞砸。 您應該能夠僅使用安全組來控制對實例的訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.