Uso de DHCPUtil

 

Última modificación del tema: 2012-10-17

En este tema se describe cómo usar DHCPUtil.

DHCPConfigScript.bat

DHCPUtil no configura los servidores DHCP, sino que delega esa función a un script que se puede cambiar para adaptarse a los requisitos de la organización. Después de calcular los valores de varias opciones, DHCPUtil transfiere esos valores a un script que, a continuación, efectúa las acciones correspondientes.

DHCPConfigScript.bat es uno de esos scripts y es el que se proporciona con DHCPUtil. (Se encuentra en la misma ubicación que DHCPUtil.) Este script usa los comandos de netsh dhcp server que configuran el servidor DHCP con las opciones necesarias para implementar Lync Server.

Nota

DHCPConfigScript.bat no puede usarse con otro servidor DHCP distinto de la característica de servidor que se incluye en los sistemas operativos Windows Server, a menos que el usuario lo modifique.

Este es el contenido del 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 

Los primeros tres comandos limpian un servidor DHCP para poder definir correctamente los valores de distintas opciones. Si el script se ejecuta en modo de limpieza, no se realizan más acciones. De lo contrario, se crea la definición de la opción 120 y se define conforme al valor proporcionado.

A continuación, se crea un proveedor con el identificador de clase de proveedor MS-UC-Client (%2 siempre tiene este valor). Acto seguido, el script define una a una las subopciones de la opción 43. Observará que las subopciones siguientes se crean para la clase de proveedor:

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

Para obtener más información sobre netsh dhcp, consulte Implementación de Lync Phone Edition, Configuración de las opciones del DHCP para habilitar el inicio de sesión en teléfonos IP y la biblioteca de MSDN en https://go.microsoft.com/fwlink/?linkid=205011&clcid=0xC0A.

Configuración del servidor DHCP mediante DHCPUtil

En el símbolo del sistema, ejecute:

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

El último parámetro RunConfigScript es el único que no forma parte de DHCPConfigScript.bat. Este parámetro hace que DHCPUtil genere los valores de las opciones 120 y 43, y a continuación, los transfiere al script de configuración. Si RunConfigScript se especifica sin ruta, se ejecuta DHCPConfigScript.bat. Si se especifica una ruta de archivo válida, se ejecuta ese archivo. Dicho archivo puede ser un script o un ejecutable.

Los parámetros siguientes se transfieren al script en el orden que se muestra a continuación:

  • Modo: los valores posibles son Limpiar y Configurar

  • Valor del identificador de clase de proveedor

  • Valor de la opción 120

  • Valor de la subopción 1 para la opción 43

  • Valor de la subopción 2 para la opción 43

  • Valor de la subopción 3 para la opción 43

  • Valor de la subopción 4 para la opción 43

  • Valor de la subopción 5 para la opción 43

Los administradores pueden usar el contenido de este tema para escribir scripts personalizados. Por ejemplo, para configurar un servidor DHCP, en el servidor DHCP debe ejecutarse el comando siguiente:

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

De este modo, se invoca DHCPConfigScript.bat con los parámetros correspondientes, cosa que a su vez invocará varios comandos de netsh dhcp server.

Podría darse el caso de querer editar DHCPConfigScript.bat (o escribir uno diferente) para poder ejecutar comandos de netsh en un servidor DHCP remoto y, de este modo, no tener que ejecutar DHCPUtil en el propio servidor DHCP.

Comprobación de la configuración del servidor DHCP

DHCPUtil también puede usarse para comprobar la configuración del servidor DHCP. En este caso, DHCPUtil envía paquetes DHCP como lo harían los clientes de Lync Server; a continuación, analiza el paquete recibido. Si se recibe una respuesta adecuada, se muestran los valores recuperados siguientes:

DHCPUtil -EmulateClient

En este caso podrían requerirse las pertinentes exclusiones en el firewall y, en general, no funcionará si se usa en el servidor DHCP. Se debería ejecutar en un equipo que depende del servidor DHCP cuya configuración se vaya a comprobar.

Para habilitar las exclusiones, ejecute los comandos siguientes en un símbolo de sistema de administrador:

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

A continuación, inicie los comandos siguientes (en un símbolo del sistema con privilegios elevados) para quitar las exclusiones:

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

Si el resultado es correcto, se muestra el servidor DHCP que ha respondido, el valor del servidor SIP y la dirección URL del servicio de aprovisionamiento de certificados.

Configuración manual de servidores DHCP

Tras obtener los valores de distintas opciones (generados mediante DHCPUtil), debe realizar manualmente las mismas tareas que el script mediante los comandos de netsh dhcp server.

Para crear la definición de la opción 120

  1. Abra la consola de administración de DHCP.

  2. Vaya al dominio pertinente.

  3. Haga clic con el botón secundario en IPv4.

  4. Haga clic en Configurar opciones predeterminadas para abrir el cuadro de diálogo Valores y opciones predeterminados.

  5. Haga clic en Agregar para abrir el cuadro de diálogo Tipo de opción.

  6. Siga este procedimiento:

    • En Nombre, escriba el nombre del servidor SIP.

    • En Tipo de datos, haga clic en Binario.

    • En Código, escriba 120.

    • En Descripción, escriba Lista de servidores SIP.

  7. Haga clic en Aceptar para cerrar el cuadro de diálogo.

Opciones estándar predeterminadas

Para definir la definición de la opción 120

  1. En el árbol de navegación, debajo de IPv4, haga clic en Opciones de servidor.

  2. Haga clic con el botón secundario en Opciones de servidor y haga clic en Configurar opciones para abrir el cuadro de diálogo Opciones de servidor.

  3. Seleccione la casilla Servidor SIP 120. Ello permite editar el valor del cuadro Entrada de datos.

  4. Especifique con atención el valor generado por DHCPUtil.

  5. Haga clic en Aceptar para cerrar el cuadro de diálogo.

Opciones de servidor

Para crear una clase de proveedor con el valor MS-UC-Client

  1. Haga clic con el botón secundario de nuevo en IPv4 y haga clic en Definir clases de proveedor… para abrir el cuadro de diálogo Clases de proveedor DHCP.

  2. Haga clic en Agregar para abrir el cuadro de diálogo Nueva clase.

  3. Siga este procedimiento:

    • En Nombre para mostrar, escriba MSUCClient.

    • En Descripción, escriba Identificador de clase de proveedor UC.

    • Debajo de ASCII, haga clic en MS-UC-Client.

  4. Haga clic en Aceptar para cerrar el cuadro de diálogo.

Nueva clase

Para crear una definición en cada una de las subopciones de la opción 43, para la clase de proveedor creada en el procedimiento anterior

  1. Haga clic con el botón secundario en IPv4 y haga clic en Configurar opciones predeterminadas para abrir el cuadro de diálogo Valores y opciones predeterminados.

  2. En Clase de opción, haga clic en MSUCClient.

  3. Haga clic en Agregar para abrir el cuadro de diálogo Tipo de opción.

  4. Siga este procedimiento: (el ejemplo siguiente se aplica solamente a la subopción 1)

    • En Nombre, escriba UCIdentifier.

    • En Tipo de datos, haga clic en Binario. (Esto se aplica a las cinco subopciones.)

    • En Código, haga clic en 1. (Las otras subopciones tendrán el código correspondiente, por ejemplo 2, 3, 4 o 5.)

    • En Descripción, escriba Identificador de UC.

  5. Haga clic en Aceptar para cerrar el cuadro de diálogo.

  6. Repita el proceso en las cinco subopciones.

Tipo de opción

Para definir los valores de todas las subopciones

  1. En IPv4, haga clic en Opciones de servidor.

  2. Haga clic con el botón secundario en Opciones de servidor y seleccione Configurar opciones para abrir el cuadro de diálogo Opciones de servidor.

  3. Haga clic en la pestaña Opciones avanzadas.

  4. En Clase de proveedor, haga clic en MSUCClient.

  5. Seleccione cada subopción y especifique los valores correspondientes.

  6. Haga clic en Aceptar para admitir los valores y cerrar el cuadro de diálogo.

Opciones de servidor

De este modo, se ha completado la configuración manual del servidor DHCP. Puede probarla mediante DHCPUtil –EmulateClient.

Limpieza de la configuración de Lync Server desde el servidor DHCP

El comando de DHCPUtil DHCPUtil –CleanDHCPConfig es válido para limpiar la información de configuración de Lync Server del servidor DHCP.

Este comando debe ejecutarse en el servidor DHCP y DHCPConfigScript.bat debe ubicarse en el mismo directorio que DHCPUtil. Como en el caso de RunConfigScript, los administradores pueden modificar DHCPConfigScript.bat para que los comandos de netsh se emitan en servidores DHCP remotos. De este modo, ya no hace falta ejecutar DHCPUtil en el servidor DHCP.

Para limpiar manualmente la configuración, puede usarse la consola de administración de servidores DHCP. Para limpiar la configuración se necesitan el valor de la opción 120, los valores de clases nuevas de proveedores y diversas subopciones de la opción 43 (correspondientes al proveedor MS-UC-Client).

Habilitación del servidor DHCP Lync Server

Puede usar el servidor DHCP Lync Server para proporcionar las opciones DHCP 43 y 120 a los teléfonos durante el arranque. Por ejemplo, en una filial en la que el servidor DHCP local no pueda proporcionar dichas opciones. No se recomienda el uso del servidor DHCP Lync Server en centros de datos, ya que estas opciones se deben configurar de forma manual

Tenga en cuenta que el servidor DHCP Lync Server no interviene en el proceso de adquisición de IP y puede usarse con otros servidores DHCP de la organización.

Para habilitar el servidor DHCP Lync Server en un solo registrador, use el comando siguiente:

Nota

Si habilita el servidor DHCP en Lync Server que se encuentre en una subred distinta de la de los dispositivos que usan Lync Phone Edition, puede que tenga que configurar agentes de reenvío BOOTP para reenviar los paquetes DHCP al servidor DHCP Lync Server. Para obtener más detalles sobre este proceso, consulte la sección siguiente.  

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

Si este servicio de registrador carece de configuración de nivel de servicio, use también este cmdlet:

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

Nota

Para deshabilitar el servidor DHCP, vuelva a usar el cmdlet Set-CsRegistrarConfiguration y establezca el valor de EnableDHCPServer en $false.

Configuración de agentes de retransmisión de arranque de Microsoft

Para obtener información detallada, consulte "Configurar el Agente de retransmisión DHCP" en https://go.microsoft.com/fwlink/?linkid=205013&clcid=0xC0A.

Las dos páginas siguientes de la biblioteca de TechNet Library son especialmente útiles:

Compruebe que Umbral de inicio y Umbral de cuenta de saltos estén bien configurados; de lo contrario, el agente de retransmisiones omitirá los paquetes.

Los paquetes enviados por los clientes de Lync Server deben tener el parámetro de los segundos (los segundos transcurridos desde que el cliente inició el proceso de detección; para obtener más información, consulte RFC 2131) definido en 0; por lo tanto, el valor de Umbral de inicio de los agentes de retransmisiones DHCP debe definirse en 0.