Utilizzo di DHCPUtil

 

Ultima modifica dell'argomento: 2012-10-17

In questo argomento viene descritto come utilizzare DHCPUtil.

DHCPConfigScript.bat

DHCPUtil non configura direttamente i server DHCP, ma delega questa responsabilità a uno script che può essere modificato in base alle esigenze dell'organizzazione. Dopo il calcolo dei valori per varie opzioni, DHCPUtil passa questi valori a uno script, che può quindi eseguire l'azione appropriata.

DHCPConfigScript.bat è uno di tali script ed è quello fornito con DHCPUtil, nello stesso percorso. Questo script utilizza i comandi di netsh dhcp server che configurano il server DHCP con le opzioni necessarie per la distribuzione di Lync Server.

Nota

Non è possibile utilizzare DHCPConfigScript.bat con server DHCP diversi dalla funzionalità server DHCP inclusa nei sistemi operativi Windows Server, a meno che non venga modificato.

Di seguito è riportato il contenuto dello 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 

I primi tre comandi puliscono un server DHCP in modo che i valori per varie opzioni possano essere impostati correttamente. Se lo script viene eseguito in modalità di pulizia, non vengono intraprese altre azioni. In caso contrario, viene creata la definizione per l'opzione 120 che viene impostata sul valore specificato.

In seguito, viene creato un fornitore con identificatore di classe MS-UC-Client (%2 avrà sempre questo valore). Quindi, lo script imposta le opzioni secondarie per l'opzione 43, una alla volta. Per la classe fornitore verranno create le opzioni secondarie seguenti:

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

Per informazioni dettagliate su netsh dhcp, vedere Distribuzione di Lync Phone Edition, Configurazione delle opzioni DHCP per consentire l'accesso per i telefoni IP e in MSDN Library all'indirizzo https://go.microsoft.com/fwlink/?linkid=205011&clcid=0x410.

Configurazione del server DHCP mediante DHCPUtil

Al prompt dei comandi eseguire:

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

Solo l'ultimo parametro RunConfigScript non fa parte di DHCPConfigScript.bat. Tramite questo parametro, DHCPUtil genera i valori per le opzioni 120 e 43 e quindi li passa allo script di configurazione. Se si specifica RunConfigScript senza percorso, DHCPConfigScript.bat viene eseguito. Se si specifica un percorso di file valido, viene eseguito tale file, che può essere uno script o un eseguibile.

Allo script vengono passati i parametri seguenti, in questo ordine:

  • Modalità: i possibili valori sono Cleanup e Configure

  • Valore dell'identificatore della classe fornitore

  • Valore dell'opzione 120

  • Valore dell'opzione secondaria 1 per l'opzione 43

  • Valore dell'opzione secondaria 2 per l'opzione 43

  • Valore dell'opzione secondaria 3 per l'opzione 43

  • Valore dell'opzione secondaria 4 per l'opzione 43

  • Valore dell'opzione secondaria 5 per l'opzione 43

Gli amministratori possono utilizzare il contenuto di questo argomento per scrivere script personalizzati. Ad esempio, per configurare un server DHCP, è necessario eseguire il comando seguente nel server DHCP:

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

Questo comando richiama DHCPConfigScript.bat con i parametri appropriati, che a sua volta richiama vari comandi netsh dhcp server.

È anche possibile scegliere di modificare DHCPConfigScript.bat (o di scriverne uno diverso) in modo che possa eseguire i comandi netsh in un server DHCP remoto, eliminando la necessità di eseguire DHCPUtil nel server DHCP stesso.

Verifica della configurazione del server DHCP

È anche possibile utilizzare DHCPUtil per testare la configurazione nel server DHCP. In questo scenario DHCPUtil invia i pacchetti DHCP, come avverrebbe per i client Lync Server, e quindi analizza il pacchetto ricevuto. Se la risposta ricevuta è appropriata, i valori recuperati vengono visualizzati come indicato di seguito:

DHCPUtil -EmulateClient

Si noti che questa operazione può richiedere esclusioni appropriate nel firewall e che in genere non funziona se viene eseguita nel server DHCP. Deve essere eseguita in un computer servito da server DHCP di cui si verifica la configurazione.

Per abilitare le esclusioni, eseguire i comandi seguenti a un prompt dei comandi di amministratore:

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

Al termine, eseguire i comandi seguenti a un prompt dei comandi con privilegi elevati per rimuovere le esclusioni:

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

Se il risultato è positivo, l'output mostra il server DHCP che ha risposto, il valore per il server SIP e l'URL del servizio di provisioning dei certificati.

Configurazione manuale dei server DHCP

Dopo aver ottenuto i valori per varie opzioni (generati mediante DHCPUtil), è necessario eseguire le stesse attività dello script utilizzando i comandi netsh dhcp server.

Per creare la definizione per l'opzione 120

  1. Aprire la console Gestione DHCP.

  2. Passare al dominio appropriato.

  3. Fare clic con il pulsante destro del mouse su IPv4.

  4. Scegliere Definisci opzioni predefinite per aprire la finestra di dialogo Opzioni e valori predefiniti.

  5. Fare clic su Aggiungi per aprire la finestra di dialogo Tipo di opzione.

  6. Eseguire le operazioni seguenti:

    • In Nome digitare il nome del server SIP.

    • In Tipo di dati fare clic su Binario.

    • In Codice digitare 120.

    • In Descrizione digitare Elenco di server SIP.

  7. Fare clic su OK per accettare e chiudere la finestra di dialogo.

Opzioni standard predefinite

Per impostare il valore per l'opzione 120

  1. Nell'albero di spostamento, in IPv4, fare clic su Opzioni server.

  2. Fare clic con il pulsante destro del mouse su Opzioni server e scegliere Configura opzioni per aprire la finestra di dialogo Opzioni server.

  3. Selezionare la casella di controllo Server Sip 120, che consente di modificare il valore nella casella Immissione dati.

  4. Immettere con attenzione il valore generato da DHCPUtil.

  5. Fare clic su OK per accettare e chiudere la finestra di dialogo.

Opzioni server

Per creare una nuova classe fornitore con il valore MS-UC-Client

  1. Fare nuovamente clic con il pulsante destro del mouse su IPv4 e scegliere Definisci classi fornitore per aprire la finestra di dialogo Classi fornitore DHCP.

  2. Fare clic su Aggiungi per aprire la finestra di dialogo Nuova classe.

  3. Eseguire le operazioni seguenti:

    • In Nome visualizzato digitare MSUCClient.

    • In Descrizione digitarel'ID classe fornitore di comunicazioni unificate.

    • In ASCII fare clic su MS-UC-Client.

  4. Fare clic su OK per accettare e chiudere la finestra di dialogo.

Nuova classe

Per creare una definizione per ogni opzione secondaria dell'opzione 43, per la classe fornitore creata nella procedura precedente

  1. Fare clic con il pulsante destro del mouse su IPv4 e scegliere Definisci opzioni predefinite per aprire la finestra di dialogo Opzioni e valori predefiniti.

  2. In Classe opzione fare clic su MSUCClient.

  3. Fare clic su Aggiungi per aprire la finestra di dialogo Tipo di opzione.

  4. Eseguire le operazioni seguenti: (l'esempio seguente riguarda solo l'opzione secondaria 1)

    • In Nome digitare UCIdentifier.

    • In Tipo di dati fare clic su Binario (ciò vale per tutte le cinque opzioni secondarie).

    • In Codice fare clic su 1 (le altre opzioni secondarie avranno il codice corrispondente, ad esempio 2, 3, 4 o 5).

    • In Descrizione digitare Identificatore UC.

  5. Fare clic su OK per accettare e chiudere la finestra di dialogo.

  6. Ripetere questa procedura per le cinque opzioni secondarie.

Tipo di opzione

Per impostare i valori per ogni opzione secondaria

  1. In IPv4 fare clic su Opzioni server.

  2. Fare clic con il pulsante destro del mouse su Opzioni server e scegliere Configura opzioni per aprire la finestra di dialogo Opzioni server.

  3. Fare clic sulla scheda Avanzate.

  4. Nella casella Classe fornitore fare clic su MSUCClient.

  5. Selezionare ogni opzione secondaria e immettere i valori appropriati.

  6. Fare clic su OK per accettare e chiudere la finestra di dialogo.

Opzioni server

A questo punto, la configurazione manuale del server DHCP è completata. È possibile verificarla mediante DHCPUtil –EmulateClient.

Pulizia della configurazione correlata a Lync Server dal server DHCP

Utilizzare il comando DHCPUtil DHCPUtil –CleanDHCPConfig per eseguire la pulizia delle informazioni di configurazione di Lync Server dal server DHCP.

Il comando deve essere eseguito nel server DHCP ed è necessario che DHCPConfigScript.bat si trovi nella stessa directory di DHCPUtil. Come per RunConfigScript, gli amministratori possono modificare DHCPConfigScript.bat in modo che i comandi netsh vengano emessi in server DHCP remoti, eliminando la necessità di eseguire DHCPUtil nel server DHCP stesso.

Per eseguire manualmente la pulizia della configurazione, è possibile utilizzare la console di amministrazione del server DHCP. Per questa operazione, sono necessari il valore per l'opzione 120, la nuova classe fornitore e le varie opzioni secondarie dell'opzione 43 (corrispondente al fornitore MS-UC-Client).

Abilitazione del server DHCP di Lync Server

È possibile utilizzare il server DHCP di Lync Server per fornire le opzioni DHCP 43 e 120 ai telefoni durante l'avvio automatico, ad esempio in una succursale dove il server DHCP locale potrebbe non essere in grado di fornire queste opzioni. Non è consigliabile utilizzare il server DHCP di Lync Server per i data center, che dovrebbero essere configurati manualmente.

Si noti che il server DHCP di Lync Server non fa parte del processo di acquisizione IP e può essere utilizzato insieme ad altri server DHCP dell'organizzazione.

Per abilitare il server DHCP di Lync Server in una singola funzione di registrazione, eseguire il comando seguente:

Nota

Se il server DHCP viene abilitato in un computer Lync Server che si trova in una subnet diversa da quella dei dispositivi che eseguono Lync Phone Edition, potrebbe essere necessario configurare gli agenti di inoltro BOOTP appropriati per inoltrare i pacchetti DHCP al server DHCP di Lync Server. Per informazioni dettagliate su come eseguire questa operazione, vedere la sezione successiva.

Set-CSRegistrarConfiguration -Identity <Service Identity of the Registrar> -EnableDHCPServer $true

Se per questa funzione di registrazione non esiste una configurazione a livello di servizio, eseguire anche il cmdlet seguente:

New-CSRegistrarConfiguration -Identity <Service Identity of the Registrar> -EnableDHCPServer $true

Nota

Per disabilitare il server DHCP, utilizzare nuovamente Set-CsRegistrarConfigurationcmdlet e impostare il valore di EnableDHCPServer su $false.

Configurazione degli agenti di inoltro Microsoft BOOT

Per informazioni dettagliate, vedere Configurare l'agente di inoltro DHCP all'indirizzo Web https://go.microsoft.com/fwlink/?linkid=205013&clcid=0x410.

Le due pagine seguenti della Libreria TechNet sono particolarmente utili:

Assicurarsi che le opzioni Soglia avvio e Soglia conteggio hop siano configurate correttamente. In caso contrario, l'agente di inoltro non trasmetterà i pacchetti.

Per i pacchetti inviati da client Lync Server, il parametro secs (secondi trascorsi dall'avvio del processo di individuazione da parte del client, vedere RFC 2131) è impostato su 0, pertanto l'opzione Soglia avvio negli agenti di inoltro DHCP deve essere impostata su 0.