Come fa il mio server DHCP a conoscere il nome host della mia macchina quando non ne ho definito uno in dhclient.conf?


12

Sto cercando di risolvere alcuni problemi DNS funky relativi al DHCP sulla nostra rete (sospetto che al momento abbiamo più di un server DHCP in esecuzione), e mentre provavo a capirlo, ho notato qualcosa di strano con un nuovo server che ho appena impostare.

Il server in questione è una macchina virtuale Xen che esegue Ubuntu 9.10 Server. Anche il server Xen fisico è sulla nostra rete e quando ho avviato la VM per la prima volta in Xen (l'ho importato da una VM Virtualbox locale in esecuzione sul mio computer, dove era in esecuzione su una rete diversa), ha ottenuto un Leasing DHCP dalla nostra rete d'ufficio e tutto andava bene.

Ho controllato il dhclient.eth0.leasesfile per vedere cosa è stato configurato e ho visto che il vecchio lease DHCP della precedente rete su cui era la macchina era ancora lì, così come il nuovo lease DHCP per la rete dell'ufficio a cui è attualmente connesso. Ci sono due cose che ho notato subito:

  1. Le vecchie informazioni sul lease DHCP della rete precedente non hanno una options host-namelinea, che presumo significhi che la versione originale VirtualBox della VM non stava inviando questa opzione al server DHCP. O questo significa che il vecchio server DHCP non supporta l'opzione del nome host DHCP? All'epoca utilizzava il server DHCP interno di VirualBox ...

  2. Le nuove informazioni lease DHCP ha avere una options host-namelinea, che comprende il corretto, attuale hostname per il server ( "Fozzie"). Se capisco correttamente, questo significa che il server ha inviato il suo nome host al server DHCP sulla nostra rete.

Ci sono una serie di cose che non capisco su tutto questo.

Innanzitutto , non ho modificato dhclient.confil server in nessun momento; sta usando la configurazione predefinita. In effetti contiene la seguente riga alla lettera:

send host-name "<hostname>"

Quindi la mia prima domanda è, come diamine sapeva di inviare il vero nome host del server se la configurazione non è stata impostata per inviarlo in primo luogo?

Secondo , perché il primo lease DHCP (per la vecchia rete) non includeva option host-name, ma il secondo lease DHCP (sulla nuova rete) lo includeva, se non ho toccato nessuno dei file di configurazione?

Tutto quello che ho fatto è stato esportare la macchina VirtualBox originale come OVF e quindi importarla in XenServer, quindi come ha configurato magicamente il mio nome host tramite DHCP se non è nemmeno configurato con il nome host effettivo in dhclient.conf?

Terzo : quando corro hostname, il server ritorna fozzie.our.domain, ma dhclient.eth0.leasesdice che l'opzione hostname era impostata su fozzie(nessun dominio). Come ha saputo rimuovere il dominio?

Risposte:


11

OK, dopo un lungo periodo di navigazione in Internet e cercando di leggere le manpagine, ho principalmente capito cosa stava succedendo:

[H] come diamine sapeva di inviare il vero nome host del server se la configurazione non è impostata per inviarlo in primo luogo?

Apparentemente, send host-name "<hostname>"e più specificamente <hostname>, ha un significato speciale su Ubuntu. Indica dhclientdi inviare il nome host corrente della macchina al server DHCP. Si noti che è sensibile al maiuscolo / minuscolo (ad esempio, se si digita <HOSTNAME>, dhclient invierà il testo letterale <HOSTNAME>al server DHCP). Come riportato qui e qui , questo funziona su Ubuntu Feisty e versioni successive, facendo parte di una patch per (ironicamente) risolvere un problema con dhclientnon inviare il nome host della macchina per impostazione predefinita.

[W] perché il primo lease DHCP (per la vecchia rete) non includeva l'opzione host-name, ma il secondo lease DHCP (sulla nuova rete) lo includeva, se non ho toccato nessuno dei file di configurazione?

Questo sembra essere dovuto al fatto che non tutti i server DHCP restituiranno il nome host al client. Ieri usiamo ancora un router ClarkConnect basato su Linux come nostro server DHCP, che fa eco il nome host a ciascun client. Oggi abbiamo disabilitato il DHCP su quel server e siamo passati all'utilizzo del server DHCP incorporato sul nostro controller di dominio primario. I nostri contratti di locazione DHCP dal PDC non includono option host-nameneanche, ma non sembrano influenzare nulla. Le macchine vengono aggiornate in DNS e possono trovarsi reciprocamente per nome host.

Quando corro hostname, il server ritorna fozzie.our.domain, ma dhclient.eth0.leasesdice che l'opzione hostname era impostata su fozzie(nessun dominio). Come ha saputo rimuovere il dominio?

Non sono io a comprendere appieno le complessità del DHCP. Il nostro server DHCP è stato impostato per configurare tutti i nostri client con il nostro dominio. Immagino che il server DHCP sia stato abbastanza intelligente da rimuovere la parte del nome di dominio dal nome host inviato dal client.

Qualcuno ha correzioni o chiarimenti da aggiungere a questa risposta? Sembra ancora un po '"ondulato a mano", quindi non lo accetterò così com'è.

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.