Como meu hostname é resolvido sem um servidor DNS

3

Minha pergunta básica não é "por que isso não funciona?", mas "por que isso funciona?".

Eu tenho um computador executando o apache 2.2 no windows, com o ServerName definido como algo como gateway_01. Ele está conectado ao wifi do escritório, em um roteador netgear. Eu configurei tudo ingenuamente, sem configurar nada, e pareceu funcionar.

Mas não funciona de forma consistente. Tanto quanto eu posso dizer no googling, para ter certeza de que posso acessá-lo usando http://gateway_01 na rede local, eu preciso:

  • Forneça um endereço IP estático
  • Execute um servidor DNS local que saiba que http://gateway_01 corresponde a 192.168.1.whatever (ou modifique o arquivo de hosts em meu computador, mas não seria viável fazer isso para todos os computadores da rede, incluindo aleatórios convidados e telefones das pessoas).
  • Definir meu roteador para usar o servidor DNS local quando os computadores se conectarem via DHCP

Eu não fiz nada disso. Às vezes, consigo acessar o gateway_01 perfeitamente bem, e às vezes preciso usar o endereço IP.

Por que isso e posso configurar as coisas para trabalhar de forma confiável sem ter que executar um servidor DNS local? Eu tenho uma suspeita de que é algo a ver com janelas, grupos de trabalho e o fato de que o nome do computador é o mesmo que o ServerName, mas eu gostaria muito de saber ao certo o que realmente está acontecendo.

    
por rorold 14.05.2013 / 17:26

1 resposta

2

Considerando que você está executando o Apache no Windows, parece-me que você está usando o NBT (NetBIOS sobre TCP) para resolver o nome do host. Sua suspeita provavelmente está correta; isso é semelhante ao Windows Workgroups e é notoriamente pouco confiável por vários motivos. Dê uma olhada aqui e aqui se você realmente quer mergulhar nele ...

É definitivamente melhor configurar o DNS local ou usar o arquivo hosts para resolver esse problema.

    
por 14.05.2013 / 18:28