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

Ce message a été republié via RSS; il est apparu à l'origine dans les articles de Ask The Performance Team.

Publié sur TECHNET le 23 avril 2013

Bonjour AskPerf! Je m'appelle Sandeep Bhatia et je travaille avec l'équipe réseau ici dans le support Microsoft. Dans l'article d'aujourd'hui, nous discuterons des problèmes d'impression lors de l'utilisation d'un CNAME sur Windows 2008 R2 Server, avec des serveurs DNS non Microsoft.

Lorsque vous connectez une imprimante hébergée sur Windows 2008 R2 Server à l'aide d'un alias CNAME, elle renvoie l'erreur suivante:

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

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 traiter les demandes. Nous avons vérifié que le nom utilisé est correct et 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 à s'assurer que le serveur d'impression cible a la clé de registre DNSOnWire définie sur 1:

HKLM SYSTEM CurrentControlSet Control Print DNSOnWire

(REG_DWORD)

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

KB979602

Cependant, si le serveur DNS que le serveur d'impression utilise n'est pas un serveur DNS basé sur Windows, nous pourrions toujours voir un problème d'erreur similaire 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 en espérant obtenir à la fois l'enregistrement d'hôte (A) auquel CNAME fait référence et l'adresse IP de l'hôte.

Un exemple de demande et de réponse DNS ressemblerait à ceci:

Printserver.contoso.com Dnsserver.contoso.com DNS DNS: QueryId = 0x1389, QUERY

(Requête standard),

Cela interrogera le nom du serveur d'impression.contoso.com de type ALL sur la classe Internet.

Lorsque le type est défini sur ALL, le client attend toutes les informations sur l'enregistrement dans le paquet. Cette requête est également une requête récursive adressée au serveur DNS pour le nom printervercname.contoso.com.

La deuxième étape consiste à s'assurer que le serveur DNS prend en charge à la fois un type de requête ALL et 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 avec l'adresse IP du serveur d'impression. Il renvoie l’entrée CNAME qui pointe vers l’hôte du serveur d’impression, mais l’attente est que les deux doivent être renvoyées.

Dnsserver.contoso.com Printserver.contoso.com DNS DNS: QueryId = 0x1389, QUERY (requête standard), Response – Success, Array[IP Address Of the DNS Servers] DNS: 242, UDP: 241, IPv4: 240

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

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

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

ResourceName: printservercname.contoso.com

ResourceType: CNAME, nom canonique d'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 sur la classe Internet: 192.168.1.100

Dans un scénario idéal, la réponse à 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), Response – Success, Array[IP Address Of the DNS Servers] DNS: 242, UDP: 241, IPv4: 240

+ Indicateurs: réponse, Opcode – QUERY (requête standard), AA, RD, RA, Rcode – Success

– 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: printservercname.contoso.com de type CNAME sur la classe Internet: printserver.contoso.com

ResourceName: printservercname.contoso.com

ResourceType: CNAME, nom canonique d'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 sur la classe Internet: 192.168.1.110

ResourceName: 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 clé à 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 afin d'utiliser correctement l'impression sur un CNAME.

** MISE À JOUR 30 avril 2014 **

Pour certains fournisseurs DNS tiers, ils peuvent avoir besoin d'utiliser un type de registre QWORD au lieu d'un type de registre DWORD. Pour ce faire, vous devrez supprimer les entrées DWORD, redémarrer, puis ajouter les entrées QWORD.

[HKLMSYSTEMCurrentControlSetControlPrint]

"DnsOnWire" (REG_QWORD) Décimal = 1

(REG ADD HKLM system currentcontrolset control print / v DnsOnWire / t REG_QWORD / d 1)

[HKLMSYSTEMCurrentControlSetservicesLanmanServerParameters]

"DisableStrictNameChecking" (REG _QWORD) Decimal = 1

(REG ADD HKLM system currentcontrolset services lanmanserver parameters / v DisableStrictNameChecking / t REG_QWORD / d 1)

[HKLMSYSTEMCurrentControlSetservicesLanmanServerParameters]

"OptionalNames" (REG_SZ) = "aliasname" (enregistrement de nom C dans DNS)

(REG ADD HKLM system currentcontrolset services lanmanserver parameters / v OptionalNames / t REG_SZ)

-Sandeep Bhatia

Ressources supplémentaires:

Laisser un commentaire