Você encontrou o ‘No Route to Host’ ao tentar acessar um servidor no Linux? Esse erro de conexão do serviço pode ser irritante, mas você pode consertá-lo assim que identificar a causa.
‘Sem rota para o host’ denota um problema de rede, geralmente um que aparece quando o servidor ou host não está respondendo. Isso pode acontecer devido a problemas de rede ou devido a uma configuração inadequada.
Abordaremos como solucionar e corrigir a situação da sua rede neste artigo.
Suas configurações de rede estão corretas?
Antes de examinarmos as causas mais específicas desse problema, certifique-se de que suas configurações de rede estejam corretas. Você consegue se conectar à web? O seu DNS está configurado corretamente?
- Vamos começar executando este comando para descobrir: systemd-resolve –status
- Se você detectar qualquer problema de DNS, volte para a configuração de sua rede e refaça-a se for necessário. Se você estiver usando uma rede padrão com um IP dinâmico, os números DNS devem ser atualizados automaticamente.
- Para configurar manualmente o seu DNS, vá para Gerente da rede e insira manualmente o endereço IP na guia IPv4.
- Se a sua distribuição Linux não possui um desktop gráfico, vá para “/etc/systemd/resolved.conf”, encontre a linha DNS e mude os números com os números do DNS que você deseja e faça outras configurações se necessário.
- Além disso, se você configurou um IP estático, pode desejar reverter para um IP dinâmico e permitir que sua rede obtenha as informações de conexão por meio de DHCP.
Não se esqueça de reiniciar o computador antes de tentar se conectar ao host novamente. Se você ainda está recebendo ‘No Route to Host’, continue lendo.
O servidor host está online?
A próxima etapa é verificar se o host ao qual você está tentando se conectar está realmente online. Afinal, uma das causas mais frequentes do erro é que o serviço não está funcionando como resultado de manutenção ou algum outro problema.
Se o serviço não estiver online, verifique se o host está. Às vezes, o serviço pode ter sido interrompido ou não ter sido iniciado, mesmo que não haja nada de errado com o próprio servidor.
- Usando o systemd, execute o comando: sudo systemctl status servicename
Se o serviço estiver em execução, você precisa procurar outra causa.
Você está se conectando à porta certa?
Verifique novamente qualquer documentação que o host possa ter fornecido. É uma prática comum para gerentes de servidor bloquear portas que não são usadas para melhorar a segurança do servidor. Os invasores costumam usar portas comuns para direcionar os serviços Linux.
Se estiver tentando se conectar ao seu próprio servidor, você pode rastrear o serviço até a porta correta. Para fazer isso, você precisa instalar uma ferramenta de segurança que pode ajudá-lo a ver as portas abertas - NMAP.
Aqui estão os comandos para instalar o NMAP em diferentes distribuições do Linux:
CentOS: yum install nmap
Debian: apt-get install nmap
Ubuntu: sudo apt-get install nmap
Depois de instalar o NMAP, verifique as portas abertas com o seguinte comando: sudo nmap -sS target-server-ip
Se você não tiver acesso direto ao servidor, deverá entrar em contato com o host. Mas antes de fazer isso, dê uma olhada em algumas das outras causas possíveis para o erro ‘No Route to Host’ no Linux.
O nome do host está correto?
Você também pode obter o erro ‘No Route to Host’ se o seu computador e o servidor que você está tentando conectar usar nomes de host diferentes. Ambas as máquinas devem ser configuradas para se conectar uma à outra.
Além da configuração usual dos hosts, você deve prestar atenção aos arquivos hosts.deny e hosts.allow em “/ etc”. Se você estiver tentando se conectar a um novo servidor, certifique-se de obter o nome de host do servidor correto.
O iptables está bloqueando a conexão?
iptables é muito útil quando você deseja configurar as tabelas de firewall do kernel do Linux. O controle total que ele dá a você sobre o tráfego que entra e sai do seu computador é excelente.
Mas, por meio de um simples erro de configuração, o iptables pode bloquear a conexão com a porta que você deseja alcançar e dar origem ao erro ‘No Route to Host’.
- Primeiro, imprima uma lista de seus iptables e suas conexões digitando sudo iptables -L e acertando Entrar.
- Para verificar se o iptables é o culpado, execute o seguinte comando: sudo iptables -S. Isso permitirá que você veja se as regras de iptables que você definiu bloqueiam a conexão. Você pode ter que adicionar uma regra de aceitação à cadeia de INPUT padrão.
- Para limpar as regras de firewall para um firewall externo, você pode usar este comando: sudo iptables -F
Reflexões finais
Como você pode ver, pode demorar um pouco para chegar ao fim do erro ‘Sem rota para o host’, mas as etapas acima devem ajudá-lo. Embora possa parecer um problema complexo, geralmente é o resultado de configurações conflitantes ou simples problemas de rede.
Você encontrou outras causas e soluções potenciais para esse erro? Deixe-nos um comentário e conte-nos sobre isso.