Verwendung von DHCPUtil

 

Letztes Änderungsdatum des Themas: 2012-10-17

In diesem Thema wird die Verwendung von DHCPUtil beschrieben.

DHCPConfigScript.bat

DHCPUtil konfiguriert die DHCP-Server nicht selbst. Diese Aufgabe wird von einem Skript ausgeführt, das an die Anforderungen der Organisation angepasst werden kann. Nachdem DHCPUtil die Werte für verschiedene Optionen berechnet hat, übergibt das Dienstprogramm diese Werte an ein Skript, welches die entsprechende Aktion ausführt.

"DHCPConfigScript.bat" ist ein solches Skript und gehört zum Lieferumfang von DHCPUtil. (Die Skriptdatei befindet sich im gleichen Verzeichnis wie DHCPUtil.) Das Skript verwendet netsh dhcp server -Befehle zum Konfigurieren des DHCP-Servers mit den für die Bereitstellung von Lync Server erforderlichen Optionen.

noteHinweis:
"DHCPConfigScript.bat" kann ausschließlich für den DHCP-Server eingesetzt werden, der im Lieferumfang von Windows Server-Betriebssystemen enthalten ist, es sei denn, Sie bearbeiten das Skript.

Das Skript umfasst Folgendes:

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 

Die ersten drei Befehle bereinigen einen DHCP-Server, sodass die Werte für verschiedene Optionen ordnungsgemäß gesetzt werden können. Wenn das Skript im Bereinigungsmodus ausgeführt wird, findet keine weitere Aktion statt. Andernfalls wird die Definition für Option 120 erstellt und auf den bereitgestellten Wert gesetzt.

Anschließend wird ein Hersteller mit der Herstellerklassen-ID "MS-UC-Client" erstellt (%2 weist diesen Wert immer auf). Danach setzt das Skript nacheinander die Unteroptionen für Option 43. Beachten Sie, dass die folgenden Unteroptionen für die Herstellerklasse erstellt werden:

netsh dhcp server add optiondef 3 WebServerFqdn Binary 0 Vendor=MSUCClient comment="Web Server Fqdn"

Ausführliche Informationen zu netsh dhcp finden Sie unter Bereitstellen von Lync Phone Edition und Konfigurieren von DHCP-Optionen zum Aktivieren der Anmeldung für IP-Telefone sowie in der MSDN-Bibliothek unter http://go.microsoft.com/fwlink/?linkid=205011&clcid=0x407.

Konfigurieren eines DHCP-Servers unter Verwendung von DHCPUtil

Führen Sie an der Eingabeaufforderung Folgendes aus:

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>]]

Nur der letzte Parameter, "RunConfigScript", ist kein Bestandteil von "DHCPConfigScript.bat". Dieser Parameter bewirkt, dass DHCPUtil die Werte für die Optionen 120 und 43 generiert und die Werte anschließend an das Konfigurationsskript übergibt. Wenn "RunConfigScript" ohne Pfad angegeben ist, wird "DHCPConfigScript.bat" ausgeführt. Wenn ein gültiger Pfad zu einer Datei angegeben ist, wird diese ausgeführt. Bei dieser Datei kann es sich um ein Skript oder um eine ausführbare Datei handeln.

Folgende Parameter werden in dieser Reihenfolge an das Skript übergeben:

  • Mode: Mögliche Werte sind "Cleanup" und "Configure"

  • Wert der Herstellerklassen-ID

  • Wert der Option 120

  • Wert der Unteroption 1 für Option 43

  • Wert der Unteroption 2 für Option 43

  • Wert der Unteroption 3 für Option 43

  • Wert der Unteroption 4 für Option 43

  • Wert der Unteroption 5 für Option 43

Administratoren können mithilfe der Informationen in diesem Thema benutzerdefinierte Skripts schreiben. Zum Konfigurieren eines DHCP-Servers z. B. muss der folgende Befehl auf dem DHCP-Server ausgeführt werden:

DHCPUtil.exe -SipServer sip.contoso.com -WebServer web.contoso.com -RunConfigScript

Dieser Befehl ruft "DHCPConfigScript.bat" mit den entsprechenden Parametern aus. Diese Datei wiederum ruft verschiedene netsh dhcp server-Befehle auf.

Sie können die Datei "DHCPConfigScript.bat" auch bearbeiten (oder ein anderes Skript schreiben), um netsh-Befehle auf einem Remote-DHCP-Server auszuführen, sodass DHCPUtil nicht mehr direkt auf dem DHCP-Server ausgeführt werden muss.

Testen der DHCP-Serverkonfiguration

DHCPUtil kann auch zum Testen der Konfiguration eines DHCP-Servers verwendet werden. In diesem Szenario sendet DHCPUtil – wie ein Lync Server-Client – DHCP-Pakete und analysiert das empfangene Paket anschließend. Bei Empfang der richtigen Antwort werden die abgerufenen Werte wie folgt angezeigt:

DHCPUtil -EmulateClient

Beachten Sie, dass für diesen Vorgang möglicherweise Firewallausnahmen konfiguriert werden müssen und das Verfahren bei Ausführung auf dem DHCP-Server im Allgemeinen nicht funktioniert. Das Dienstprogramm sollte auf einem Computer ausgeführt werden, der von dem DHCP-Server bedient wird, dessen Konfiguration getestet werden soll.

Führen Sie an einer Administratoreingabeaufforderung folgende Befehle aus, um Ausnahmen zu konfigurieren:

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

Führen Sie anschließend (an einer Eingabeaufforderung mit erhöhten Rechten) die folgenden Befehle aus, um die Ausnahmen zu entfernen:

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

Wenn die Befehle erfolgreich ausgeführt wurden, zeigt die Ausgabe den antwortenden DHCP-Server, den Wert für den SIP-Server sowie die URL des Zertifikatbereitstellungsdiensts.

Manuelle Konfiguration von DHCP-Servern

Nachdem Sie unter Verwendung von DHCPUtil die Werte für verschiedene Optionen generiert haben, müssen Sie die gleichen Aufgaben wie das Skript mithilfe der netsh dhcp server-Befehle manuell ausführen.

So erstellen Sie die Definition für Option 120

  1. Öffnen Sie die DHCP-Verwaltungskonsole.

  2. Wechseln Sie zur gewünschten Domäne.

  3. Klicken Sie mit der rechten Maustaste auf IPv4.

  4. Klicken Sie auf Vordefinierte Optionen einstellen, um das Dialogfeld Vordefinierte Optionen und Werte zu öffnen.

  5. Klicken Sie auf Hinzufügen, um das Dialogfeld Optionstyp zu öffnen.

  6. Gehen Sie folgendermaßen vor:

    • Geben Sie im Feld Name die Bezeichnung des SIP-Servers ein.

    • Klicken Sie in Datentyp auf Binär.

    • Geben Sie im Feld Code den Wert 120 ein.

    • Geben Sie im Feld Beschreibung die Bezeichnung SIP-Serverliste ein.

  7. Klicken Sie auf OK, um die Änderungen zu übernehmen, und schließen Sie das Dialogfeld.

Vordefinierte Standardoptionen

So setzen Sie den Wert für Option 120

  1. Klicken Sie in der Navigationsstruktur unter IPv4 auf Serveroptionen.

  2. Klicken Sie mit der rechten Maustaste auf Serveroptionen, und klicken Sie auf Optionen konfigurieren, um das Dialogfeld Serveroptionen zu öffnen.

  3. Aktivieren Sie das Kontrollkästchen 120: SIP-Server. Auf diese Weise können Sie den Wert im Feld Dateneingabe bearbeiten.

  4. Geben Sie den von DHCPUtil generierten Wert ein.

  5. Klicken Sie auf OK, um die Änderungen zu übernehmen, und schließen Sie das Dialogfeld.

Serveroptionen

So erstellen Sie eine neue Herstellerklasse mit dem Wert "MS-UC-Client"

  1. Klicken Sie erneut mit der rechten Maustaste auf IPv4, und klicken Sie auf Herstellerklassen definieren, um das Dialogfeld DHCP-Herstellerklassen zu öffnen.

  2. Klicken Sie auf Hinzufügen, um das Dialogfeld Neue Klasse zu öffnen.

  3. Gehen Sie folgendermaßen vor:

    • Geben Sie im Feld Anzeigename die Zeichenfolge MS-UC-Client ein.

    • Geben Sie im Feld Beschreibung die Bezeichnung ID der UC-Herstellerklasse ein.

    • Klicken Sie unter ASCII auf MS-UC-Client.

  4. Klicken Sie auf OK, um die Änderungen zu übernehmen, und schließen Sie das Dialogfeld.

Neue Klasse

So erstellen Sie für die im vorherigen Schritt erstellte Herstellerklasse eine Definition für jede Unteroption in Option 43

  1. Klicken Sie mit der rechten Maustaste auf IPv4, und klicken Sie auf Vordefinierte Optionen einstellen, um das Dialogfeld Vordefinierte Optionen und Werte zu öffnen.

  2. Klicken Sie in Optionsklasse auf MS-UC-Client.

  3. Klicken Sie auf Hinzufügen, um das Dialogfeld Optionstyp zu öffnen.

  4. Gehen Sie folgendermaßen vor: (folgendes Beispiel gilt nur für Unteroption 1)

    • Geben Sie im Feld Name die Zeichenfolge UC-ID ein.

    • Klicken Sie in Datentyp auf Binär. (Dies gilt für alle fünf Unteroptionen.)

    • Klicken Sie im Feld Code auf 1. (Für andere Unteroptionen wird der entsprechende Code angezeigt: 2, 3, 4 oder 5.)

    • Geben Sie im Feld Beschreibung die Bezeichnung UC-ID ein.

  5. Klicken Sie auf OK, um die Änderungen zu übernehmen, und schließen Sie das Dialogfeld.

  6. Wiederholen Sie dieses Verfahren für alle fünf Unteroptionen.

Optionstyp

So setzen Sie die Werte für jede Unteroption

  1. Klicken Sie unter IPv4 auf Serveroptionen.

  2. Klicken Sie mit der rechten Maustaste auf Serveroptionen, und klicken Sie auf Optionen konfigurieren, um das Dialogfeld Serveroptionen zu öffnen.

  3. Klicken Sie auf die Registerkarte Erweitert.

  4. Klicken Sie in Herstellerklasse auf MS-UC-Client.

  5. Klicken Sie auf jede Unteroption, und geben Sie geeignete Werte ein.

  6. Klicken Sie auf OK, um die Werte zu übernehmen, und schließen Sie das Dialogfeld.

Serveroptionen

Die manuelle Konfiguration des DHCP-Servers ist nun abgeschlossen. Sie können die Konfiguration mithilfe des Befehls DHCPUtil –EmulateClient testen.

Bereinigen der Lync Server-Konfigurationsinformationen auf dem DHCP-Server

Löschen Sie mithilfe des DHCPUtil-Befehls DHCPUtil –CleanDHCPConfig die Lync Server-Konfigurationsinformationen vom DHCP-Server.

Dieser Befehl sollte auf dem DHCP-Server ausgeführt werden und setzt voraus, dass sich die Datei "DHCPConfigScript.bat" im gleichen Verzeichnis befindet wie DHCPUtil. Ebenso wie bei "RunConfigScript" können Administratoren die Datei "DHCPConfigScript.bat" ändern, sodass die netsh-Befehle an Remote-DHCP-Server ausgegeben werden. Auf diese Weise muss DHCPUtil nicht direkt auf dem DHCP-Server ausgeführt werden.

Zum manuellen Bereinigen der Konfiguration können Sie die DHCP-Serververwaltungskonsole verwenden. Der Wert für Option 120, die neue Herstellerklasse und verschiedene Unteroptionen für Option 43 (für den Hersteller "MS-UC-Client") sind erforderlich, um die Konfiguration zu bereinigen.

Aktivieren des DHCP-Servers von Lync Server

Sie können den DHCP-Server von Lync Server verwenden, um während des Bootstrappings die DHCP-Optionen 43 und 120 für Telefone bereitzustellen (z. B. in einer Zweigstelle, in der der lokale DHCP-Server möglicherweise nicht in der Lage ist, diese Optionen bereitzustellen). Es wird empfohlen, den DHCP-Server von Lync Server nicht für Rechenzentren zu verwenden, die manuell konfiguriert werden sollten.

Beachten Sie, dass der DHCP-Server von Lync Server keine IP-Adressen abruft und neben anderen DHCP-Servern in Ihrer Organisation eingesetzt werden kann.

Führen Sie zum Aktivieren des DHCP-Servers von Lync Server auf einem einzelnen Registrierungsserver den folgenden Befehl aus:

noteHinweis:
Wenn Sie den DHCP-Server auf einem Lync Server in einem anderen Subnetz aktivieren als in dem, in dem sich die Geräte befinden, auf denen Lync Phone Edition ausgeführt wird, müssen Sie u. U. geeignete BOOTP-Relay-Agents für die Weiterleitung der DHCP-Pakete an den DHCP-Server von Lync Server konfigurieren. Ausführliche Informationen zur entsprechenden Vorgehensweise finden Sie im nächsten Abschnitt
Set-CSRegistrarConfiguration -Identity <Service Identity of the Registrar> -EnableDHCPServer $true

Falls für diesen Registrierungsserver keine Registrierungskonfiguration auf Dienstebene vorhanden ist, führen Sie außerdem dieses Cmdlet aus:

New-CSRegistrarConfiguration -Identity <Service Identity of the Registrar> -EnableDHCPServer $true
noteHinweis:
Wenn Sie den DHCP-Server deaktivieren möchten, verwenden Sie erneut das Cmdlet "Set-CsRegistrarConfiguration", und setzen Sie den Wert für "EnableDHCPServer" auf "$false".

Konfigurieren von Microsoft BOOT-Relay-Agents

Ausführliche Informationen finden Sie auf der Seite "Konfigurieren des DHCP-Relay-Agents" unter http://go.microsoft.com/fwlink/?linkid=205013&clcid=0x407.

Die beiden folgenden Seiten in der TechNet-Bibliothek sind besonders nützlich:

Stellen Sie sicher, dass die Schwellenwerte für Neustart und Anzahl von Hops ordnungsgemäß konfiguriert sind, da der Relay-Agent die Pakete sonst verwirft.

In den von Lync Server-Clients gesendeten Paketen ist der Parameter "secs" (Anzahl von Sekunden, die seit Beginn des Suchprozesses durch den Client vergangen sind, siehe RFC 2131) auf 0 gesetzt, der Neustartschwellenwert in den DHCP-Relay-Agents muss also ebenfalls auf 0 gesetzt werden.