Come viene risolto il mio nome host senza un server DNS


3

La mia domanda di base non è "perché non funziona?", Ma "perché funziona?".

Ho un computer che esegue apache 2.2 in Windows, con il ServerName impostato su qualcosa come gateway_01. È connesso al wifi dell'ufficio, su un router netgear. L'ho impostato in modo ingenuo, senza configurare altro, e sembrava funzionare.

Ma non funziona in modo coerente. Per quanto posso dire da google, per essere sicuro di potervi accedere usando http://gateway_01 attraverso la rete locale, ho bisogno di:

  • Dagli un indirizzo IP statico
  • Esegui un server DNS locale che lo sappia http://gateway_01 corrisponde a 192.168.1.whatever (o modifica il file hosts sul mio computer, ma non sarebbe fattibile farlo per tutti i computer della rete, inclusi gli ospiti casuali ei telefoni delle persone).
  • Imposta il mio router per utilizzare il server DNS locale quando i computer si connettono tramite DHCP

In realtà non ho fatto nulla di tutto ciò. A volte riesco a raggiungere gateway_01 perfettamente bene, ea volte ho bisogno di usare l'indirizzo IP.

Perché è questo, e posso impostare le cose per funzionare in modo affidabile senza dover eseguire un server DNS locale? Ho un vago sospetto che abbia qualcosa a che fare con Windows, gruppi di lavoro e il fatto che il nome del computer sia lo stesso di ServerName, ma mi piacerebbe sapere con certezza cosa sta succedendo.


1
Stai usando Samba sul tuo server? In tal caso, i client Windows potrebbero essere in grado di risolverne il nome trasmettendolo o interrogando il server WINS.
Flup

Cosa disse Flup. Se si desidera impostare l'affidabilità su un server DNS locale. Se i tuoi clienti sono già in un dominio, aggiungi il nome del server web e l'indirizzo IP. O creare un file host per ogni macchina, che è fattibile ma una PITA da amministrare.
Jason H

1
FYI. Non dovresti usare _ nei nomi dei tuoi computer. Questo non è un carattere consentito nei record DNS. O almeno non è permesso nel tipo di record necessario per rendere visibile un web server su Internet. Vedere: en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names
Zoredache

Risposte:


2

Considerando che stai eseguendo Apache su Windows, mi sembra che tu stia usando NBT (NetBIOS su TCP) per risolvere il nome host. Il tuo sospetto è probabilmente corretto; questo è nello stesso modo dei gruppi di lavoro di Windows, ed è notoriamente inaffidabile per una serie di motivi. Guarda Qui e Qui se tu veramente voglio tuffarmi in esso ...

È decisamente meglio impostare il DNS locale o utilizzare il file hosts per risolvere questo problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.