Ir para o conteúdo

Por que minha instância do Amazon EC2 não pode acessar a Internet por meio de um gateway da internet?

4 minuto de leitura
0

Minha instância do Amazon Elastic Compute Cloud (Amazon EC2) que está em uma sub-rede pública tem um endereço IP público ou um gateway de internet, mas não pode acessar a Internet.

Resolução

Pré-requisitos:

  • Associe uma tabela de rotas à sub-rede da sua instância que tenha uma rota padrão para um gateway da Internet (0.0.0.0/0).
  • Verifique se você não excluiu o gateway da Internet associado à rota.
  • Configure o grupo de segurança anexado à interface de rede elástica da sua instância com regras que permitem tráfego de saída da Internet (0.0.0.0/0) para suas portas e protocolos.
  • Confirme se a lista de controle de acesso (ACL) à rede associada à sub-rede da sua instância tem regras que permitem tráfego de saída e entrada para a Internet.

Se a instância que está em uma sub-rede pública não tiver um endereço IP público, ela não poderá ser acessada fora de sua nuvem privada virtual (VPC). Isso é verdade mesmo se a instância tem um gateway de internet.

Para permitir que a instância se conecte à Internet, aloque um endereço IP elástico e, em seguida, associe o endereço IP elástico à instância.

Para instâncias que têm um endereço IP público, verifique se há uma regra de firewall que bloqueia o acesso à Internet e, em seguida, remova a regra. Ou desative o firewall.

Remover a regra de firewall que bloqueia o acesso

Um firewall local executado no sistema operacional (SO) pode bloquear o acesso de saída a portas ou endereços IP específicos. Para resolver esse problema, liste suas regras de firewall e exclua as que bloqueiam o acesso.

Observação: antes de excluir qualquer regra, faça backup das regras no arquivo.

Distribuições Linux

Para listar as regras de firewall, execute um dos seguintes comandos com base no firewall que você configurou na sua instância:

Firewall descomplicado

sudo ufw status numbered

firewalld

sudo firewall-cmd --list-all-zones

iptables

sudo iptables -L --line-numbers

Para excluir uma regra de firewall, execute um dos seguintes comandos com base no firewall que você configurou na sua instância.

Firewall descomplicado

sudo ufw delete rule_number

Observação: substitua rule_number pela regra de firewall que você deseja excluir.

firewalld

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

Observação: depois de remover as regras --permanent, você deve recarregar o firewall para que as alterações entrem em vigor imediatamente na configuração de runtime.

iptables

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

Windows Server

Para listar as regras de firewall de um firewall padrão do Windows Server, execute o seguinte comando:

netsh advfirewall firewall show rule name=all

Se alguma das regras da saída do comando anterior mostrar tráfego bloqueado, execute o seguinte comando para remover a regra de firewall:

netsh advfirewall firewall delete rule name=rule_name

Observação: substitua rule_name pelo nome da regra de firewall que bloqueia o tráfego.

Para mais informações, consulte Ferramentas de Firewall do Windows no site do Microsoft Learn.

Desativar o firewall

Distribuições Linux

Também é possível desativar o firewall local e, em vez disso, usar grupos de segurança.

Observação: a desativação do firewall pode afetar seu workload.

Para desativar seu firewall, execute um dos seguintes comandos:

Firewall descomplicado

sudo ufw disable

firewalld

sudo systemctl disable firewalld --now

iptables

sudo systemctl disable iptables

Se você precisar usar um firewall, execute um dos seguintes comandos para permitir o tráfego de saída:

Firewall descomplicado

sudo ufw default allow outgoing

iptables

sudo iptables P OUTPUT ACCEPT
sudo iptables I OUTPUT j ACCEPT

Observação: por padrão, firewalld permite todo o tráfego de saída do sistema para qualquer zona, a menos que não haja uma regra avançada.

Windows Server

Para desativar o Firewall do Windows para o firewall padrão do Windows Server, execute o seguinte comando:

netsh advfirewall set allprofiles state off

Para mais informações, consulte Ferramentas de Firewall do Windows no site do Microsoft Learn.

Informações relacionadas

Habilitar o acesso à Internet para uma VPC usando um gateway da Internet

Por que não consigo usar o NAT para conectar minha instância do EC2 em uma sub-rede privada à internet?

AWS OFICIALAtualizada há 3 meses