Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-08-08 GMT+08:00

¿Por qué mi ECS de Linux no puede acceder a Internet?

Síntomas

Error al intentar acceder a Internet desde el ECS de Linux.

Localización de fallas

Las siguientes causas de falla se secuencian basándose en su probabilidad de ocurrencia.

Si la falla persiste después de haber descartado una causa, verifique otras causas.

Tabla 1 Posibles causas y soluciones

Causa posible

Solución

El ECS se congela o se detiene, o no tiene ningún enlace de EIP.

Compruebe si el ECS está en el estado Running y tiene un límite de ECS. Para obtener más información, véase Comprobación del estado de ECS.

El ECS está sobrecargado.

Compruebe si el ancho de banda y el uso de vCPU del ECS son demasiado altos. Para obtener más información, véase Comprobar si el ECS está sobrecargado.

El ancho de banda de EIP excede el límite de ancho de banda.

Aumente el ancho de banda e inténtelo de nuevo. Para obtener más información, véase Comprobar si el ancho de banda de ECS supera el límite.

La configuración de DNS es incorrecta.

Cambie el servidor de DNS a uno privado. Para obtener más información, véase Comprobación de la configuración de DNS.

La resolución especificada se ha configurado en el archivo hosts.

Compruebe si los mapeos en el archivo de configuración de hosts son correctas. Para obtener más información, véase Comprobación del archivo de configuración de hosts.

Tanto Network como NetworkManager están habilitados.

Utilice cualquiera de las dos herramientas para evitar problemas de incompatibilidad. Para obtener más información, véase Comprobar si se han habilitado tanto Network como NetworkManager.

El grupo de seguridad está configurado incorrectamente.

Compruebe si el grupo de seguridad permite el tráfico de red en la dirección de salida. Para obtener más información, véase Comprobar si el grupo de seguridad está configurado correctamente.

Se ha asociado una ACL de red con el ECS.

Desasocie la ACL de la red con el ECS e inténtelo de nuevo. Para obtener más información, véase Comprobación de reglas de ACL.

El sitio web que desea visitar está fuera de China continental.

Optimice las configuraciones de enlaces a los sitios web e inténtelo de nuevo. Para obtener más información, véase Comprobar si el sitio web a visitar está fuera de China continental.

Si la falla persiste, utilice un HECS comprado en una región fuera de China continental para acceder al sitio web.

La ECS está bloqueada.

Si la EIP está bloqueada, el ECS no puede acceder a Internet. Para obtener más información, véase Comprobar si el ECS está bloqueado.

La dirección IP privada se pierde.

Compruebe si el proceso dhclient se está ejecutando. Si no se está ejecutando, la dirección IP privada puede perderse. Para obtener más información, véase Comprobar si se puede obtener una dirección IP privada.

Las NIC están configuradas incorrectamente.

Compruebe si las configuraciones de NIC y DNS son correctas. Para obtener más información, véase Comprobación de la configuración de NIC.

El firewall está habilitado en el ECS.

Deshabilite el firewall e inténtelo de nuevo. Para obtener más información, véase Comprobación de la configuración del firewall.

Comprobación del estado de ECS

  • Compruebe si el ECS está en el estado Running en la consola de gestión.
  • Comprobar si una EIP ha estado vinculada al ECS.

    Un ECS solo puede acceder a Internet si tiene un enlace de ECS.

    Para obtener más información sobre cómo vincular una EIP al ECS, consulte Vincular una EIP .

Comprobar si el ECS está sobrecargado

Si el ancho de banda y el uso de CPU de un ECS son demasiado altos, la red puede estar desconectada.

Si ha creado una regla de alarma con Cloud Eye, el sistema le envía automáticamente una notificación de alarma cuando el ancho de banda o el uso de CPU alcanzan el umbral especificado en la regla.

Comprobar si el ancho de banda de ECS supera el límite

Un ECS con una EIP enlazada accede a Internet usando el ancho de banda configurado para la EIP.

Si el acceso a Internet falla, compruebe si el ancho de banda de EIP excede el límite de ancho de banda.

Compruebe si el ancho de banda excede el tamaño de ancho de banda configurado. Para obtener más información, consulte ¿Cómo sé si se ha superado el límite de ancho de banda de mi EIP?

Si el ancho de banda excede el límite, aumente el ancho de banda. Para obtener más información, consulte Cambio de un ancho de banda de la EIP.

Comprobación de la configuración de DNS

Los servidores de DNS privados resuelven los nombres de dominio para los ECS creados con una imagen pública de forma predeterminada. Los servidores de DNS privados no afectan a la resolución de nombres de dominio para que los ECS accedan a Internet. Además, puede utilizar los servidores de DNS privados para acceder directamente a las direcciones internas de otros servicios en la nube, como OBS. En comparación con el acceso a través de Internet, este modo de acceso cuenta con alto rendimiento y baja latencia.

Ejecute el siguiente comando para ver la configuración de DNS:

cat /etc/resolv.conf

Si se muestra el resultado del comando mostrado en el Figura 1, el nombre de dominio se resuelve mediante el servidor de DNS privado.

Figura 1 Configuración de DNS

Si el nombre de dominio del ECS se resuelve mediante un servidor de DNS no privado y desea cambiar a un servidor de DNS privado, cambie el servidor de DNS a uno privado.

Para más detalles, véase ¿Cómo puedo configurar los servidores de NTP y de DNS para un ECS?

Comprobación del archivo de configuración de hosts

Si la configuración de DNS es correcta pero el ECS aún no puede acceder a Internet, compruebe si la información de asignación en el archivo de configuración de hosts es correcta. En caso de una asignación incorrecta, coméntelos.

Para Linux, ejecute el siguiente comando para ver la configuración de hosts:

vim /etc/hosts

Si hay una asignación de nombre de dominio incorrecta, coméntelo y guarde el archivo hosts.

Comprobar si se han habilitado tanto Network como NetworkManager

Network y NetworkManager son dos herramientas de la gestión de red, y cualquiera de ellas se puede activar cada vez. Si ambos están habilitados, son incompatibles entre sí.

Tome CentOS 7 como ejemplo. NetworkManager se recomienda para CentOS 7.

  1. Compruebe el estado de ejecución de Network o NetworkManager.

    systemctl status network

    systemctl status NetworkManager

  1. Ejecute los siguientes comandos para deshabilitar Network:

    systemctl stop network

    systemctl disable network

  1. Ejecute los siguientes comandos para habilitar NetworkManager:

    systemctl start NetworkManager

    systemctl enable NetworkManager

Comprobar si el grupo de seguridad está configurado correctamente

Compruebe si el grupo de seguridad del ECS está configurado correctamente. Si se configura una lista de permisos para las reglas de salida del grupo de seguridad, se permite el tráfico de red en la dirección de salida.

Como se muestra en Figura 2, se permite todo el tráfico de red en la dirección de salida.

Para obtener instrucciones acerca de cómo permitir un protocolo o puerto, consulte Configuración de las reglas del grupo de seguridad.

Figura 2 Permitir todo el tráfico de red en la dirección de salida

Comprobación de reglas de ACL

De forma predeterminada, no se configuran las reglas de ACL para una VPC. Si una ACL de red está asociada a una VPC, compruebe las reglas de ACL.

  1. Compruebe si la subred del ECS se ha asociado con una ACL de red.

    Si se muestra un nombre de ACL, la ACL de red se ha asociado con el ECS.

    Figura 3 ACL de red
  2. Haga clic en el nombre de la ACL para ver su estado.
    Figura 4 ACL de red habilitada
  3. Desasocie la ACL de la red de la subred del ECS.
    En la página que proporciona los detalles sobre la ACL de la red, seleccione Associated Subnets > Disassociate.
    Figura 5 Disociación de una ACL de red

    La regla de ACL de red predeterminada deniega todos los paquetes entrantes y salientes. Si una ACL de red está deshabilitada, la regla predeterminada sigue siendo efectiva.

  4. Vuelva a intentar acceder a Internet a través del ECS.

Comprobar si el sitio web a visitar está fuera de China continental

Los sitios web fuera de China continental pueden no ser accesibles o responder lentamente cuando se accede a ellos a través de una ECS. Esto es causado por el lento acceso de un servidor de DNS fuera de China continental.

Si tiene la intención de acceder a sitios web fuera de China continental, compre un ECS en una región fuera de China continental.

Para acelerar el acceso a un sitio web fuera de China continental, vea ¿Por qué acceder a un sitio web fuera de China continental es lento en un ECS?

Comprobar si el ECS está bloqueado

El bloqueo de direcciones IP indica que todo el tráfico está destinado a una ruta nula. Si la EIP está bloqueada, el ECS no puede acceder a Internet.

Generalmente, las EIP bloqueadas se desbloquearán automáticamente después de 24 horas si no se produce ningún ataque posterior.

Se recomienda que utilice Anti-DDoS avanzado (AAD) para prevenir ataques.

Comprobar si se puede obtener una dirección IP privada

Las direcciones IP privadas pueden perderse si el proceso dhclient no se está ejecutando o la NIC de destino no es gestionada por NetworkManager porque el inicio automático de NetworkManager no está habilitado. Realice las siguientes operaciones para localizar la falla:

Considere un ECS que ejecute CentOS 7 como ejemplo.

  1. Ejecute el siguiente comando para comprobar si dhclient se está ejecutando:

    # ps -ef |grep dhclient |grep -v grep

  2. Si no se detecta dhclient, ejecute el siguiente comando para comprobar si NetworkManager se está ejecutando:

    # systemctl status NetworkManager

    • Si NetworkManager está en el estado Active: inactive (dead), no está habilitado. Ejecute el siguiente comando para comprobar si NetworkManager se inicia automáticamente al iniciar el sistema:

      # systemctl is-enabled NetworkManager

      Si el resultado del comando es disabled, ejecute el siguiente comando para habilitar el inicio automático de NetworkManager:

      # systemctl enable NetworkManager && systemctl start NetworkManager

    • Si NetworkManager está en el estado Active: active (running), ejecute el siguiente comando para comprobar si NetworkManager gestiona la NIC de destino:

      # nmcli device status

      Si la NIC está en el estado unmanaged, ejecute el siguiente comando para que NetworkManager la gestione:

      # nmcli device set eth0 managed yes

  3. Ejecute los siguientes comandos para reiniciar NetworkManager:

    # systemctl restart NetworkManager

  4. Ejecute el siguiente comando para comprobar si se puede asignar la dirección IP privada:

    # ip add

Comprobación de la configuración de NIC

  1. Ejecute el siguiente comando para abrir el archivo /etc/sysconfig/network-scripts/ifcfg-eth0:

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

  2. Modifique la siguiente configuración en este archivo.

    Considere un ECS que ejecute CentOS 7 como ejemplo.

    DEVICE="eth0"
    BOOTPROTO="dhcp"
    ONBOOT="yes"
    TYPE="Ethernet"
    PERSISTENT_DHCLIENT="yes"
  3. Ejecute el siguiente comando para reiniciar la red:

    service network restart

Comprobación de la configuración del firewall

Considere un ECS que ejecute CentOS 7 como ejemplo. Compruebe si el firewall está habilitado.

Para obtener más detalles, consulte ¿Cómo deshabilito un firewall de ECS de Linux y agrego una excepción de puerto en un firewall de ECS de Linux?.

firewall-cmd --state

El resultado del comando es el siguiente:

[root@ecs-centos7 ~]# firewall-cmd --state 
running

Ejecute el siguiente comando para deshabilitar el firewall:

systemctl stop firewalld.service

Habilitar un firewall y configurar un grupo de seguridad protege sus ECS. Si deshabilita un firewall, tenga cuidado al habilitar puertos en el grupo de seguridad.