Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2025-01-23 GMT+08:00

Por que meu ECS de Linux não consegue acessar a Internet?

Sintoma

Sua tentativa de acessar a Internet a partir do ECS de Linux falhou.

Localização de falha

As seguintes causas de falha são sequenciadas com base em sua probabilidade de ocorrência.

Se a falha persistir depois de ter excluído uma causa, verifique outras causas.

Tabela 1 Causas possíveis e soluções

Possível causa

Solução

O ECS está congelado ou parado ou não tem um EIP vinculado.

Verifique se o ECS está no estado Running e tem um ECS vinculado. Para mais detalhes, consulte Verificar o status do ECS.

O ECS está sobrecarregado.

Verifique se a largura de banda e o uso de vCPU do ECS são muito altos. Para mais detalhes, consulte Verificar se o ECS está sobrecarregado.

A largura de banda do EIP excede o limite de largura de banda.

Aumente a largura de banda e tente novamente. Para mais detalhes, consulte Verificar se a largura de banda do ECS excedeu o limite.

A configuração de DNS está incorreta.

Altere o servidor DNS para um privado. Para mais detalhes, consulte Verificar a configuração de DNS.

A resolução especificada foi configurada no arquivo hosts.

Verifique se os mapeamentos no arquivo de configuração de hosts estão corretos. Para mais detalhes, consulte Verificar o arquivo de configuração de hosts.

Network e NetworkManager estão habilitadas.

Use uma das duas ferramentas para evitar problemas de incompatibilidade. Para mais detalhes, consulte Verificar se Network e NetworkManager foram ativadas.

O grupo de segurança está configurado incorretamente.

Verifique se o grupo de segurança permite o tráfego de rede na direção de saída. Para mais detalhes, consulte Verificar se o grupo de segurança está configurado corretamente.

Uma ACL de rede foi vinculada ao ECS.

Desvincule a ACL de rede com o ECS e tente novamente. Para mais detalhes, consulte Verificar regras de ACL.

O site que você deseja visitar está fora da China continental.

Otimize as configurações de link do site e tente novamente. Para mais detalhes, consulte Verificar se o site a ser visitado está fora da China continental.

Se a falha persistir, use um HECS comprado em uma região fora da China continental para acessar o site.

O ECS está bloqueado.

Se o EIP estiver bloqueado, o ECS não poderá acessar a Internet. Para mais detalhes, consulte Verificar se o ECS está bloqueado.

O endereço IP privado é perdido.

Verifique se o processo dhclient está em execução. Se não estiver em execução, o endereço IP privado pode ser perdido. Para mais detalhes, consulte Verificar se um endereço IP privado pode ser obtido.

As NICs estão configuradas incorretamente.

Verifique se as configurações de NIC e DNS estão corretas. Para mais detalhes, consulte Verificar a configuração da NIC.

O firewall está habilitado no ECS.

Desative o firewall e tente novamente. Para mais detalhes, consulte Verificar a configuração do firewall.

Verificar o status do ECS

  • Verifique se o ECS está no estado Running no console de gerenciamento.
  • Verifique se um EIP foi vinculado ao ECS.

    Um ECS só pode acessar a Internet se tiver um ECS vinculado.

    Para obter detalhes sobre como vincular um EIP ao ECS, consulte Vinculação de um EIP.

Verificar se o ECS está sobrecarregado

Se a largura de banda e o uso da CPU de um ECS forem muito altos, a rede poderá ser desconectada.

Se você criou uma regra de alarme usando o Cloud Eye, o sistema enviará automaticamente uma notificação de alarme para você quando a largura de banda ou o uso da CPU atingir o limite especificado na regra.

Verificar se a largura de banda do ECS excedeu o limite

Se um EIP estiver vinculado ao ECS, o ECS poderá acessar a Internet por meio da largura de banda.

Se o acesso à Internet falhar, verifique se a largura de banda do EIP excede o limite de largura de banda.

Verifique se a largura de banda excede o tamanho da largura de banda configurada. Para obter detalhes, consulte Como saber se meu limite de largura de banda do EIP foi excedido?

Se a largura de banda exceder o limite, aumente a largura de banda. Para obter detalhes, consulte Alteração da largura de banda de um EIP.

Verificar a configuração de DNS

Os servidores DNS privados resolvem nomes de domínio para os ECSs criados usando uma imagem pública por padrão. Os servidores DNS privados não afetam a resolução de nomes de domínio para que os ECSs acessem a Internet. Além disso, você pode usar os servidores DNS privados para acessar diretamente os endereços internos de outros serviços de nuvem, como o OBS. Comparado ao acesso pela Internet, este modo de acesso apresenta alto desempenho e baixa latência.

Execute o seguinte comando para exibir a configuração de DNS:

cat /etc/resolv.conf

Se a saída de comando mostrada em Figura 1 for exibida, o nome de domínio será resolvido usando o servidor DNS privado.

Figura 1 Configuração de DNS

Se o nome de domínio do ECS for resolvido usando um servidor DNS não privado e você quiser alternar para um servidor DNS privado, altere o servidor DNS para um servidor privado.

Para mais detalhes, consulte Como configurar os servidores NTP e DNS para um ECS?.

Verificar o arquivo de configuração de hosts

Se a configuração de DNS estiver correta, mas o ECS ainda não conseguir acessar a Internet, verifique se as informações de mapeamento no arquivo de configuração de hosts estão corretas. Em caso de qualquer mapeamento incorreto, comente-os.

Para Linux, execute o seguinte comando para exibir a configuração de hosts:

vim /etc/hosts

Se houver um mapeamento de nome de domínio incorreto, comente-o e salve o arquivo hosts.

Verificar se Network e NetworkManager foram ativadas

Network e NetworkManager são duas ferramentas de gerenciamento de rede, e qualquer uma delas pode ser ativada a cada vez. Se ambos estiverem habilitados, eles são incompatíveis entre si.

Tome o CentOS 7 como exemplo. NetworkManager é recomendada para o CentOS 7.

  1. Verifique o status de execução da Network ou NetworkManager.

    systemctl status network

    systemctl status NetworkManager

  1. Execute os seguintes comandos para desativar Network:

    systemctl stop network

    systemctl disable network

  1. Execute os seguintes comandos para ativar NetworkManager:

    systemctl start NetworkManager

    systemctl enable NetworkManager

Verificar se o grupo de segurança está configurado corretamente

Verifique se o grupo de segurança do ECS está configurado corretamente. Se uma lista de permissão estiver configurada para as regras de saída do grupo de segurança, o tráfego de rede na direção de saída será permitido.

Como mostrado em Figura 2, todo o tráfego de rede na direção de saída é permitido.

Para obter instruções sobre como permitir um protocolo ou porta, consulte Configuração de regras de grupos de segurança.

Figura 2 Permitir todo o tráfego de rede na direção de saída

Verificar regras de ACL

Por padrão, nenhuma regra de ACL é configurada para uma VPC. Se uma ACL de rede estiver vinculada a uma VPC, verifique as regras da ACL.

  1. Verifique se a sub-rede do ECS foi vinculada a uma ACL de rede.

    Se um nome de ACL for exibido, a ACL de rede foi vinculada ao ECS.

    Figura 3 ACL de rede
  2. Clique no nome de ACL para exibir seu status.
    Figura 4 ACL de rede ativada
  3. Desvincule a ACL de rede da sub-rede do ECS.
    Na página que fornece detalhes sobre a ACL de rede, escolha Associated Subnets > Disassociate.
    Figura 5 Desvinculação de uma ACL de rede

    A regra de ACL de rede padrão nega todos os pacotes de entrada e saída. Se uma ACL de rede estiver desativada, a regra padrão ainda estará em vigor.

  4. Tente acessar a Internet por meio do ECS novamente.

Verificar se o site a ser visitado está fora da China continental

Sites fora da China continental podem não estar acessíveis ou responder lentamente quando você acessá-los por meio de um ECS. Isso é causado pelo acesso lento de um servidor DNS fora da China continental.

Se você pretende acessar sites fora da China continental, selecione uma região de acordo com o site ao comprar um ECS.

Para acelerar o acesso a um site fora da China continental, consulte Por que o acesso a um site fora da China continental é lento em um ECS?

Verificar se o ECS está bloqueado

O bloqueio de endereço IP indica que todo o tráfego é destinado a uma rota nula. Se o EIP estiver bloqueado, o ECS não poderá acessar a Internet.

Geralmente, os EIPs bloqueados serão desbloqueados automaticamente após 24 horas se nenhum ataque subsequente ocorrer.

É recomendado que você use Anti-DDoS (AAD) avançado para prevenir ataques.

Verificar se um endereço IP privado pode ser obtido

Os endereços IP privados podem ser perdidos se o processo dhclient não estiver em execução ou se a NIC de destino não for gerenciada por NetworkManager porque a inicialização automática de NetworkManager não está habilitada. Execute as seguintes operações para localizar a falha:

Considere um ECS executando o CentOS 7 como exemplo.

  1. Execute o seguinte comando para verificar se o dhclient está em execução:

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

  2. Se o dhclient não for detectado, execute o seguinte comando para verificar se NetworkManager está em execução:

    # systemctl status NetworkManager

    • Se NetworkManager estiver no estado Active: inactive (dead), NetworkManager não estará habilitada. Execute o seguinte comando para verificar se NetworkManager é iniciada automaticamente na inicialização do sistema:

      # systemctl is-enabled NetworkManager

      Se a saída do comando estiver disabled, execute o seguinte comando para habilitar a inicialização automática de NetworkManager:

      # systemctl enable NetworkManager && systemctl start NetworkManager

    • Se NetworkManager estiver no estado Active: active (running), execute o seguinte comando para verificar se a NIC de destino é gerenciada por NetworkManager:

      # nmcli device status

      Se a NIC estiver em estado unmanaged, execute o seguinte comando para permitir que ela seja gerenciada por NetworkManager:

      # nmcli device set eth0 managed yes

  3. Para reiniciar NetworkManager, execute os seguintes comandos:

    # systemctl restart NetworkManager

  4. Execute o seguinte comando para verificar se o endereço IP privado pode ser alocado:

    # ip add

Verificar a configuração da NIC

  1. Execute o seguinte comando para abrir o arquivo /etc/sysconfig/network-scripts/ifcfg-eth0:

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

  2. Modifique a seguinte configuração neste arquivo.

    Considere um ECS executando o CentOS 7 como exemplo.

    DEVICE="eth0"
    BOOTPROTO="dhcp"
    ONBOOT="yes"
    TYPE="Ethernet"
    PERSISTENT_DHCLIENT="yes"
  3. Execute o seguinte comando para reiniciar a rede:

    service network restart

Verificar a configuração do firewall

Considere um ECS executando o CentOS 7 como exemplo. Verifique se o firewall está ativado.

Para mais detalhes, consulte Como desativar um firewall de ECS de Linux e adicionar uma exceção de porta em um firewall de ECS de Linux?

firewall-cmd --state

A saída do comando é a seguinte:

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

Execute o seguinte comando para desativar o firewall:

systemctl stop firewalld.service

A ativação de um firewall e a configuração de um grupo de segurança protegem seus ECSs. Se você desabilita um firewall, tenha cuidado ao habilitar portas no grupo de segurança.