Falha na VPN do Windows RRAS para definir opções em clientes Mac L2TP devido ao retransmissor DHCP rejeitar pacotes

1

Ao configurar um serviço L2TP VPN para acesso remoto no Windows Routing and Remote Access, tivemos um problema estranho com as opções de configuração nos clientes conectados. A maneira de fornecer essas configurações para clientes L2TP no RRAS no DHCP ( MS doc ) - um cliente L2TP envia um pacote DHCPInform, que então aplica as configurações das opções DHCP (opção 15 para o sufixo de pesquisa DNS e opção 121 para rotas de túnel divididas).

Na maioria dos pontos de extremidade VPN do cliente L2TP, como Cisco ASAs, o serviço L2TP cria a resposta DHCP com as configurações de DNS e roteamento configuradas - mas no RRAS, você usa o retransmissor DHCP incorporado no RRAS ou um servidor DHCP na sub-rede local mas essas opções devem ser definidas no DHCP, não por meio do atributo RADIUS ou da configuração RRAS ou qualquer outra coisa. (para muitos detalhes sobre como o DHCPInform funciona e por que é tão necessário, siga este tópico louco entre um par de nossos clientes regulares de falha de servidor)

Descobrimos que nenhum cliente Mac (ou iOS, por exemplo) recuperaria com êxito essas opções em nosso recém-configurado servidor VPN do Windows Server 2016, em vez de tentar obter DHCP do servidor VPN (de /var/log/ppp.log depois de ativar o registro detalhado):

...
Fri Dec  1 12:09:18 2017 : sent [IP data <src addr 192.0.2.8> <dst addr 255.255.255.255> <BOOTP Request> <type INFORM> <client id 0x08000000010000> <parameters = 0x6 0x2c 0x2b 0x1 0xf9 0xf>]
Fri Dec  1 12:09:21 2017 : sent [IP data <src addr 192.0.2.8> <dst addr 255.255.255.255> <BOOTP Request> <type INFORM> <client id 0x08000000010000> <parameters = 0x6 0x2c 0x2b 0x1 0xf9 0xf>]
Fri Dec  1 12:09:24 2017 : No DHCP server replied

Observando o servidor RRAS quando isso acontece, o DHCP Relay parece ver esses pacotes, mas, estranhamente, reporta-os como descartados (os números nas colunas circuladas são incrementados imediatamente quando o cliente registra o DHCP pedidos enviados):

DepoisdeligarosbotõesdelogdoRRASaomáximo,esperavaqueologdeeventosdoWindowsesclarecesseomotivodosdescartes(desdeo documentação existe para todos esses eventos ), mas nenhum desses eventos começou a registrar. Finalmente, depois de ativar os registros de rastreamento do RRAS, C:\Windows\system32\tracing\IPBOOTP.LOG finalmente forneceu uma dica de por que os pacotes DHCP do Mac eram inaceitáveis:

[9712] 12:09:10: dropping REQUEST with secs-since-boot 0 on interface 42 (192.0.2.8)

Por que o RRAS DHCP Relay não realiza seu trabalho e envia os pacotes DHCP desses clientes VPN para o servidor DHCP?

    
por Shane Madden 05.12.2017 / 23:40

1 resposta

0

Como se constata, os padrões para o agente de retransmissão DHCP simplesmente não funcionam para alguns clientes L2TP.

Quando você configura uma interface para retransmissão DHCP no RRAS (na interface "Interna", para onde os clientes VPN vão), as opções padrão são assim:

Parecedespretensioso,masacausadetodoesseproblemaéaconfiguração"Limite de inicialização". A documentação faz com que pareça tão útil!

The number of seconds the relay agent waits before forwarding DHCP messages. You can also click the arrows to select a new setting. The default value is 4 seconds.

This option is useful when you want a local DHCP server to respond first, but if the local DHCP server does not respond, you want to forward messages to a remote DHCP server.

Obviamente, essa opção soa como se ela estivesse sendo usada apenas quando você está fazendo retransmissões de DHCP real dentro de sua rede. Nem mesmo o o mais detalhado dos guias da Microsoft para usar as opções de retransmissão DHCP para VPN menciona a necessidade de prestar atenção à configuração do limite de inicialização.

Mas os logs não mentem e dropping REQUEST with secs-since-boot 0 pareceu uma indicação clara de que o próprio agente de retransmissão DHCP estava com falha. Esse erro me indicou uma postagem no blog de um administrador útil em Lichtenstein, que finalmente me mostrou o que estava acontecendo.

A opção de retransmissão DHCP "Limite de inicialização" não é um atraso, como a documentação implica - é um filtro de pacote rígido e descartará todos os pacotes DHCP abaixo do limite. Configurar isso para algo maior que 0 não faz sentido ao usar o relay DHCP para clientes VPN (na interface "Interno"), e quebrará a capacidade de muitas implementações de clientes L2TP de recuperar opções DHCP, apesar de não haver nenhuma indicação desse comportamento em a documentação.

Depois de definir o limite de inicialização no DHCP Relay como 0, os clientes Mac L2TP recuperam com êxito as configurações das opções de DHCP 15 (sufixo DNS) e 121 (rotas de túnel divididas).

    
por 05.12.2017 / 23:40