Mettre à jour le nom d'hôte de la machine Debian avec DHCP vers un serveur DNS Windows 2008

9

J'ai une installation XenServer avec des machines Debian (lenny) créées quotidiennement à l'aide d'un script qui crée la machine à partir d'un modèle et lui attribue un nouveau nom d'hôte.

Notre réseau possède une appliance Fortinet 60B qui sert de serveur DHCP et un Microsoft Windows 2008 DC qui sert également de serveur DNS. Je voudrais configurer le modèle de machine virtuelle pour envoyer son nom d'hôte au serveur DNS lorsqu'il obtient une adresse IP louée de DHCP.

Actuellement, Fortinet attribue le contrôleur de domaine comme serveur DNS avec le bail IP. J'ai essayé d'ajouter une ligne «envoyer le nom d'hôte« mon nom d'hôte »» à /etc/dhcp3/dhclient.conf, mais rien n'est mis à jour dans le contrôleur de domaine.

Moine électrique
la source
2
Avez-vous configuré votre serveur DNS Windows pour autoriser les mises à jour non authentifiées?
Zoredache

Réponses:

2

Donc, fondamentalement, vous voulez que votre client envoie son nom d'hôte à votre serveur DNS?

Cela fonctionne très bien avec les clients Windows, mais pour les machines Linux, j'irais dans l'autre sens: configurez vos clients pour demander au serveur DHCP une IP et un nom d'hôte. En utilisant l'option "demande de nom d'hôte", dhclient demande au serveur DHCP d'envoyer un nom d'hôte avec l'adresse IP, puis définit le nom d'hôte de la machine virtuelle.

Bien sûr, vous devrez préparer, dans votre DNS, un nom d'hôte pour chaque adresse IP dans la plage DHCP.

De cette façon, vous n'avez pas le problème de cache DNS / délai de propagation, et vous pouvez avoir une place centrale avec tous les IP et noms d'hôtes - votre serveur DNS.

Je ne sais pas si le serveur DHCP de votre appliance prend en charge l'envoi de noms d'hôtes - la plupart le font, mais je pense que c'est la manière la plus simple pour les clients Linux.

Remarque: Si vous avez configuré votre serveur DHCP de sorte que la même machine obtienne toujours la même adresse IP (par exemple en utilisant l'adresse mac), elle obtiendra évidemment toujours le même nom d'hôte également. Sur certains serveurs DHCP, vous pouvez utiliser directement le nom d'hôte au lieu de l'adresse IP dans les fichiers de configuration.

user9437
la source
cela ne fonctionnera pas, car je définis le nom d'hôte dans un script qui le prend (le nom d'hôte) comme argument.
Electric Monk
2

J'ai fini par utiliser un script qui exécute nsupdate après la création de la machine virtuelle à partir du modèle et à chaque démarrage.

Moine électrique
la source
1

Ceci est quelque peu similaire à ma propre question . Jetez un œil à mon dernier commentaire sur la seule et unique réponse que j'ai reçue, où je me réfère à dhclient.conf.

John Gardeniers
la source
Donc, fondamentalement, vous venez d'ajouter «envoyer le nom d'hôte» à dhclient.conf? parce que cela n'a pas fonctionné pour moi
Electric Monk
C'est tout ce que j'avais à faire. La page de manuel indique que le nom de domaine complet est requis mais dans mon cas, l'envoi du nom d'hôte fonctionnait à la fois avec les systèmes DHCP et DNS Windows et Linux. Les machines ont été ajoutées au DNS par le service DHCP dès que le bail DHCP du client a été libéré et recréé.
John Gardeniers du
1

J'ai trouvé deux choses qui étaient nécessaires pour obtenir une machine non liée à un domaine pour enregistrer et mettre à jour ses enregistrements DNS sur un serveur Windows DC \ DNS:

  1. Configurez le serveur DC \ DNS pour autoriser les mises à jour DNS dynamiques sécurisées et non sécurisées.

  2. Configurez le nom de domaine complet de l'hôte n'appartenant pas au domaine pour correspondre à votre nom AD \ DNS: comme dans host.domain.com

joeqwerty
la source
1

Hmm. Je n'ai jamais essayé cette configuration exacte - j'ai travaillé avec des clients Linux sur des serveurs DHCP Windows, mais dans cette configuration, le serveur DHCP effectue la mise à jour. Je ne sais pas si la boîte Fortinet fait la même chose.

Vous pouvez essayer de faire parler directement le client au serveur DNS; quelque chose comme:

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

dans /etc/dhcp3/dhclient.conf. Vérifiez man dhclient.confpour plus d'informations. J'ai dû régler au moins send fqdn.fqdnpour le faire fonctionner dans ma configuration.

Vous devrez également activer les mises à jour non sécurisées de vos zones DNS.

James
la source
1

Beaucoup peuvent considérer cela comme flagrant, mais assurez-vous de spécifier votre propre directive de demande dans dhclient.conflaquelle ne demande pas de nom d'hôte ou de nom de domaine . La valeur par défaut de ma distribution était:

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

Notez que cela demande des noms d'hôte et de domaine au serveur, ce qui annule une send host-name ...directive. Ma directive request et send-host ressemblent à ceci:

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;
RobM
la source