Situação:
Estou tentando fazer com que o 802.1X funcione para mim. Desejo que o servidor RADIUS atribua dinamicamente VLANs às portas com base no atributo de resposta RADIUS para um usuário específico. Eu tenho um switch HP E2620 e um servidor FreeRADIUS. O suplicante é uma máquina Windows 8.1
Eu me referi a este documento no site freeradius.
O que eu fiz até agora:
No FreeRADIUS, criei um usuário com esses parâmetros:
dot1xtest User-Password := "secret"
Tunnel-Type = "VLAN",
Tunnel-Medium-Type = "IEEE-802",
Tunnel-Private-Group-ID = "100"
Também tentei Tunnel-Pvt-Group-ID
, mas ele não funciona no FreeRADIUS, apenas late (eu vi isso em recursos para configurar no Microsoft NPS, um deles ). Também tentei valores "802", 802, 6 para o tipo médio de túnel.
Também tentei usar o nome da VLAN real em vez da VLAN-ID como valor da ID do grupo. De qualquer forma, seu tipo de dados é string.
Configurei o switch HP para usar este servidor RADIUS para AAA e configurei-o para a porta 10:
aaa port-access gvrp-vlans
aaa authentication port-access eap-radius
aaa port-access authenticator 10
aaa port-access authenticator 10 auth-vid 150
aaa port-access authenticator 10 unauth-vid 200
aaa port-access authenticator active
VLANs:
VLAN 100 - VLAN which I want to get after authentication.
VLAN 150 - VLAN which I get now, because my config is not working
VLAN 200 - Unauthorized VLAN which is used on auth. failure
Notas:
Porto 10 também tem VLAN não marcada 150 atribuído a ele:
vlan 150 untagged 10
. E não consigo me livrar da atribuição estáticaTodas as VLANs listadas acima estão presentes no banco de dados de VLAN do switch.
Sempre que eu conecto a essa porta, solicitamos credenciais; depois de ter êxito na autenticação, ele me envia para a VLAN150 e, se eu tentar falhar, chego à VLAN200.
Eu ativei a autenticação 802.1X na conexão do Windows, como descrito aqui .
Tentei ativar o GVRP - isso não muda nada
Saída de diagnóstico / comando show:
Atribuição estática de VLAN para a porta 10. VLAN 150 sem marcação
SW # show vlans ports 10 detail
Status and Counters - VLAN Information - for ports 10
VLAN ID Name | Status Voice Jumbo Mode
------- -------------------------------- + ---------- ----- ----- --------
150 VLAN150 | Port-based No No Untagged
No show logging
que vejo isso:
I 08/28/14 08:29:24 00077 ports: port 10 is now off-line
I 08/28/14 08:29:29 00435 ports: port 10 is Blocked by AAA
I 08/28/14 08:29:29 00435 ports: port 10 is Blocked by STP
I 08/28/14 08:29:29 00076 ports: port 10 is now on-line
I 08/28/14 08:29:29 00001 vlan: VLAN200 virtual LAN enabled
I 08/28/14 08:29:29 00435 ports: port 10 is Blocked by AAA
I 08/28/14 08:29:29 00002 vlan: UNUSED virtual LAN disabled
I 08/28/14 08:29:29 00435 ports: port 10 is Blocked by STP
I 08/28/14 08:29:29 00076 ports: port 10 is now on-line
I 08/28/14 08:29:29 00001 vlan: UNUSED virtual LAN enabled
I 08/28/14 08:29:47 00002 vlan: UNUSED virtual LAN disabled
show port-access authenticator
resultado:
SW # show port-access authenticator
Port Access Authenticator Status
Port-access authenticator activated [No] : Yes
Allow RADIUS-assigned dynamic (GVRP) VLANs [No] : Yes
Auths/ Unauth Untagged Tagged % In RADIUS Cntrl
Port Guests Clients VLAN VLANs Port COS Limit ACL Dir
---- ------- ------- -------- ------ --------- ----- ------ -----
10 1/0 0 150 No No No No both
Teste do usuário RADIUS:
Linux-server # radtest dot1xtest secret localhost 0 secretkey
Sending Access-Request of id 158 to 127.0.0.1 port 1812
User-Name = "dot1xtest"
User-Password = "secret"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=158, length=37
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = 802
Tunnel-Private-Group-Id:0 = "100"
Foi o que vi no TCPdump no servidor RADIUS. Eu estava capturando o tráfego UDP de saída com a porta de origem 1812. É o que meu switch obtém (se realmente, não tenho certeza de como verificar isso ...)
Tunnel Type Attribute (64), length: 6, Value: Tag[Unused]#13
0x0000: 0000 000d
Tunnel Medium Attribute (65), length: 6, Value: Tag[Unused]802
0x0000: 0000 0006
Tunnel Private Group Attribute (81), length: 5, Value: 100
0x0000: 3130 30
Depurar:
debug security radius-server
debug security port-access authenticator
debug destination buffer
Depois disso, desconectei e conectei o cabo e o fiz show debug buffer
e aqui está a cópia e colar dele . É estranho, nada é dito sobre qualquer atributo relacionado à VLAN.
Questões:
O que estou fazendo errado?
Eu li vários recursos que, se o RADIUS atribuir um switch de ID da VLAN, o usará em primeiro lugar. Em seguida, ele volta à VLAN autorizada configurada para o autenticador de acesso à porta, se a autenticação for bem-sucedida. Se isso não estiver presente, ele atribui a VLAN sem etiqueta configurada na porta. Por que não entendo esse comportamento?
Eu meio que começo a pensar que o atributo Tunnel-Private-Group-Id
não é suportado nessas opções. Parece que todo recurso se refere a Tunnel-Pvt-Group-Id
ele (configurando na Microsoft). Pena que não tenho o Windows Server para verificar.
Talvez seja relacionado ao firmware? Ainda não tentei atualizar, eu uso o RA_15_06_0009.swi e já existe o RA_15_14_0007.swi por aí
Atualizar
Apenas tentei em um 3500yl-24G-PWR
modelo e ainda não funciona. Então ... eu acho que os switches simplesmente não obtêm a configuração do servidor RADIUS (ou usei atributos ou operadores incorretos?). Como posso solucionar isso?
fonte
aaa port-access authenticator 10 auth-vid 150
declaração também. IIRC, isso diria ao switch para usar 150 em dispositivos autenticados, a menos que obtenha um valor diferente do RADIUS. Sem isso, suspeito que ele usará apenas o valor da porta configurada. Não estou postando como resposta porque estou trabalhando com pouca memória e muitas vezes falha hoje em dia. Se funcionar, informe-me e postarei como resposta.Respostas:
Alex, Olá!
Eu criei o ambiente de teste para você, então estou usando o freeradius 2.1.12 + dfsg-1.2 (no debian) e mude o hp 2650. Acabei de repetir sua configuração e não tenho problemas com isso. Meu teste procede ip 10.0.10.29, freeradius ip 192.168.2.60.
configuração de aquisição:
/ etc / freeradius / users:
/etc/freeradius/radiusd.conf:
E eu usei este manual para ativar o 8021x no Windows:
Mas desabilitei o uso de usuários registrados.
Portanto, se os creds do usuário estiverem corretos, eu tenho essa mensagem em /var/log/freeradius/radius.log
e no meu switch tenho:
Se os creds estiverem incorretos:
talvez você não tenha ativado o 8021x no Windows? Espero que isso ajude você, cara.
fonte
Uau, eu nunca teria pensado nisso. Foi apenas uma solução aleatória.
Portanto, o problema estava
authorize
na seção nadefault
configuração do meu site em/etc/raddb/sites-enabled/default
, era meio que o padrão. Eu realmente não sei o que há com isso (se vocês, pessoal, sabem, comentam sobre isso, por favor), vão fazer alguma pesquisa sobre isso; Aqui está:Eu comentei isso e substituí por:
Eu não esperava mais fazê-lo funcionar e depois me reconectei e ... aconteceu, apenas aleatoriamente e estou tão animado agora! Eu recebi uma VLAN dinamicamente:
Depurar:
SW # show port-access authenticator 10 vlan
- ainda mostra VLAN não autorizada 200 e VLAN autorizada 150SW # show vlans ports 10 detail
- E a VLAN sem etiqueta na porta 10 foi configurada paraVLAN 100
SW # show port-access authenticator
Além disso, se você quiser que ele funcione, é necessário criar todas as VLANs necessárias no switch, caso contrário, você obterá esse tipo de coisa:
e o Windows dirá apenas: o
Authentication failed
que também é meio confuso.Não consegui fazê-lo funcionar com VLANs desconhecidas, apesar do GVRP estar ativado, ter
aaa port-access gvrp-vlans
sido definido e eu também ter definido explicitamenteunknown-vlans learn
a interface 10, mas tudo bem ... nvm.fonte
Você precisa adicionar o seguinte comando:
aaa port-access authenticator 10 auth-vid 150
Isso indicaria ao switch que a porta 10 usará a VLAN atribuída pelo auth-vid para dispositivos autenticados, a menos que obtenha um valor diferente do RADIUS. Sem isso, ele usará apenas o valor da porta configurada e ignorará todas as atribuições de VLAN fornecidas pelo RADIUS.
Eu pesquisei e encontrei esse boato em um dos meus documentos salvos da HP:
fonte
show logging
oushow port-access authenticator
por exemplo)? Você combinou isso com algumas das outras alterações que você tentou anteriormente? Talvez uma que você descartou fosse necessária, mas estava faltando outra peça também antes de trabalhar.