Três locais podem guardar um endereço interno fixo para um cliente VPN, e apenas um deles deve possuí-lo. O RADIUS pode devolver o endereço num Access-Accept, o gateway pode manter um mapeamento estático para a conta, e o adaptador do cliente pode ser definido à mão. Os dois primeiros são política e o terceiro é um palpite local que o gateway tem liberdade para ignorar ou sobrescrever. Escolher entre os dois primeiros é a decisão real, e depende do que o servidor de acesso à rede realmente implementa.

Três locais onde um endereço fixo pode viver

O RADIUS possui o endereço quando a resposta carrega Framed-IP-Address e o gateway aplica esse valor à sessão. O gateway o possui quando um administrador mapeia a conta para um endereço estático dentro do pool. O cliente não possui nada, mesmo quando o adaptador mostra um endereço manual, porque o servidor atribui o endereço interno durante a negociação e um ajuste local só importa quando o servidor não envia nenhum. Os três parecem idênticos numa conexão a funcionar, e é por isso que os conflitos aparecem tarde. A diferença surge ao reconectar, num segundo dispositivo e após uma mudança de política.

Dois proprietários é a configuração que quebra. Uma resposta do RADIUS que atribui 172.28.4.77 enquanto o gateway mantém um mapeamento estático para 172.28.4.90 entrega o valor que o código do fornecedor verifica primeiro, e o perdedor é descartado sem uma linha de log. A mesma conta num segundo dispositivo recebe então um endereço duplicado, e o sintoma lê-se como uma falha de encaminhamento em vez de um conflito de atribuição. Resolva o proprietário antes de acrescentar o segundo mecanismo.

A opção do lado do cliente merece ser nomeada apenas para poder ser descartada. Um endereço manual do adaptador é uma preferência que o sistema operativo pode apresentar, não uma reserva, e não pode impedir que outra sessão receba o mesmo endereço.

O que a resposta do RADIUS pode e não pode prometer

RFC 2865define Framed-IP-Address como o endereço IPv4 a configurar para o utilizador, e pertence ao Access-Accept. O mesmo atributo no Access-Request é apenas uma dica que o servidor pode ignorar, o que importa quando um cliente ou gateway oferece um endereço preferido. Nada no protocolo obriga o gateway a respeitar a resposta, porque o servidor de acesso à rede é o componente que a aplica à sessão.

O suporte é uma questão de produto e não de protocolo. Alguns gateways aplicam endereços emoldurados por omissão, outros precisam de um interruptor ao nível do grupo ligado antes de o fazer, e outros aceitam o atributo e nunca o usam para sessões de acesso remoto. Esse último caso é o perigoso, porque o registo de contabilidade pode mostrar a resposta enquanto o cliente recebe um endereço do pool. Confirme o comportamento no modelo exato de gateway e no firmware que executa, não na documentação de um produto irmão.

Uma resposta que o gateway ignora parece exatamente uma resposta que nunca foi enviada. Ler o Access-Accept e o endereço da sessão lado a lado é a única forma de separar os dois casos.

Reserve o endereço dentro do pool que já encaminha

Escolha o endereço fixo a partir da sub-rede do pool que o gateway já encaminha e em que o firewall já confia. Um endereço fora desse intervalo transforma uma mudança de política num projeto de encaminhamento, e a VPN sobe enquanto nada por trás dela consegue responder. Se existirem regras de acesso por endereço, acrescente o endereço fixo a elas na mesma alteração.

Decida o que uma segunda sessão simultânea deve fazer. Atribuir um endereço duas vezes não é gestão de dispositivos, e a colisão resultante aparece como conectividade intermitente para ambas as sessões. Ou emite identidades distintas por dispositivo, ou atribuições distintas, ou impõe a simultaneidade com uma verificação suportada, como Simultaneous-Use, em vez de esperar que o cliente nunca reconecte antes de a sessão antiga expirar.

As rotas de retorno merecem a mesma atenção que a atribuição. O gateway precisa de uma rota para o pool, os routers internos precisam de uma rota de volta para o gateway, e o endereço fixo herda ambas. Um único cliente a funcionar enquanto todos os outros falham costuma significar que a rota do pool existe mas a rota de host para o endereço reservado não.

Teste a resposta antes de confiar na reserva

Teste o lado AAA e o lado da sessão separadamente, porque falham por motivos diferentes. Um radtest local mostra o que o servidor devolve para a conta sem envolver o gateway, e a entrada no ficheiro de utilizadores mostra com o que o servidor deve corresponder. Depois reconecte o cliente e compare o endereço recebido com o atributo na resposta.

Authenticated member: survey-tablet-17
Reply attribute:      Framed-IP-Address = 172.28.4.77
survey-tablet-17  Cleartext-Password := "REPLACE_ME"
                  Framed-IP-Address = 172.28.4.77

radtest survey-tablet-17 REPLACE_ME 127.0.0.1 0 testing123

Um Access-Accept sem o atributo significa que o servidor não correspondeu à entrada ou que o atributo não foi aplicado a esse utilizador. Um Access-Accept com o atributo e um cliente que continua a receber um endereço do pool significa que o gateway o ignorou. Um Access-Reject devolve-o às credenciais ou à política de grupo, e nenhum destes resultados deve ser depurado editando o adaptador do cliente.

Repita a verificação após uma reconexão e após um segundo início de sessão a partir de outro dispositivo. Uma reserva que só aguenta a primeira sessão é um conflito de pool à espera de acontecer, e é mais barato encontrá-lo agora do que durante uma auditoria.

Escolha um único proprietário e escreva-o

Se o gateway aplica endereços emoldurados de forma fiável, deixe o RADIUS possuir a atribuição e remova qualquer mapeamento estático para a mesma conta. Se não, deixe o gateway possuí-la e remova o atributo da resposta, para que as duas fontes não possam discordar. Manter ambas porque cada uma quase funciona garante uma sessão futura com o endereço errado e sem causa óbvia.

Escreva o proprietário escolhido, o endereço reservado e o pool de onde veio no registo da conta. A próxima pessoa que acrescentar um dispositivo poderá ver se o endereço é uma política AAA ou um mapeamento do gateway antes de alterar qualquer um dos dois.

Artigos relacionados