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.
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.
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.
- Verifique o status de execução da Network ou NetworkManager.
systemctl status NetworkManager
- Execute os seguintes comandos para desativar Network:
systemctl disable network
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.
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.
- 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 - Clique no nome de ACL para exibir seu status.
Figura 4 ACL de rede ativada
- Desvincule a ACL de rede da sub-rede do ECS.
- 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.
- Execute o seguinte comando para verificar se o dhclient está em execução:
- 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
- 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:
- Para reiniciar NetworkManager, execute os seguintes comandos:
- Execute o seguinte comando para verificar se o endereço IP privado pode ser alocado:
Verificar a configuração da NIC
- Execute o seguinte comando para abrir o arquivo /etc/sysconfig/network-scripts/ifcfg-eth0:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
- 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"
- Execute o seguinte comando para reiniciar a rede:
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.