web-dev-qa-db-fra.com

Enregistrement de noms d'hôtes Linux sur DNS DNS

Comment enregistrer les noms d'hôte du client DHCP linux dans un serveur DNS Windows?

J'ai un réseau mixte de petites entreprises avec:

  • Stations de travail DCHP Windows (exemple de nom d'hôte: win1)
    • Environ 10 machines
    • Les machines sont sur le domaine, pas de configuration spéciale.
  • Stations de travail DHCP Linux (Debian stretch) (Exemple de nom d'hôte: lin1)
    • Environ 20 machines
    • Connecté au domaine avec sssd à l'aide de realm join
    • Peut utiliser les informations d'identification AD sur n'importe quelle machine
    • /etc/nsswitch.conf contient hosts: files dns ce qui, je pense, signifie que les clients Linux peuvent importer des noms d'hôtes à partir du DNS
  • Serveur DHCP/DNS exécutant Windows Server sur une IP statique

Depuis n'importe quelle machine, je peux ping win1, mais ne peut pas ping lin1 qui nous dit:

  • toutes les machines utilisent l'amende DNS (peut cingler win1)
  • les noms d'hôte Windows sont automatiquement enregistrés
  • les noms d'hôtes linux ne sont pas enregistrés automatiquement

Solutions rejetées:

  • hosts: Nous n'avons pas d'adresses IP statiques, donc je ne vais pas conserver manuellement une copie principale du fichier hosts et la distribuer chaque fois qu'un nouveau bail DHCP est émis.
  • Ajout de A enregistrements au DNS : Encore une fois, je ne veux pas mettre à jour manuellement les enregistrements lorsque de nouveaux baux DHCP sont émis.
  • avahi: Les clients Windows ne peuvent pas voir ceux Linux.

Choses que je n'ai pas essayées:

  • likewise: Je préfère ne pas abandonner sssd et reconfigurer les 20 machines à partir de zéro comme ceci. Mais si lw-register-dns résoudrait le problème et n'entrerait pas en conflit avec sssd, alors cela pourrait être une solution. Je trouve toujours bizarre que les clients aient besoin de créer un cron-job pour modifier le DNS, je souhaite de manière optimale limiter l'accès en écriture DNS.
  • winbind , semble également remplacer sssd complètement. J'ai essayé la suggestion liée, mais je n'ai vu aucune différence après le redémarrage du service réseau du client.
  • nmbd . Les postes de travail utilisent déjà smbclient, ont-ils vraiment besoin de devenir également des serveurs de samba à part entière?
  • net ads dns register -P . J'aurai besoin d'accéder au DNS pour activer les mises à jour non sécurisées.
7
Stewart

La réponse finale n'était donc pas du tout du côté du client Linux, mais de la configuration DHCP.

Sur "Windows Server 2016 Standard", j'ai dû faire ce qui suit pour que cela fonctionne.

  1. Ouvrez l'application de bureau "DHCP"
  2. Sélectionnez l'onglet DNS
  3. Développez le nœud représentant votre domaine
  4. Clic droit sur "IPv4"
  5. Sélectionnez "Propriétés" dans le menu contextuel
  6. Cochez "Activer les mises à jour dynamiques DNS selon les paramètres ci-dessous:"
    1. Sélectionnez "Toujours mettre à jour dynamiquement les enregistrements DNS"
  7. Cochez "Mettre à jour dynamiquement les enregistrements DNS pour les clients DHCP qui ne demandent pas de mises à jour"

Les résultats n'étaient pas immédiats. Le redémarrage des machines n'a pas forcé la mise à jour. J'ai fait le changement vendredi, et le mercredi, tous les clients Linux semblaient répertoriés dans le DNS.

J'ai pu confirmer les ajouts en consultant le "Gestionnaire DNS" sur le même serveur.

1
Stewart

/etc/nsswitch.conf contient hosts: files dns ce qui, je pense, signifie que les clients Linux peuvent importer des noms d'hôtes à partir du DNS

L'hypothèse que vous avez faite est incorrecte. Cette ligne indique comment le système essaiera de rechercher le nom d'hôte ou le nom de domaine que vous avez entré. Par exemple lorsque vous envoyez une requête ping à un nom de domaine ou lorsque vous saisissez une URL dans le navigateur. files fait référence à /etc/hosts et vous permet de spécifier manuellement les liaisons domaine-ip. dns fait référence aux serveurs DNS utilisés par votre système. Donc avec votre config, si vous deviez taper ping google.com le système recherche d'abord google.com et une adresse IP associée dans files (/ etc/hosts), puis il vérifie le DNS s'il ne trouve pas de correspondance dans /etc/hosts.

Lorsque les machines Windows rejoignent le domaine, elles deviennent une ressource de confiance. Au moment de rejoindre le domaine, un enregistrement DNS est créé pour eux si ce service est installé sur le domaine et géré par AD. Pour permettre aux machines non Windows d'enregistrer leurs noms d'hôte dans DNS, la zone doit être configurée pour autoriser les mises à jour. La machine non Windows doit également avoir le domaine correct configuré dans le /etc/hostname fichier afin qu'il corresponde au nom de domaine de votre environnement AD.

2
Brian Hill