跳至內容

為什麼我的 Amazon EC2 執行個體無法透過網際網路閘道存取網際網路?

2 分的閱讀內容
0

我在公有子網路中的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體具有公有 IP 位址或網際網路閘道,但其無法存取網際網路。

解決方法

先決條件:

  • 將路由表與執行個體閘道建立聯,且該路由表需包含指向網際網路閘道 (0.0.0.0/0) 的預設路由
  • 檢查您是否刪除了與該路由關聯的網際網路閘道。
  • 請為附加在執行個體彈性網路介面上的安全群組,設定規則以允許您的連接埠和通訊協定的傳出網際網路流量 (0.0.0.0/0)。
  • 確認與您的執行個體子閘道聯的網路存取控制清單 (ACL) 具有允許網際網路傳出和傳入流量的規則。

如果公有子網路中的執行個體沒有公有 IP 位址,則該執行個體無法從其虛擬私有雲端 (VPC) 外部存取。即使執行個體具有網際網路閘道,情況也是如此。

若要允許執行個體連線到網際網路,請指派彈性 IP 位址,然後將彈性 IP 位址與執行個體建立關聯

對於具有公有 IP 位址的執行個體,請檢查是否有防火牆規則封鎖網際網路存取,並將該規則移除。或者,停用防火牆。

移除封鎖存取的防火牆規則

作業系統 (OS) 中執行的本機防火牆可能會封鎖對特定連接埠或 IP 位址的傳出存取。若要解決此問題,請列出您的防火牆規則,然後刪除封鎖存取的規則。

**注意:**在刪除任何規則之前,請將規則備份到檔案中。

Linux 發行版

若要列出防火牆規則,請根據您在執行個體上設定的防火牆,執行下列其中一個命令:

Uncomplicated firewall

sudo ufw status numbered

firewalld

sudo firewall-cmd --list-all-zones

iptables

sudo iptables -L --line-numbers

若要刪除防火牆規則,請根據您在執行個體上設定的防火牆,執行下列其中一個命令。

Uncomplicated firewall

sudo ufw delete rule_number

**注意:**將 rule_number 替換為您要刪除的防火牆規則。

firewalld

sudo firewall-cmd --zone=zone --remove-rich-rule=rule --permanent
sudo firewall-cmd --reload

**注意:**移除 --permanent 規則後,您必須重新載入防火牆,以使變更在執行時期組態中立即生效。

iptables

sudo iptables-save > iptables_backup.txt
sudo iptables -D chain rule_number

Windows Server

若要列出 Windows Server 預設防火牆的防火牆規則,請執行下列命令:

netsh advfirewall firewall show rule name=all

如果上述命令的輸出中有任何規則顯示流量遭到封鎖,請執行以下命令移除防火牆規則:

netsh advfirewall firewall delete rule name=rule_name

**注意:**將 rule_name 替換為封鎖流量的防火牆規則名稱。

如需詳細資訊,請參閱 Microsoft Learn 網站上的 Windows 防火牆工具

停用防火牆

Linux 發行版

您也可以停用本機防火牆,並改用安全群組

**注意:**停用防火牆可能會影響您的工作負載。

若要停用防火牆,請執行下列其中一個命令:

Uncomplicated firewall

sudo ufw disable

firewalld

sudo systemctl disable firewalld --now

iptables

sudo systemctl disable iptables

如果必須使用防火牆,請執行下列其中一個命令以允許傳出流量:

Uncomplicated firewall

sudo ufw default allow outgoing

iptables

sudo iptables P OUTPUT ACCEPT
sudo iptables I OUTPUT j ACCEPT

**注意:**預設情況下,firewalld 對任何區域都允許系統所有的傳出流量,除非有設定複雜規則限制。

Windows Server

若要停用 Windows Server 預設防火牆的 Windows 防火牆,請執行下列命令:

netsh advfirewall set allprofiles state off

如需詳細資訊,請參閱 Microsoft Learn 網站上的 Windows 防火牆工具

相關資訊

使用網際網路閘道為 VPC 啟用網際網路存取

為什麼我無法使用 NAT 將私有子網路中的 EC2 執行個體連線到網際網路?

AWS 官方已更新 6 個月前