Aggiorna il nome host dalla macchina Debian con DHCP a un server DNS di Windows 2008


9

Ho un'installazione XenServer con macchine Debian (lenny) create su base giornaliera usando uno script che crea la macchina da un modello e lo assegna con un nuovo nome host.

La nostra rete ha un'appliance Fortinet 60B che funge da server DHCP e un DC di Microsoft Windows 2008 che funge anche da server DNS. Vorrei configurare il modello VM per inviare il nome host al server DNS quando riceve un IP in leasing da DHCP.

Attualmente, Fortinet assegna il controller di dominio come server DNS insieme al contratto di locazione IP. Ho provato ad aggiungere una riga "invia nome host" nomehost "a /etc/dhcp3/dhclient.conf, ma nulla viene aggiornato nel controller di dominio.


2
Hai impostato il tuo server DNS Windows per consentire aggiornamenti non autenticati?
Zoredache,

Risposte:


2

Quindi in pratica vuoi che il tuo client invii il proprio nome host al tuo server DNS?

Funziona benissimo con i client Windows, ma per le macchine Linux farei il contrario: impostare i client in modo che chiedano al server DHCP un IP e un nome host. Utilizzando l'opzione "Richiedi nome host", dhclient chiede al server DHCP di inviare un nome host insieme all'indirizzo IP, quindi imposta il nome host della VM.

Ovviamente dovrai preparare, nel tuo DNS, un nome host per ciascun indirizzo IP nell'intervallo DHCP.

In questo modo non si ha il problema di ritardo cache / propagazione DNS e si può avere una posizione centrale con tutti gli IP e i nomi host - il proprio server DNS.

Non so se il server DHCP dell'appliance supporti l'invio di nomi host - la maggior parte lo fa, ma penso che sia il modo più semplice per i client Linux.

Nota: se hai configurato il tuo server DHCP in modo che lo stesso computer ottenga sempre lo stesso indirizzo IP (ad es. Usando l'indirizzo mac), ovviamente, otterrà sempre anche lo stesso nome host. Su alcuni server DHCP, è possibile utilizzare direttamente il nome host anziché l'indirizzo IP nei file di configurazione.


questo non funzionerà, dato che sto impostando il nome host in uno script che lo prende (il nome host) come argomento.
Monaco elettrico il

2

Ho finito per usare uno script che esegue nsupdate dopo che la VM è stata creata dal modello e ad ogni avvio.


1

Questo è in qualche modo simile alla mia domanda . Dai un'occhiata al mio commento finale all'unica e unica risposta che ho ricevuto, dove mi riferisco a dhclient.conf.


quindi in pratica hai appena aggiunto 'invia nome-host' a dhclient.conf? perché questo non ha funzionato per me
Electric Monk

Questo è tutto ciò che dovevo fare. La pagina man indica che è richiesto il nome di dominio completo (FQDN) ma nel mio caso è sufficiente inviare il nome host funzionante con i sistemi DHCP e DNS di Windows e Linux. Le macchine sono state aggiunte a DNS dal servizio DHCP non appena il contratto di locazione DHCP del client è stato rilasciato e ricreato.
John Gardeniers,

1

Ho trovato due cose che erano necessarie per ottenere una macchina unita non di dominio per registrare e aggiornare i suoi record DNS su un server DC \ DNS di Windows:

  1. Configurare il server DC \ DNS per consentire aggiornamenti DNS dinamici sicuri e non sicuri.

  2. Configurare l'FQDN dell'host aggiunto non di dominio in modo che corrisponda al nome AD \ DNS: come in host.domain.com


1

Hmm. Non ho mai provato questa configurazione esatta: ho lavorato con client Linux su server DHCP di Windows, ma in quella configurazione il server DHCP esegue l'aggiornamento. Non sono sicuro che la scatola Fortinet faccia la stessa cosa.

Potresti provare a far parlare direttamente il client con il server DNS; qualcosa di simile a:

send fqdn.server-update off;
send fqdn.encoded on;
send fqdn.fqdn "hostname.example.com.";  

in /etc/dhcp3/dhclient.conf. Controlla man dhclient.confper maggiori informazioni. Ho dovuto impostare almeno send fqdn.fqdnper farlo funzionare nella mia configurazione.

Dovrai abilitare gli aggiornamenti non sicuri anche nelle tue zone DNS.


1

Molti possono considerarlo palesemente ovvio, ma assicurati di specificare la tua direttiva di richiesta in dhclient.confcui non richiede un nome host o un nome di dominio . L'impostazione predefinita sulla mia distribuzione era:

request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, host-name,
        netbios-name-servers, netbios-scope, interface-mtu;

Si noti che ciò richiede sia i nomi host che i domini dal server che annulla una send host-name ...direttiva. La mia richiesta e le direttive send-host sono così:

send host-name "leaf.node.domain.com";
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name-servers,
        netbios-name-servers, netbios-scope, interface-mtu;
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.