Compartilhar via


Usando o DHCPUtil

 

Tópico modificado em: 2012-10-17

Este tópico descreve como usar o DHCPUtil.

DHCPConfigScript.bat

O DHCPUtil não configura servidores DHCP sozinho. Ele delega a responsabilidade de um script que pode ser alterada de acordo com a necessidade da organização. Após calcular os valores de várias opções, o DHCPUtil passa esses valores para um script, que pode adotar a ação adequada.

O DHCPConfigScript.bat é um destes scripts e é fornecido com o DHCPUtil. (Está no mesmo local que o DHCPUtil.) Este script usa os comandos netsh dhcp server que configuram o servidor DHCP com as opções necessárias para a implantação do Lync Server.

noteObservação:
O DHCPConfigScript.bat não pode ser usado em qualquer servidor DHCP além do recurso de servidor DHCP incluído com sistemas operacionais Windows Server, a menos que você modifique-o.

O script contém:

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 

Os três primeiros comandos de limpeza de um servidor DHCP para que os valores de várias opções possam ser definidos corretamente. Se o script for executado no modo de limpeza, nenhuma outra ação é executada. Caso contrário, a definição da opção 120 é criada e definida para o valor fornecido.

Em seguida, o fornecedor com o identificador de classe de fornecedores MS-UC-Client (%2 sempre terá este valor) é criado. O script define as sub-opções para a opção 43 em um momento. Você observará que as seguintes sub-opções são criadas para a classe de fornecedores:

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

Para obter detalhes sobre o netsh dhcp, consulte Implantando o Lync 2010 Phone Edition, Configurando opções DHCP para habilitar a conexão de telefones IP e a Biblioteca MSDN em https://go.microsoft.com/fwlink/?linkid=205011&clcid=0x416.

Configurando o servidor DHCP usando o DHCPUtil

No prompt de comando, execute:

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

Apenas o último parâmetro RunConfigScript não faz parte do DHCPConfigScript.bat. Este parâmetro faz com que o DHCPUtil gere os valores para as opções 120 e 43 e passe os valores para o script de configuração. Se RunConfigScript é especificado sem nenhum caminho, o DHCPConfigScript.bat é executado. Se um caminho de arquivo válido é especificado, este arquivo é executado. Este arquivo pode ser um script ou um executável.

Os seguintes parâmetros são passados para o script, nesta ordem:

  • Modo: Os valores possíveis são Limpeza e Configurar

  • Valor do identificador de classe de fornecedores

  • Valor de opção 120

  • Valor de sub-opção 1 da opção 43

  • Valor de sub-opção 2 da opção 43

  • Valor de sub-opção 3 da opção 43

  • Valor de sub-opção 4 da opção 43

  • Valor de sub-opção 5 da opção 43

Os administradores podem usar o conteúdo deste tópico para redigir scripts personalizados. Por exemplo, para configurar um servidor DHCP, o comando a seguir precisa ser executado no servidor DHCP:

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

Isso invocará o DHCPConfigScript.bat com os parâmetros apropriados, que por sua vez invocará vários comandos netsh dhcp server.

Você talvez deseje editar o DHCPConfigScript.bat (ou redigir um diferente) para que possa executar os comandos netsh para um servidor DHCP remoto, removendo a necessidade de executar o DHCPUtil no próprio servidor DHCP.

Testando a configuração do servidor DHCP

O DHCPUtil também pode ser usado para testar a configuração no servidor DHCP. Nesse cenário, o DHCPUtil envia pacotes DHCP, como os clientes Lync Server fariam e analisa o pacote recebido. Se uma resposta apropriada for recebida, os valores recuperados são exibidos como a seguir:

DHCPUtil -EmulateClient

Observe que isso pode exigir exclusões apropriadas no firewall e que, geralmente, isso não funcionará se for executado no servidor DHCP. Deve ser executado em um computador servido pelo servidor DHCP cuja configuração deverá ser testada.

Para habilitar exclusões, execute os seguintes comandos por um prompt de comando do 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

Após concluir, execute os seguintes comandos (por um prompt de comando elevado) para remover as exclusões:

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

Quando há um resultado de sucesso, a saída mostra o servidor DHCP que respondeu, o valor do servidor SIP e a URL de serviço de provisionamento de certificado.

Configuração manual de servidores DHCP

Após ter os valores para várias opções (geradas usando o DHCPUtil), você precisa realizar manualmente as mesmas tarefas que o script executa usando os comandos netsh dhcp server.

Para criar a definição da opção 120

  1. Abra o console de gerenciamento DHCP.

  2. Vá para o domínio apropriado.

  3. Clique com o botão direito em IPv4.

  4. Clique em Definir opções predefinidas para abrir a caixa de diálogo Opções e valores predefinidos .

  5. Clique em Adicionar para abrir a caixa de diálogo Tipo de opção.

  6. Faça o seguinte:

    • Em Nome , digite o nome do servidor SIP.

    • Em Tipo de dados , clique em Binário.

    • Em Código, digite 120.

    • Em Descrição , digite Lista de servidores SIP.

  7. Clique em OK para aceitar e fechar a caixa de diálogo.

Opções padrões predefinidas

Para definir o valor de opção 120

  1. Na árvore de navegação, em IPv4 , clique em Opções do servidor.

  2. Clique com o botão direito em Opções do servidor e clique em Configurar opções para abrir a caixa de diálogo Opções do servidor.

  3. Marque a caixa de seleção Servidor Sip 120. Isso permite editar o valor na caixa Entrada de dados.

  4. Insira cuidadosamente o valor gerado pelo DHCPUtil.

  5. Clique em OK para aceitar e fechar a caixa de diálogo.

Opções do servidor

Para criar uma nova classe de fornecedores com o valor MS-UC-Client

  1. Clique com o botão direito em IPv4 novamente e clique em Definir classes de fornecedores… para abrir a caixa de diálogo Classes de fornecedores DHCP.

  2. Clique em Adicionar para abrir a caixa de diálogo Nova classe.

  3. Faça o seguinte:

    • Em Nome de exibição, digite MSUCClient.

    • Em Descrição, digite a Id da classe de fornecedores UC.

    • Em ASCII, clique em MS-UC-Client.

  4. Clique em OK para aceitar e fechar a caixa de diálogo.

Nova classe

Para criar uma definição para cada sub-opção na opção 43, para a classe de fornecedores criada no procedimento anterior

  1. Clique com o botão direito em IPv4 e clique em Definir opções predefinidas para abrir a caixa de diálogo Opções e valores predefinidos.

  2. Em Classe de opção, clique em MSUCClient.

  3. Clique em Adicionar para abrir a caixa de diálogo Tipo de opção.

  4. Faça o seguinte: (o exemplo a seguir é apenas para a sub-opção 1)

    • Em Nome, digite UCIdentifier.

    • Em Tipo de dados, clique em Binário. (Isto é verdadeiro para todas as cinco sub-opções.)

    • Em Código, clique em 1. (Outras sub-opções terão o código correspondente, como 2, 3, 4 ou 5.)

    • Em Descrição, digite Identificador UC.

  5. Clique em OK para aceitar e fechar a caixa de diálogo.

  6. Repita este processo para todas as cinco sub-opções.

Tipo de opção

Para definir os valores para cada sub-opção

  1. Em IPv4, clique em Opções do servidor.

  2. Clique com o botão direito em Opções do servidor e clique em Configurar opções para abrir a caixa de diálogo Opções do servidor.

  3. Clique na guia Avançado.

  4. Na caixa Classe do fornecedor, clique em MSUCClient.

  5. Marque cada sub-opção e preencha os valores apropriados.

  6. Clique em OK para aceitar valores e fechar a caixa de diálogo.

Opções do servidor

A configuração manual do servidor DHCP está concluída. É possível testar a configuração usando DHCPUtil –EmulateClient.

Limpando a configuração do Lync Server relacionado ao servidor DHCP

Use o comando DHCPUtil DHCPUtil –CleanDHCPConfig para limpar a informação de configuração do Lync Server do servidor DHCP.

Este comando deve ser executado no servidor DHCP e exige que o DHCPConfigScript.bat esteja no mesmo diretório que o DHCPUtil. Como isso ocorre com o RunConfigScript, os administradores podem modificar o DHCPConfigScript.bat para que os comandos netsh sejam emitidos para servidores DHCP remotos. Isto exclui a necessidade de executar o DHCPUtil no próprio servidor DHCP.

Para limpar manualmente a configuração, o console de administração do servidor DHCP pode ser usado. O valor de opção 120, a nova classe de fornecedores e várias sub-opções da opção 43 (correspondente ao Fornecedor MS-UC-Client) são necessários para limpar a configuração.

Habilitando o Lync Server, Servidor DHCP

É possível usar o Lync Server, Servidor DHCP para fornecer as opções 43 e 120 DHCP para telefones durante a inicialização, por exemplo, uma filial onde o servidor DHCP local pode não ser capaz de fornecer essas opções. Não recomendamos o uso do Lync Server, Servidor DHCP para centros de dados que devem ser configurados manualmente.

Observe que o Lync Server, Servidor DHCP não participa do processo de aquisição de IP e pode ser usado junto com outros servidores DHCP na sua organização.

Para habilitar o Lync Server, Servidor DHCP em um único Registrador, execute o seguinte comando:

noteObservação:
Se você habilitar o Servidor DHCP em um Lync Server que está em uma sub-rede diferente dos dispositivos executando o Lync Phone Edition, talvez seja necessário configurar agentes de relé BOOTP apropriados para encaminhar os pacotes DHCP para o Lync Server, Servidor DHCP. Para obter detalhes sobre como fazer isso, consulte a próxima seção.
Set-CSRegistrarConfiguration -Identity <Service Identity of the Registrar> -EnableDHCPServer $true

Se a configuração do Registrador de nível de serviço para este Registrador não existir, execute também este cmdlet:

New-CSRegistrarConfiguration -Identity <Service Identity of the Registrar> -EnableDHCPServer $true
noteObservação:
Para desabilitar o Servidor DHCP, use o Set-CsRegistrarConfigurationcmdlet novamente e defina o valor de EnableDHCPServer para $falso.

Configurar agentes de relé de BOOT da Microsoft

Para obter detalhes, consulte Configurar o Agente de Relé DHCP em https://go.microsoft.com/fwlink/?linkid=205013&clcid=0x416.

As duas páginas a seguir na Biblioteca TechNet são particularmente úteis:

Certifique-se de que o Limite de Inicialização e o Limite de Contagem de Saltos estão configurados corretamente; caso contrário, o agente de relé descartará os pacotes.

Os pacotes enviados pelos clientes do Lync Server possuem parâmetros secs (segundos decorridos desde que o cliente iniciou o processo de descoberta. Para obter detalhes, consulte RFC 2131) definido para 0. Portanto, o Limite de Inicialização nos agentes de relé DHCP deve ser definido para 0.