Salta al contenuto

Perché la mia istanza Amazon EC2 non può accedere a Internet tramite un gateway Internet?

4 minuti di lettura
0

La mia istanza Amazon Elastic Compute Cloud (Amazon EC2) che si trova in una sottorete pubblica ha un indirizzo IP pubblico o un gateway Internet ma non può accedere a Internet.

Risoluzione

Prerequisiti:

  • Associa una tabella di routing alla sottorete dell'istanza che ha una route predefinita verso un gateway Internet (0.0.0.0/0).
  • Verifica di non aver eliminato il gateway Internet associato alla route.
  • Configura il gruppo di sicurezza collegato all'interfaccia di rete elastica dell'istanza con regole che consentano il traffico Internet in uscita (0.0.0.0/0) per le porte e i protocolli.
  • Verifica che la lista di controllo degli accessi alla rete (ACL) associata alla sottorete dell'istanza disponga di regole che consentono il traffico in uscita e in entrata verso Internet.

Se l'istanza che si trova in una sottorete pubblica non ha un indirizzo IP pubblico, l'istanza non è accessibile al di fuori del suo cloud privato virtuale (VPC). Questo accade anche se l'istanza dispone di un gateway Internet.

Per consentire all'istanza di connettersi a Internet, assegna un indirizzo IP elastico e associalo all'istanza.

Per le istanze con un indirizzo IP pubblico, controlla se esiste una regola del firewall che blocca l'accesso a Internet, quindi rimuovi la regola. Oppure disattiva il firewall.

Rimuovi la regola del firewall che blocca l'accesso

Un firewall locale eseguito nel sistema operativo potrebbe bloccare l'accesso in uscita a porte o indirizzi IP specifici. Per risolvere il problema, elenca le regole del firewall ed elimina quelle che bloccano l'accesso.

Nota: prima di eliminare qualsiasi regola, esegui il backup delle regole nel file.

Distribuzioni Linux

Per elencare le regole del firewall, esegui uno di questi comandi in base al firewall configurato sull'istanza:

Uncomplicated firewall

sudo ufw status numbered

firewalld

sudo firewall-cmd --list-all-zones

iptables

sudo iptables -L --line-numbers

Per eliminare una regola del firewall, esegui uno di questi comandi in base al firewall configurato sull'istanza.

Uncomplicated firewall

sudo ufw delete rule_number

Nota: sostituisci rule_number con la regola del firewall che desideri eliminare.

firewalld

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

Nota: dopo aver rimosso le regole --permanent, devi ricaricare il firewall affinché le modifiche abbiano effetto immediato nella configurazione di runtime.

iptables

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

Windows Server

Per elencare le regole del firewall per un firewall predefinito di Windows Server, esegui questo comando:

netsh advfirewall firewall show rule name=all

Se una delle regole dell'output del comando precedente mostra traffico bloccato, esegui questo comando per rimuovere la regola del firewall:

netsh advfirewall firewall delete rule name=rule_name

Nota: sostituisci rule_name con il nome della regola del firewall che blocca il traffico.

Per ulteriori informazioni, consulta Strumenti di Windows Firewall sul sito web Microsoft Learn.

Disattiva il firewall

Distribuzioni Linux

Puoi anche disattivare il firewall locale e utilizzare al suo posto i gruppi di sicurezza.

Nota: la disattivazione del firewall potrebbe influire sul carico di lavoro.

Per disattivare il firewall, esegui uno di questi comandi:

Uncomplicated firewall

sudo ufw disable

firewalld

sudo systemctl disable firewalld --now

iptables

sudo systemctl disable iptables

Se devi utilizzare un firewall, esegui uno di questi comandi per consentire il traffico in uscita:

Uncomplicated firewall

sudo ufw default allow outgoing

iptables

sudo iptables P OUTPUT ACCEPT
sudo iptables I OUTPUT j ACCEPT

Nota: per impostazione predefinita, firewalld consente tutto il traffico in uscita dal sistema per qualsiasi zona, a meno che non vi sia alcuna regola avanzata.

Windows Server

Per disattivare il firewall predefinito di Windows Firewall per Windows Server, esegui questo comando:

netsh advfirewall set allprofiles state off

Per ulteriori informazioni, consulta Strumenti di Windows Firewall sul sito web Microsoft Learn.

Informazioni correlate

Abilita l'accesso a Internet per un VPC utilizzando un gateway Internet

Perché non posso usare NAT per connettere la mia istanza EC2 in una sottorete privata a Internet?