Pour faciliter les plans de basculement, une technique courante consiste à utiliser des enregistrements CNAME (alias DNS) pour les différents rôles des machines. Ainsi, au lieu de changer le nom de l'ordinateur Windows du nom de la machine réelle, on peut changer un enregistrement DNS pour pointer vers un nouvel hôte.
Cela peut fonctionner sur les machines Microsoft Windows, mais pour que cela fonctionne avec le partage de fichiers, les étapes de configuration suivantes doivent être suivies.
Grandes lignes
- Le problème
- La solution
- Autoriser d'autres machines à utiliser le partage de fichiers via l'alias DNS (DisableStrictNameChecking)
- Permettre à la machine serveur d'utiliser le partage de fichiers avec elle-même via l'alias DNS (BackConnectionHostNames)
- Fournir des capacités de navigation pour plusieurs noms NetBIOS (OptionalNames)
- Enregistrer les noms de principal de service (SPN) Kerberos pour d'autres fonctions de Windows comme l'impression (setspn)
- Références
1. Le problème
Sur les machines Windows, le partage de fichiers peut travailler via le nom de l'ordinateur, avec ou sans qualification complète, ou par l'adresse IP. Par défaut, cependant, le partage de fichiers ne fonctionnera pas avec des alias DNS arbitraires. Pour permettre au partage de fichiers et aux autres services Windows de fonctionner avec des alias DNS, vous devez apporter des modifications au registre comme indiqué ci-dessous et redémarrer la machine.
2. La solution
Autoriser d'autres machines à utiliser le partage de fichiers via l'alias DNS (DisableStrictNameChecking)
Cette seule modification permettra aux autres machines du réseau de se connecter à la machine en utilisant n'importe quel nom d'hôte arbitraire. (Cependant, cette modification ne permettra pas à une machine de se connecter à lui-même via un nom d'hôte, voir BackConnectionHostNames ci-dessous).
-
Modifiez la clé de registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
et ajouter une valeur DisableStrictNameChecking
de type DWORD réglé sur 1.
-
Modifier la clé de registre (sur 2008 R2) HKLM\SYSTEM\CurrentControlSet\Control\Print
et ajouter une valeur DnsOnWire
de type DWORD réglé sur 1
Permettre à la machine serveur d'utiliser le partage de fichiers avec elle-même via l'alias DNS (BackConnectionHostNames)
Ce changement est nécessaire pour qu'un alias DNS fonctionne avec le partage de fichiers d'une machine pour se retrouver. Cela crée les noms d'hôtes de l'autorité locale de sécurité qui peuvent être référencés dans une demande d'authentification NTLM.
Pour ce faire, suivez ces étapes pour tous les nœuds de l'ordinateur client :
- Vers la sous-clé du registre
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
ajouter une nouvelle valeur multi-chaîne BackConnectionHostNames
- Dans la zone de données Valeur, tapez le CNAME ou l'alias DNS utilisé pour les partages locaux sur l'ordinateur, puis cliquez sur OK.
- Note : Tapez chaque nom d'hôte sur une ligne séparée.
Fournir des capacités de navigation pour plusieurs noms NetBIOS (OptionalNames)
Permet de voir l'alias du réseau dans la liste de navigation du réseau.
- Modifiez la clé de registre
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
et ajouter une valeur OptionalNames
de type Multi-String
- Ajoutez une liste délimitée par des nouvelles lignes de noms qui doivent être enregistrés sous les entrées de navigation NetBIOS.
- Les noms doivent correspondre aux conventions NetBIOS (c'est-à-dire pas de FQDN, juste un nom d'hôte).
Enregistrer les noms de principal de service (SPN) Kerberos pour d'autres fonctions de Windows comme l'impression (setspn)
REMARQUE : Il n'est pas nécessaire de faire cela pour que les fonctions de base fonctionnent, mais cela est documenté ici par souci d'exhaustivité. Nous avons eu une situation dans laquelle l'alias DNS ne fonctionnait pas parce qu'un ancien enregistrement SPN interférait, donc si les autres étapes ne fonctionnent pas, vérifiez s'il n'y a pas d'enregistrements SPN errants.
Vous devez enregistrer les noms de principal de service Kerberos (SPN), le nom d'hôte et le nom de domaine entièrement qualifié (FQDN) pour tous les nouveaux enregistrements d'alias DNS (CNAME). Si vous ne le faites pas, une demande de ticket Kerberos pour un enregistrement d'alias DNS (CNAME) peut échouer et renvoyer le code d'erreur suivant KDC_ERR_S_SPRINCIPAL_UNKNOWN
.
Pour afficher les SPN Kerberos pour les nouveaux enregistrements d'alias DNS, utilisez l'outil de ligne de commande Setspn ( setspn.exe
). L'outil Setspn est inclus dans les outils de support de Windows Server 2003. Vous pouvez installer les outils de soutien de Windows Server 2003 à partir du site Web du soutien. \Tools du disque de démarrage de Windows Server 2003.
Comment utiliser l'outil pour lister tous les enregistrements pour un nom d'ordinateur :
setspn -L computername
Pour enregistrer le SPN pour les enregistrements d'alias DNS (CNAME), utilisez l'outil Setspn avec la syntaxe suivante :
setspn -A host/your_ALIAS_name computername
setspn -A host/your_ALIAS_name.company.com computername
3. Références
Toutes les références Microsoft fonctionnent via : http://support.microsoft.com/kb/
- La connexion à un partage SMB sur un ordinateur basé sur Windows 2000 ou Windows Server 2003 peut ne pas fonctionner avec un nom d'alias.
- Couvre les bases du bon fonctionnement du partage de fichiers avec les enregistrements d'alias DNS des autres ordinateurs vers l'ordinateur serveur.
- KB281308
- Message d'erreur lorsque vous essayez d'accéder localement à un serveur en utilisant son FQDN ou son alias CNAME après avoir installé Windows Server 2003 Service Pack 1 : "Accès refusé" ou "Aucun fournisseur de réseau n'a accepté le chemin de réseau donné".
- Couvre comment faire fonctionner l'alias DNS avec le partage de fichiers à partir du serveur de fichiers lui-même.
- KB926642
- Comment consolider les serveurs d'impression en utilisant des enregistrements d'alias DNS (CNAME) dans Windows Server 2003 et dans Windows 2000 Server.
- Couvre des scénarios plus complexes dans lesquels les enregistrements dans Active Directory peuvent devoir être mis à jour pour que certains services fonctionnent correctement et pour la navigation pour que ces services fonctionnent correctement, comment enregistrer les noms de principal de service (SPN) Kerberos.
- KB870911
- Mise à jour du système de fichiers distribués pour prendre en charge les racines de consolidation dans Windows Server 2003
- Couvre des scénarios encore plus complexes avec DFS (traite des OptionalNames).
- KB829885
0 votes
Nous utilisons cette technique comme suit veille à chaud . Vous avez fait un bien meilleur travail de documentation que moi. Je ne connaissais pas l'option backConnection. Et nous réduisons notre espace d'attaque en n'utilisant pas netBIOS. Nous n'utilisons pas non plus le SPN. Je vous remercie de votre attention.
0 votes
Pour mémoire, nous utilisons quotidiennement le partage de fichiers Windows avec des alias DNA sur des serveurs 2003 et 2008 dans mon organisation sans avoir eu besoin d'effectuer aucune de ces modifications. Cela fonctionne tout simplement.
0 votes
Il convient également de noter que le texte de la KB926642 avertit que "La sécurité est réduite lorsque vous désactivez la vérification du bouclage de l'authentification et que vous exposez le serveur Windows Server 2003 à des attaques de type man-in-the-middle (MITM) sur NTLM".
0 votes
Merci Michael. Cela répond à ma question "Comment activer l'explorateur Windows XP pour qu'il accepte les alias CNAME dans la barre d'adresse ?" postée ici ( serverfault.com/questions/238851/ ).
0 votes
Merci beaucoup !!! Cela a fonctionné sur un serveur 2008 R2 avec des clients XP Pro essayant de se connecter au partage de fichiers. J'ai eu un serveur HP vieux de 10 ans (serveur 2000) qui est mort, alors j'ai construit un serveur VM, restauré les fichiers sur celui-ci et recréé les partages. Les clients XP Pro ne pouvaient pas se connecter avec diverses erreurs, mais j'ai appliqué le regedit ci-dessus, redémarré, et tout fonctionne, merci encore.