eapol_test sobre uma VPN: a troca RADIUS precisa da camada 2?
eapol_test executa o par e o cliente RADIUS num único processo, por isso uma VPN encaminhada transporta UDP 1812. Verifique a lista de métodos compilada e depois teste o acesso real em separado.
Peça uma porta de switch de laboratório para poder executar eapol_test — e provavelmente leu mal a ferramenta. O par e o cliente RADIUS vivem ambos dentro desse único binário, por isso a única conversa que sai da máquina é a própria troca RADIUS. Um túnel encaminhado entre o anfitrião de teste e o servidor de autenticação é todo o requisito de rede. O caminho físico 802.1X é outra coisa que talvez ainda precise de testar, e não é esta.
Porque é que o nome leva as pessoas a procurar uma porta de switch
O EAPOL é o formato de trama que um supplicant e um switch usam numa LAN, e a ferramenta empresta o nome porque cresceu desse mundo. O que é distribuído é um programa de teste que transporta a máquina de estados do par e o cliente RADIUS num único processo, por isso as duas metades de uma conversa 802.1X nunca se encontram por um cabo. O nome é história, não um requisito de topologia.
As pessoas continuam a pedir a porta porque o programa assenta no comportamento de um autenticador, e isso soa a hardware. A cola reproduz a máquina de estados do autenticador, por isso um teste conclui-se sem qualquer ponto de acesso na sala; o binário compilado liga o par EAP do wpa_supplicant ao cliente RADIUS do hostapd. Remover o switch remove o salto EAPOL, não a lógica de autenticação. O que resta é uma troca cliente-servidor entre dois anfitriões IP.
Siga uma troca RADIUS salto a salto
Siga uma única tentativa e o caminho é curto. O par dentro de eapol_test produz uma EAP-Response para o método que configurou, e o cliente RADIUS no mesmo processo coloca-a numa Access-Request, transportando a carga útil em atributos EAP-Message ao lado de um Message-Authenticator. Esse datagrama é endereçado ao servidor na porta UDP 1812 e sai do anfitrião como qualquer outro pacote IP, e é aí que entra o túnel. O servidor avalia-o segundo a sua política e os seus módulos de métodos, e depois responde com Access-Challenge, Access-Accept ou Access-Reject.
eapol_test -c peap-mschapv2.conf -a 198.51.100.20 -p 1812 \
-s REPLACE_WITH_RADIUS_SECRET -t 30O binário retira o endereço do servidor, a porta e o segredo partilhado da linha de comandos, e o método e as credenciais de um bloco de configuração ao estilo do wpa_supplicant. Nada nessa invocação depende de uma adjacência de camada 2: -a é alcançado por encaminhamento, e basta uma VPN que o encaminhe. Se o túnel descartar o datagrama, o teste falha exatamente como contra um servidor inalcançável numa LAN plana.
O binário e a política do servidor são listas diferentes
Duas listas independentes decidem se um método pode passar, e confundi-las custa um dia. A primeira lista está compilada no binário: a configuração de compilação escolhe que métodos EAP existem, por isso uma compilação sem um método não o pode negociar faça o servidor o que fizer. A segunda lista vive no servidor, onde a política diz quais dos métodos suportados esta classe de clientes pode usar. Passar exige uma interseção, e nenhuma lista pode preencher uma lacuna na outra.
Verifique essa primeira lista antes de culpar o servidor. Procure o nome do método no binário instalado ou leia a configuração de compilação de onde veio. Se o método estiver ausente, recompile em vez de editar a política RADIUS; se estiver presente e a troca continuar a falhar, o problema mudou-se para as credenciais, a política ou a confiança no certificado.
O que uma passagem ainda não cobre
Uma execução bem-sucedida prova um método, para um conjunto de credenciais, contra uma política RADIUS, por um caminho de rede. Não exercita o rádio do ponto de acesso, o tratamento EAPOL de um switch, a atribuição de VLAN que se segue à autenticação, nem a forma como um concentrador VPN se integra no mesmo servidor. Esses componentes nunca estiveram no caminho testado. Trate o resultado como evidência limitada e diga que limite cobre quando o relatar.
O registo útil é o que o servidor e o processo observaram cada um: que método foi negociado, onde a troca parou e o que o servidor registou. Mantenha os segredos partilhados e as chaves privadas fora desse registo.
Lista de verificação antes de citar o resultado
Antes de alguém tratar a saída como uma aprovação, confirme quatro coisas. A compilação inclui o método testado, o ponto final RADIUS e o segredo partilhado pertencem ao ambiente testado, a política do servidor admite esta identidade de teste, e o caminho de rede é da mesma classe que o usado pelos clientes de produção. Depois nomeie o que a execução não tocou: ponto de acesso, switch, VLAN e integração do concentrador precisam cada um da sua própria linha no plano de testes.
Dois testes com dois responsáveis vencem uma aprovação ambígua. A execução de eapol_test responde à pergunta do método e do servidor; o serviço de acesso responde à pergunta da aplicação.