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?
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.