Impossible de se connecter à une imprimante à l'aide d'un enregistrement CNAME – Bien choisir son serveur d impression

Bonjour AskPerf! Je m'appelle Sandeep Bhatia et je travaille avec l'équipe de réseautage ici, dans le support Microsoft. Dans le message d’aujourd’hui, nous aborderons les problèmes d’impression lors de l’utilisation d’un serveur CNAME sur un serveur Windows 2008 R2, avec des serveurs DNS autres que Microsoft.

Lorsque vous connectez une imprimante hébergée sur un serveur Windows 2008 R2 à l'aide d'un alias CNAME, l'erreur suivante apparaît:

L'opération n'a pas pu être terminée (erreur 0x0000079). Vérifiez le nom de l'imprimante et assurez-vous qu'elle est connectée au réseau.

clip_image002

Cette erreur est renvoyée en raison des modifications d'optimisation apportées au service de spouleur dans Windows 2008 R2 Server. Le service Spouleur d'impression utilise les noms locaux pour répondre aux demandes. Nous avons vérifié que le nom utilisé était correct et que nous pouvons nous connecter à l'aide de NetBIOS, du nom de domaine complet et de l'adresse IP du serveur.

La première étape consiste à vérifier que la clé de registre DNSOnWire du serveur d’impression cible est définie sur 1:

HKLMSYSTEMCurrentControlSetControlPrintDNSOSOWire (REG_DWORD)

Plus de détails sur cette clé de registre sont disponibles sur KB979602

Toutefois, si le serveur DNS utilisé par le serveur d'impression n'est pas un serveur DNS basé sur Windows, un problème d'erreur similaire pourrait toujours se produire en raison de la façon dont le serveur DNS formate la réponse. Lorsque la clé de registre DNSOnWire est définie sur 1, le serveur d’impression au démarrage envoie une requête DNS récursive dans le but d’obtenir à la fois l’enregistrement d’hôte (A) auquel le CNAME se réfère et l’adresse IP de l’hôte.

Un exemple de requête DNS et de réponse ressemblerait à ceci:

Printserver.contoso.com Dnsserver.contoso.com DNS DNS: QueryId = 0x1389, QUERY (Requête standard),

Ceci interrogera le nom de serveur imprimé.contoso.com de type ALL sur la classe Internet.

Lorsque le type est défini sur ALL, le client s'attend à recevoir toutes les informations relatives à l'enregistrement dans le paquet. Cette requête est également une requête récursive sur le serveur DNS pour le nom printservercname.contoso.com.

La deuxième étape consiste à vérifier que le serveur DNS prend en charge un type de requête ALL ainsi que des requêtes récursives. Le serveur DNS doit être conforme à RFC 1035.

Dans cet exemple de réponse DNS non conforme, la réponse du serveur DNS au serveur d'impression pour la requête DNS, le serveur DNS n'a pas répondu en indiquant l'adresse IP du serveur d'impression. Il renvoie l’entrée CNAME qui pointe vers l’enregistrement de l’hôte du serveur d’impression, mais il faut renvoyer les deux.

Dnsserver.contoso.com Printserver.contoso.com DNS DNS: QueryId = 0x1389, QUERY (requête standard), Réponse – Succès, Tableau[IP Address Of the DNS Servers] DNS: 242, UDP: 241, IPv4: 240

– Drapeaux: Réponse, Opcode – QUERY (requête standard), AA, RD, RA, Rcode – Succès

RD: (…… .1 …… ..) Récursion souhaitée

– ARecord: nom_serveur.contoso.com de type CNAME sur la classe Internet: Printserver.contoso.com

NomRessource: nom_serveur.contoso.com

ResourceType: CNAME, nom canonique pour un alias, 5 (0x5)

ResourceClass: Internet, 1 (0x1)

TimeToLive: 1800 (0x708)

ResourceDataLength: 15 (0xF)

CName: Printserver.contoso.com

+ AuthorityRecord: in.Contoso.com de type NS sur la classe Internet: DNSServer.Contoso.com

+ AdditionalRecord: DNSServer.Contoso.com de type Host Addr on class Internet: 192.168.1.100

Dans un scénario idéal, la réponse d'une requête récursive du serveur DNS devrait ressembler davantage à:

Dnsserver.contoso.com Printserver.contoso.com DNS DNS: QueryId = 0x1389, QUERY (requête standard), Réponse – Succès, Tableau[IP Address Of the DNS Servers] DNS: 242, UDP: 241, IPv4: 240

+ Drapeaux: Réponse, Opcode – QUERY (requête standard), AA, RD, RA, Rcode – Succès

– QRecord: Printservercname.contoso.com de type ALL sur la classe Internet

QuestionName: printserver.contoso.com

QuestionType: Une demande pour tous les enregistrements, 255 (0xff)

QuestionClass: Internet, 1 (0x1)

– ARecord: nom_serveur.contoso.com de type CNAME sur la classe Internet: Serveur.contoso.com

NomRessource: nom_serveur.contoso.com

ResourceType: CNAME, nom canonique pour un alias, 5 (0x5)

ResourceClass: Internet, 1 (0x1)

TimeToLive: 3600 (0xE10)

ResourceDataLength: 15 (0xF)

CName: printserver.contoso.com

– AdditionalRecord: printserver.contoso.com de type Host Addr on class Internet: 192.168.1.110

NomRessource: printserver.contoso.com

ResourceType: A, adresse IPv4, 1 (0x1)

ResourceClass: Internet, 1 (0x1)

TimeToLive: 1200 (0x4B0)

ResourceDataLength: 4 (0x4)

Adresse IP: 192.168.1.100

La solution à retenir est que le serveur DNS configuré doit renvoyer à la fois les informations CNAME et l'adresse IP de l'hôte dans la même réponse pour que l'impression sur un CNAME soit une réussite.

-Sandeep Bhatia

Ressources supplémentaires:

Laisser un commentaire