Utilisation de DHCPUtil
Dernière rubrique modifiée : 2012-10-17
Cette rubrique décrit l’utilisation de l’utilitaire DHCPUtil.
DHCPConfigScript.bat
DHCPUtil ne configure pas les serveurs DHCP lui-même. Il délègue cette responsabilité à un script qui peut être modifié en fonction des besoins de l’organisation. Après avoir calculé les valeurs pour les diverses options, DHCPUtil transmets ces valeurs à un script, qui peut ensuite prendre la mesure qui convient.
DHCPConfigScript.bat est l’un de ces scripts ; c’est lui qui est fourni avec DHCPUtil. (Il se trouve au même emplacement que DHCPUtil.) Ce script utilise les commandes netsh dhcp server qui configurent le serveur DHCP avec les options requises pour le déploiement de Lync Server.
Remarque : |
---|
DHCPConfigScript.bat ne peut pas être utilisé sur un serveur DHCP autre que la fonction de serveur DHCP qui accompagne les systèmes d’exploitation Windows Server, à moins de le modifier. |
Voici ce que contient le script :
netsh dhcp server delete optionvalue 120
netsh dhcp server delete optiondef 120
netsh dhcp server delete class MSUCClient
if /i %1 EQU Cleanup goto :EOF
netsh dhcp server add optiondef 120 UCSipServer Binary 0 comment="Sip Server Fqdn"
netsh dhcp server set optionvalue 120 Binary %3
netsh dhcp server add class MSUCClient "UC Vendor Class Id" "%2" 1
netsh dhcp server add optiondef 1 UCIdentifier Binary 0 Vendor=MSUCClient comment="UC Identifier
"netsh dhcp server set optionvalue 1 Binary vendor=MSUCClient %4
netsh dhcp server add optiondef 2 URLScheme Binary 0 Vendor=MSUCClient comment="URL Scheme"
netsh dhcp server set optionvalue 2 Binary vendor=MSUCClient %5
netsh dhcp server add optiondef 3 WebServerFqdn Binary 0 Vendor=MSUCClient comment="Web Server Fqdn"
netsh dhcp server set optionvalue 3 Binary vendor=MSUCClient %6
if nt %7 == NULL (netsh dhcp server add optiondef 4 WebServerPort Binary 0 Vendor=MSUCClient comment="Web Server Port")
if not %7 == NULL (netsh dhcp server set optionvalue 4 Binary vendor=MSUCClient %7)
netsh dhcp server add optiondef 5 CertProvRelPath Binary 0 Vendor=MSUCClient comment="Cert Prov Relative Path"
netsh dhcp server set optionvalue 5 Binary vendor=MSUCClient %8
Les trois premières commandes nettoient un serveur DHCP pour pouvoir définir correctement les valeurs des diverses options. Si le script s’exécute en mode nettoyage, aucune autre action n’est entreprise. Autrement, la définition de l’option 120 est créée et définie sur la valeur fournie.
Ensuite, un fournisseur avec un identificateur de classe du fournisseur MS-UC-Client (%2 aura toujours cette valeur) est créé. Le script définit alors une à une des sous-options pour l’option 43. Vous remarquerez que les sous-options suivantes sont créées pour la classe du fournisseur :
netsh dhcp server add optiondef 3 WebServerFqdn Binary 0 Vendor=MSUCClient comment="Web Server Fqdn"
Pour plus d’informations sur netsh dhcp, voir Déploiement de Lync Phone Edition, Configuration des options DHCP pour permettre aux téléphones IP de se connecter, ainsi que la bibliothèque MSDN à l’adresse https://go.microsoft.com/fwlink/?linkid=205011&clcid=0x40C.
Configuration d’un serveur DHCP à l’aide de DHCPUtil
À l’invite de commandes, exécutez la commande suivante :
DHCPUtil -SipServer <FQDN of the Sip Server> [-WebServer <FQDN of the web server> |
-CertProvUrl <Url of the Certificate Provisioning Service>] [-RunConfigScript [<Path of the script>]]
Seul le dernière paramètre RunConfigScript ne fait pas partie de DHCPConfigScript.bat. Ce paramètre fait que DHCPUtil génère les valeurs pour l’option 120 et 43, puis transmet les valeurs au script de configuration. Si RunConfigScript est spécifié sans chemin d’accès, DHCPConfigScript.bat s’exécute. Si un chemin d’accès valide est spécifié, ce fichier s’exécute. Il peut s’agir d’un script ou d’un fichier exécutable.
Les paramètres suivants sont transmis au script, dans cet ordre :
Mode : les valeurs possibles sont Nettoyage et Configurer
Valeur de l’identificateur de classe du fournisseur
Valeur de l’option 120
Valeur de la sous-option 1 pour l’option 43
Valeur de la sous-option 2 pour l’option 43
Valeur de la sous-option 3 pour l’option 43
Valeur de la sous-option 4 pour l’option 43
Valeur de la sous-option 5 pour l’option 43
Les administrateurs peuvent utiliser le contenu de cette rubrique pour écrire des scripts personnalisés. Par exemple, pour configurer un serveur DHCP, la commande suivante doit être exécutée sur le serveur DHCP :
DHCPUtil.exe -SipServer sip.contoso.com -WebServer web.contoso.com -RunConfigScript
DHCPConfigScript.bat sera invoqué avec les paramètres appropriés, et diverses commandes netsh dhcp server seront à leur tour invoquées.
Vous pouvez également vouloir modifier DHCPConfigScript.bat (ou en écrire un autre) de sorte qu’il puisse exécuter des commandes netsh sur un serveur DHCP distant, rendant inutile l’exécution de DHCPUtil sur le serveur DHCP lui-même.
Test de la configuration du serveur DHCP
DHCPUtil peut également être utilisé pour tester la configuration sur un serveur DHCP. Dans ce scénario, DHCPUtil envoie des paquets DHCP, comme le feraient des clients Lync Server, puis analyse le paquet reçu. Si une réponse appropriée est reçue, les valeurs extraites sont affichées comme suit :
DHCPUtil -EmulateClient
Notez que cela peut nécessiter des exclusions appropriées dans le pare-feu, et que, en règle générale, cela ne fonctionnera pas si l’exécution s’effectue sur le serveur DHCP. L’exécution doit s’effectuer sur un serveur desservi par le serveur DHCP dont la configuration doit être testée.
Pour activer les exclusions, exécutez les commandes suivantes à une invite de commandes administrateur :
netsh advfirewall firewall add rule name="DHCPClientIn" dir=in action=allow localport=68 protocol=udp
netsh advfirewall firewall add rule name="DHCPClientOut" dir=out action=allow localport=68 protocol=udp
Lorsque vous avez terminé, exécutez les commandes suivantes (à partir d’une invite de commandes avec élévation de privilèges) pour supprimer les exclusions :
netsh advfirewall firewall delete rule name="DHCPClientIn"
netsh advfirewall firewall delete rule name="DHCPClientOut"
Output: Starting Discovery
Sending Packet (Size: 280, Network Adapter: 192.168.0.244, Attempt Type: Broadcast only)
--Begin Packet--
DHCP: INFORM (xid=D2FFB17A)
DHCP: Op Code (op) = 1
DHCP: Hardware Type (htype) = 6
DHCP: Hops (hops) = 0
DHCP: Transaction ID (xid) = 3539972474
DHCP: Seconds (secs) = 0
DHCP: Flags (flags) = 0000
DHCP: Client IP Address (ciaddr) = 192.168.0.244
DHCP: Your IP Address (yiaddr) = 0.0.0.0
DHCP: Server IP Address (siaddr) = 0.0.0.0
DHCP: Relay IP Address (giaddr) = 0.0.0.0
DHCP: Client HW Address (chaddr) = 122222222222
DHCP: Server Host Name (sname) =
DHCP: Boot File Name (file) =
DHCP: Magic Cookie = 99.130.83.99
DHCP: Option Field
DHCP: DHCP MESSAGE TYPE( 53) = (Length: 1) DHCP INFORM
DHCP: Server Identifier( 54) = (Length: 0) 0.0.0.0
DHCP: Client Identifier( 61) = (Length: 7) """"" (01122222222222)
DHCP: SIP Server( 120) = (Length: 0) enc:0 ()
DHCP: Host Name( 12) = (Length: 6) Client
DHCP: Vendor Identifier( 60) = (Length: 12) MS-UC-Client
DHCP: Param Req List( 55) = (Length: 2) 120 43
DHCP: Vendor Info( 43) = (Length: 0) ()
DHCP: End of this option field
--End Packet--
Received Packet
Sender:192.168.0.238:67, Size:365
--Begin Packet--
DHCP: ACK (xid=D2FFB17A)
DHCP: Op Code (op) = 1
DHCP: Hardware Type (htype) = 6
DHCP: Hops (hops) = 0
DHCP: Transaction ID (xid) = 3539972474
DHCP: Seconds (secs) = 0
DHCP: Flags (flags) = 0000
DHCP: Client IP Address (ciaddr) = 192.168.0.244
DHCP: Your IP Address (yiaddr) = 0.0.0.0
DHCP: Server IP Address (siaddr) = 0.0.0.0
DHCP: Relay IP Address (giaddr) = 0.0.0.0
DHCP: Client HW Address (chaddr) = 122222222222
DHCP: Server Host Name (sname) =
DHCP: Boot File Name (file) =
DHCP: Magic Cookie = 99.130.83.99
DHCP: Option Field
DHCP: DHCP MESSAGE TYPE( 53) = (Length: 1) DHCP ACK
DHCP: Server Identifier( 54) = (Length: 4) 192.168.0.238
DHCP: Client Identifier( 61) = (Length: 0) ()
DHCP: SIP Server( 120) = (Length: 18) enc:0 sip.contoso.com
(0003736970076578616D706C6503636F6D00)
DHCP: Host Name( 12) = (Length: 0)
DHCP: Vendor Identifier( 60) = (Length: 0)
DHCP: Param Req List( 55) = (Length: 0) 0 0
DHCP: Vendor Info( 43) = (Length: 87) MS-UC-
Clienthttps web.contoso.com
443/CertProv/CertProvisioningService.svcÜ NAP
(010C4D532D55432D436C69656E7402056874747073030F7765622E6578616D706C652E636F6D040334343305252F4365727450726F762F4365727450726F766973696F6E696E67536572766963652E737663DC034E4150)
DHCP: End of this option field
--End Packet--
Result: Success
DHCP Server : 192.168.0.238
Sip Server : sip.contoso.com
CertProv Url : https://web.contoso.com:443/CertProv/CertProvisioningService.svc
Lorsque l’opération aboutit, le résultat montre le serveur DHCP qui a répondu, la valeur pour le serveur SIP et l’URL du service d’approvisionnement des certificats.
Configuration manuelle des serveurs DHCP
Une fois que vous avez les valeurs des diverses options (générées à l’aide de DHCPUtil), vous devez effectuer manuellement les mêmes tâches que le script à l’aide des commandes netsh dhcp server.
Pour créer la définition pour l’option 120
Ouvrez la console de gestion DHCP.
Accédez au domaine approprié.
Cliquez avec le bouton droit sur IPv4.
Cliquez sur Définir les options prédéfinies pour ouvrir la boîte de dialogue Options et valeurs prédéfinies.
Cliquez sur Ajouter pour ouvrir la boîte de dialogue Type d’option.
Procédez comme suit :
Dans Nom, tapez le nom du serveur SIP.
Dans Type de données, cliquez sur Binaires.
Dans Code, tapez 120.
Dans Description, tapez Liste de serveurs SIP.
Cliquez sur OK pour accepter et fermer la boîte de dialogue.
Pour définir la valeur pour l’option 120
Dans l’arborescence de navigation, sous IPv4, cliquez sur Options du serveur.
Cliquez avec le bouton droit sur Options du serveur, puis cliquez sur Configurer les options pour ouvrir la boîte de dialogue Options du serveur.
Activez la case à cocher Serveur SIP 120. Cela vous permet de modifier la valeur dans le champ Entrée de données.
Entrez soigneusement la valeur générée par DHCPUtil.
Cliquez sur OK pour accepter et fermer la boîte de dialogue.
Pour créer une nouvelle classe de fournisseur avec la valeur MS-UC-Client
Cliquez à nouveau avec le bouton droit sur IPv4, puis cliquez sur Définir les classes des fournisseurs… pour ouvrir la boîte de dialogue Classes des fournisseurs DHCP.
Cliquez sur Ajouter pour ouvrir la boîte de dialogue Nouvelle classe.
Procédez comme suit :
Dans Nom complet, tapez MSUCClient.
Dans Description, tapez l’ID de classe du fournisseur UC.
Sous ASCII, cliquez sur MS-UC-Client.
Cliquez sur OK pour accepter et fermer la boîte de dialogue.
Pour créer une définition pour chacune des sous-options dans l’option 43, pour la classe de fournisseur créée dans la procédure précédente
Cliquez avec le bouton droit sur IPv4, et cliquez sur Définir les options prédéfinies pour ouvrir la boîte de dialogue Options et valeurs prédéfinies.
Dans Classe d’option, cliquez sur MSUCClient.
Cliquez sur Ajouter pour ouvrir la boîte de dialogue Type d’option.
Procédez comme suit : (l’exemple suivant concerne uniquement la sous-option 1)
Dans Nom, tapez UCIdentifier.
Dans Type de données, cliquez sur Binaires. (Ceci est vrai pour les cinq sous-options.)
Dans Code, cliquez sur 1. (Les autres sous-options auront un code correspondant, tel que 2, 3, 4 ou 5.)
Dans Description, tapez Identificateur UC.
Cliquez sur OK pour accepter et fermer la boîte de dialogue.
Répétez l’opération pour les cinq sous-options.
Pour définir les valeurs de chaque sous-option
Sous IPv4, cliquez sur Options du serveur.
Cliquez avec le bouton droit sur Options du serveur, et cliquez sur Configurer les options pour ouvrir la boîte de dialogue Options du serveur.
Cliquez sur l’onglet Avancé
Dans le champ Classe de fournisseur, cliquez sur MSUCClient.
Vérifiez chaque sous-option, et remplissez les valeurs appropriées.
Cliquez sur OK pour accepter les valeurs et fermer la boîte de dialogue.
La configuration manuelle du serveur DHCP est à présent terminée. Vous pouvez la tester à l’aide de DHCPUtil –EmulateClient.
Nettoyage de la configuration liée à Lync Server à partir d’un serveur DHCP
Utilisez la commande DHCPUtil DHCPUtil –CleanDHCPConfig pour nettoyer les informations sur la configuration de Lync Server à partir du serveur DHCP.
Cette commande devrait être exécutée sur le serveur DHCP et exige que DHCPConfigScript.bat se trouve dans le même répertoire que DHCPUtil. Comme pour RunConfigScript, les administrateurs peuvent modifier DHCPConfigScript.bat de sorte que les commandes netsh soient émises sur les serveurs DHCP distants. Il est donc inutile d’exécuter DHCPUtil sur le serveur DHCP lui-même.
Pour nettoyer manuellement la configuration, il est possible d’utiliser la console d’administration du serveur DHCP. La valeur de l’option 120 et de la nouvelle classe de fournisseur ainsi que les diverses sous-options de l’option 43 (correspondant à Fournisseur MS-UC-Client) sont nécessaires pour le nettoyage de la configuration.
Activation du serveur DHCP Lync Server
Vous pouvez utiliser le serveur DHCP Lync Server pour fournir les options DHCP 43 et 120 aux téléphones lors de l’amorçage (par exemple, dans une succursale dans laquelle il est possible que le serveur DHCP ne puisse pas fournir ces options. Nous déconseillons d’utiliser le serveur DHCP Lync Server pour les centres de données, qui doivent être configurés manuellement.
Le serveur DHCP Lync Server ne participe pas au processus d’acquisition IP et peut être utilisé avec les autres serveurs DHCP de votre organisation.
Pour activer le serveur DHCP Lync Server sur un serveur d’inscriptions unique, exécutez cette commande :
Remarque : |
---|
Si vous activez le serveur DHCP sur un serveur Lync Server situé dans un sous-réseau à partir des périphériques exécutant Lync Phone Edition, il peut être nécessaire de configurer les agents de relais BOOTP appropriés pour transmettre les paquets DHCP au serveur DHCP Lync Server. Pour plus d’informations sur cette opération, voir la section suivante. |
Set-CSRegistrarConfiguration -Identity <Service Identity of the Registrar> -EnableDHCPServer $true
Si la configuration du serveur d’inscription au niveau du service n’existe pas pour ce serveur d’inscriptions, exécutez également cette applet de commande :
New-CSRegistrarConfiguration -Identity <Service Identity of the Registrar> -EnableDHCPServer $true
Remarque : |
---|
Pour désactiver le serveur DHCP, réutilisez l’applet de commande Set-CsRegistrarConfiguration, puis définissez la valeur EnableDHCPServer sur $false. |
Configuration des agents de relais Microsoft BOOT
Pour plus d’informations, voir Configurer l’agent relais DHCP à l’adresse https://go.microsoft.com/fwlink/?linkid=205013&clcid=0x40C.
Les deux pages suivantes de la bibliothèque TechNet sont particulièrement utiles :
« Configurer les propriétés globales de l’agent de relais DHCP » à l’adresse https://go.microsoft.com/fwlink/?linkid=205015&clcid=0x40C
« Activer l’agent de relais DHCP sur une interface de routeur » à l’adresse https://go.microsoft.com/fwlink/?linkid=205016&clcid=0x40C
Assurez-vous que le seuil de redémarrage et le seuil du nombre de sauts sont correctement configurés, sans quoi l’agent de relais laissera tomber les paquets.
Les paquets envoyés par les clients Lync Server ont le paramètre secs (secondes écoulées depuis que le client a démarré le processus de découverte ; pour plus d’informations, voir RFC 2131) défini sur 0, ce qui explique pourquoi le seuil de redémarrage dans les agents de relais DHCP doit être défini sur 0.