Saltar al contenido

¿Por qué mi instancia de Amazon EC2 no puede acceder a Internet a través de una puerta de enlace de Internet?

4 minutos de lectura
0

Mi instancia de Amazon Elastic Compute Cloud (Amazon EC2) que está en una subred pública tiene una dirección IP pública o una puerta de enlace de Internet, pero no puede acceder a Internet.

Resolución

Requisitos previos:

  • Asocia una tabla de enrutamiento a la subred de la instancia que tiene una ruta predeterminada a una puerta de enlace de Internet (0.0.0.0/0).
  • Comprueba que no hayas eliminado la puerta de enlace de Internet asociada a la ruta.
  • Configura el grupo de seguridad adjunto a la interfaz de red elástica de tu instancia con reglas que permitan el tráfico de Internet saliente (0.0.0.0/0) para tus puertos y protocolos.
  • Confirma que la lista de control de acceso de la red (ACL) asociada a la subred de la instancia tenga reglas que permitan el tráfico entrante y saliente a Internet.

Si la instancia que está en una subred pública no tiene una dirección IP pública, no se puede acceder a la instancia fuera de su nube virtual privada (VPC). Esto es así incluso si la instancia tiene una puerta de enlace de Internet.

Para permitir que la instancia se conecte a Internet, asigna una dirección IP elástica y, a continuación, asocia esta dirección IP elástica a la instancia.

En las instancias que tienen una dirección IP pública, comprueba si hay una regla de firewall que bloquee el acceso a Internet y, a continuación, elimínala. O bien, desactiva el firewall.

Eliminación de la regla de firewall que bloquea el acceso

Un firewall local que se ejecuta en el sistema operativo (SO) puede bloquear el acceso saliente a puertos o direcciones IP específicos. Para resolver este problema, haz una lista de las reglas del firewall y, a continuación, elimina las que bloquean el acceso.

Nota: Antes de eliminar cualquier regla, haz una copia de seguridad de las reglas en el archivo.

Distribuciones de Linux

Para enumerar las reglas del firewall, ejecuta uno de los siguientes comandos en función del firewall que has configurado en tu instancia:

Firewall sencillo

sudo ufw status numbered

firewalld

sudo firewall-cmd --list-all-zones

iptables

sudo iptables -L --line-numbers

Para eliminar una regla del firewall, ejecuta uno de los siguientes comandos en función del firewall que has configurado en tu instancia.

Firewall sencillo

sudo ufw delete rule_number

Nota: Sustituye rule_number por la regla del firewall que deseas eliminar.

firewalld

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

Nota: Tras eliminar las reglas --permanent, debes volver a cargar el firewall para que los cambios surtan efecto inmediatamente en la configuración de la versión ejecutable.

iptables

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

Windows Server

Para enumerar las reglas del firewall de un firewall predeterminado de Windows Server, ejecuta el siguiente comando:

netsh advfirewall firewall show rule name=all

Si alguna de las reglas del resultado del comando anterior muestra tráfico bloqueado, ejecuta el siguiente comando para eliminar la regla del firewall:

netsh advfirewall firewall delete rule name=rule_name

Nota: Sustituye rule_name por el nombre de la regla del firewall que bloquea el tráfico.

Para obtener más información, consulta Herramientas de firewall de Windows en el sitio web de Microsoft Learn.

Desactivación del firewall

Distribuciones de Linux

También puedes desactivar el firewall local y usar grupos de seguridad en su lugar.

Nota: La desactivación del firewall puede afectar a la carga de trabajo.

Para desactivar el firewall, ejecuta uno de los siguientes comandos:

Firewall sencillo

sudo ufw disable

firewalld

sudo systemctl disable firewalld --now

iptables

sudo systemctl disable iptables

Si debes usar un firewall, ejecuta uno de los siguientes comandos para permitir el tráfico saliente:

Firewall sencillo

sudo ufw default allow outgoing

iptables

sudo iptables P OUTPUT ACCEPT
sudo iptables I OUTPUT j ACCEPT

Nota: De forma predeterminada, firewalld permite todo el tráfico saliente del sistema para cualquier zona, a menos que no haya una regla enriquecida.

Windows Server

Para desactivar el firewall de Windows para el firewall predeterminado de Windows Server, ejecuta el siguiente comando:

netsh advfirewall set allprofiles state off

Para obtener más información, consulta Herramientas de firewall de Windows en el sitio web de Microsoft Learn.

Información relacionada

Activación del acceso a Internet para una VPC mediante una puerta de enlace de Internet

¿Por qué no puedo usar NAT para conectar mi instancia de EC2 en una subred privada a Internet?

OFICIAL DE AWSActualizada hace 7 meses