
Ocasionalmente, nossa LAN para de resolver nomes de host. Não temos ideia de por que isso acontece. Como podemos diagnosticar esses problemas?
Temos dois roteadores. Um está conectado à internet (através de um modem de fibra). O outro está configurado como um switch sem fio. ou seja, ele fornece a Internet através do primeiro roteador, mas fica em uma sala diferente e é usado para conexões Ethernet aos computadores daquela sala.
O problema parece resultar do primeiro roteador (ou de outra coisa). Duvido que seja o roteador do switch ou qualquer problema de configuração na rede. Isso ocorre porque normalmente digitamos http://home
para obter a configuração do roteador conectado à Internet, mas isso não está funcionando. No entanto, podemos digitar o endereço IP e acessar a página de configuração. Isso acontece quer estejamos conectados ao roteador original ou ao switch.
Da mesma forma, temos um servidor web na LAN que normalmente usamos o nome do host do computador para acessar, o que não podemos fazer pela rede (novamente, o endereço IP funciona).
Da mesma forma, executar ping nos endereços IP na rede funciona, mas os nomes de host não.
Não sei como podemos consertar isso, se é que o fazemos. Normalmente reiniciamos os roteadores e eles voltam. Desta vez, eles não o fizeram, então estou procurando um pouco mais de compreensão sobre por que isso pode estar acontecendo.
Responder1
De acordo com as informações fornecidas, você deve começar determinando se o serviço DNS do roteador está realmente funcionando ou não. Você deve ser capaz de determinar isso observando a configuração do roteador para ver se o serviço está funcionando ou não, mas se não houver indicadores para ajudá-lo, você pode recorrer a uma varredura de porta.
PULE ESTA SEÇÃO SE SEU ROTEADOR DISSE QUE O DNS ESTÁ ATIVO:
Use uma ferramenta comonmap. Você pode baixá-lo rapidamente para o seu servidor Linux, pois está incluído na maioria dos repositórios de pacotes padrão para suas distribuições Linux padrão (Debian, Ubuntu, CentOS, Mint, Fedora, Redhat, etc). Dependendo se você está executando uma distribuição baseada em Debian ou baseada em RPM, sua sintaxe de comando pode ser diferente.
Para Debian:
- Procurar por
nmap
:sudo apt-cache search nmap
- Para instalar
nmap
:sudo apt-get install nmap
- Procurar por
Para RPMs (Fedora, Centos, RedHat e similares):
dnf search nmap
dnf install nmap
(em versões mais antigas antes
dnf
:)yum search nmap
yum install nmap
Procurar DNS
Supondo que o IP do seu roteador seja 192.168.1.1
, você deseja realizar uma varredura UDP de serviço ( -sU
) na porta 53 ( -p53
) com resolução agressiva ( -A
) para descobrir se ele está ativo e funcionando:
nmap -sU -p53 -A 192.168.1.1
Desde que o serviço volteABERTO | NÃO FILTRADO, então você está dourado. Se aparecer comoFECHADOem seguida, dê uma olhada nas configurações um pouco mais e veja se há opções que permitem reconfigurar o DNS ou simplesmente reiniciar o roteador na esperança de que ele volte à vida. Se tudo mais falhar, ligue para o fabricante e reclame profusamente. Isso às vezes funciona :)
Configurando o host do Windows:
Voltando à tarefa em questão: contanto que você tenha certeza de que o DNS está rodando e funcionando corretamente no roteador, você vai querer tentar fazer o cliente Windows funcionar, pois é um pouco mais simples e você tem uma GUI com a qual contar. Eu recomendo configurar o DNS substituto em seu roteador para que ele possa consultar vários servidores DNS caso um deles falhe.
Meus favoritos pessoais:
8.8.8.8
é o Google 18.8.4.4
é o Google 2208.67.220.220
é OpenDNS 1208.67.222.222
é o OpenDNS 2
Feito isso, sua próxima etapa será verificar se você consegue fazer com que o sistema Windows resolva o DNS no roteador configurando-o manualmente nas configurações de rede TCP/IPv4.
- Clique com o botão direito no ícone de rede na parte inferior direita da barra de tarefas e vá para o arquivo
Networking and Sharing Center
. - Clique na sua interface de rede (deve ser
ethernet 1
ou similar) e vá paraproperties
. - Clique
Internet Protocol Version 4 (TCP/IPv4)
e bataproperties
mais uma vez, - Clique no
User the following DNS server addresses
botão radial, - Insira o IP do roteador/servidor DNS como DNS preferencial,
- Digite
8.8.8.8
(DNS público do Google) como DNS alternativo, para substituto - Verifique
Validate Settings
na saída - Clique
OK
para aplicar e aguarde a interface de rede solucionar problemas/reiniciar
Você deve ser capaz de resolver nomes de host DNS neste ponto nos sistemas Windows. Se estiver, então você sabe que, por qualquer motivo, o serviço DHCP do seu roteador não está transmitindo as configurações corretas e pode ser necessário envolver o fabricante ou talvez você possa se consertar na esperança de que isso o leve a algum lugar. Consulte sempre a documentação.
Se, por outro lado, não funcionar, eu suspeitaria dos próprios cabos ou do hardware do roteador. Não há muito o que fazer neste momento além de começar a substituir os dispositivos físicos.
Configurando o servidor Linux:
(Você pode precisar executar esses comandos do usuário root
/ sudo
se encontrar algum erro de permissão.)
Esta provavelmente será uma nova aventura para você se não tiver muita experiência com Linux, mas não se preocupe.
Comece verificando o /etc/resolv.conf
arquivo com:
cat /etc/resolv.conf
Este arquivo é onde os servidores de nomes, nomes de domínio e domínios de pesquisa são configurados. Normalmente você verá:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
Existem duas possibilidades, dependendo da aparência da sua configuração. Uma é que você tem o dnsmasq instalado e recebe aquele banner de aviso informando para não alterar seu resolv.conf. Neste caso, ele terá o loopback (127.0.0.1 ou 127.0.1.1) exatamente como você vê na minha configuração, indicando que executa seu próprio serviço DNS através do dnsmasq. Se você vir isso, execute o seguinte:
/etc/init.d/dnsmasq status
Se você vir No such file or directory
que o dnsmasq não está instalado, não há problema. Você pode seguir em frente sem ele ou podemos instalá-lo rapidamente com
apt-get install dnsmasq
(ou dnf install dnsmasq
).
Se você optar por não instalar/reiniciar o dnsmasq, você pode simplesmente editar seu /etc/resolv.conf
arquivo com seu editor de texto favorito (eu prefiro nano
) para incluir as seguintes linhas:
nameserver 192.168.1.1 8.8.8.8 8.8.4.4 # That's your router and two fallback DNS servers
Se você vir que o status do dnsmasq está Ativo/Em Execução, ele está instalado e funcionando corretamente. Se o dnsmasq estiver inativo/morto, você deverá iniciá-lo com o seguinte:
/etc/init.d/dnsmasq start
O dnsmasq normalmente lida com a resolução de DNS alterando dinamicamente o /etc/resolv.conf
arquivo para você. Nos casos em que o seu resolvedor não está lidando com as solicitações corretamente ou o dnsmasq não está configurado corretamente, sugiro fortemente a leiturasua adorável documentação.
Mas na verdade existem apenas duas configurações que você precisa garantir que estejam em vigor para o seu /etc/dnsmasq.conf
:
server=/yourlocaldomain/192.168.1.1
local=/yourlocaldomain/
Eles definem o servidor para o seu nome de domínio local e o IP do servidor DNS e local=/yourlocaldomain/
evitam que o dnsmasq tente resolver para servidores de nomes upstream quando o seu domínio for encontrado no FQDN do host que você está tentando resolver.
Por exemplo, se você não definir essa configuração e tentar resolver
emailserver.localdomain
, o dnsmasq perguntará ao DNS público do Google onde emailserver.localdomain
está... e, é claro, responderá "Não tenho ideia!"
Definir isso fará com que o dnsmasq diga: " emailserver.**localdomain**
... devo perguntar 192.168.1.1
onde fica." - e 192.168.1.1
, seu roteador, pode responder adequadamente com uma resposta DNS adequada e o IP de emailserver.localdomain
.
Espero que esta explicação e solução prolixa ajudem você. Tentei explicar todos os cenários que pude imaginar, mas deixe-me saber se perdi alguma coisa ou se algo não estiver funcionando.
Responder2
Se a LAN não tiver muitos computadores e/ou não depender de rotas DNS internas, defina os parâmetros DNS na configuração pv4 para:
8.8.8.8
e
8.8.4.4
Isso dará trabalho de resolução de DNS aos servidores do Google.