URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 19307
[ Назад ]

Исходное сообщение
"Cisco 802.1x + freeradius + dynamic port assignment"

Отправлено vlakas , 21-Июл-09 12:13 
Доброго времени суток.

Есть Freeradius 2.1.6 on Debian Lenny, Cisco Catalyst 2950, Win XP Home как supplicant. Надо на этом добре поднять 802.1x таким образом, чтобы при аутентификации пользователь в соответствии со своим логином и паролем попадал в нужный ему VLAN.

Аутентификация пользователей на Win XP Home (как ни странно но у хомяка есть 802.1x supplicant; к сожалению другой винды с поддержкой данного стандарта нет) проходит нормально и порт переходит в состояние "UP". Только вот остается в 1-м VLAN.

Версия IOS:

sw-1#sh version
Cisco Internetwork Operating System Software
IOS ™ C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA6, RELEASE SOFTWARE (fc1)
Copyright © 1986-2005 by cisco Systems, Inc.
Compiled Fri 21-Oct-05 01:59 by yenanh
Image text-base: 0x80010000, data-base: 0x80568000

ROM: Bootstrap program is C2950 boot loader

sw-1 uptime is 39 minutes
System returned to ROM by power-on
System image file is "flash:/c2950-i6q4l2-mz.121-22.EA6.bin"

cisco WS-C2950G-24-EI-DC (RC32300) processor (revision L0) with 21013K bytes of memory.
Processor board ID FOC1007Y0VV
Last reset from system-reset
Running Enhanced Image
24 FastEthernet/IEEE 802.3 interface(s)
2 Gigabit Ethernet/IEEE 802.3 interface(s)

32K bytes of flash-simulated non-volatile configuration memory.
Base ethernet MAC Address: 00:17:0E:D6:3F:40
Motherboard assembly number: 73-7411-05
Power supply part number: 34-1677-01
Motherboard serial number: FOC10071WMM
Power supply serial number: DAB09510A3U
Model revision number: L0
Motherboard revision number: A0
Model number: WS-C2950G-24-EI-DC
System serial number: FOC1007Y0VV
Configuration register is 0xF


Из манов кашководов:

To configure VLAN assignment you need to perform these tasks:
• Enable authentication, authorization, and accounting (AAA) authorization.
• Enable IEEE 802.1x authentication (the VLAN assignment feature is automatically enabled when
you configure IEEE 802.1x authentication on an access port).
• Assign vendor-specific tunnel attributes in the RADIUS server. The RADIUS server must return
these attributes to the switch:
– [64] Tunnel-Type = VLAN
– [65] Tunnel-Medium-Type = IEEE 802
– [81] Tunnel-Private-Group-ID = VLAN name or VLAN ID
Attribute [64] must contain the value VLAN (type 13). Attribute [65] must contain the value
IEEE 802 (type 6). Attribute [81] specifies the VLAN name or VLAN ID assigned to the
IEEE 802.1x-authenticated user.


This example shows how to specify an authorized VLAN in the RADIUS server database:
cisco-avpair= ”tunnel-type(#64)=VLAN(13)”
cisco-avpair= ”tunnel-medium-type(#65)=802 media(6)”
cisco-avpair= ”tunnel-private-group-ID(#81)=vlanid”

Конфигурация Cisco:

sh run
Building configuration...

Current configuration : 2079 bytes
!
version 12.1
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname sw-1
!
aaa new-model
aaa group server radius myradius
server 10.0.0.101 auth-port 1812 acct-port 1813
!
aaa authentication login default group myradius local
aaa authentication enable default group myradius enable
aaa authentication dot1x default group myradius local
enable secret 5 $1$MO.u$AFBnnSHdM1h8p6D8.rkPJ0
!
username enable secret 5 $1$ziOU$KGZYwClC71P8oQF9zOSc7.
username localuser1 privilege 5 secret 5 $1$AG84$/588WvRr2DQntTWbffWuJ/
username localuser2 privilege 5 secret 5 $1$SfED$AChgcdrnUnO.k0hh57Gcc.
username localadmin privilege 15 secret 5 $1$7PR3$vHBECst3LgFm8YeS.5iU41
ip subnet-zero
!
!
spanning-tree mode pvst
no spanning-tree optimize bpdu transmission
spanning-tree extend system-id
dot1x system-auth-control
!
!
!
!
interface FastEthernet0/1
!
interface FastEthernet0/2
switchport access vlan 100
switchport mode access
!
interface FastEthernet0/3
switchport mode access
dot1x port-control auto
dot1x reauthentication
spanning-tree portfast

interface FastEthernet0/4
!
interface FastEthernet0/5
!
interface FastEthernet0/6
!
interface FastEthernet0/7
!
interface FastEthernet0/8
!
interface FastEthernet0/9
!
interface FastEthernet0/10
!
interface FastEthernet0/11
!
interface FastEthernet0/12
!
interface FastEthernet0/13
!
interface FastEthernet0/14
!
interface FastEthernet0/15
!
interface FastEthernet0/16
!
interface FastEthernet0/17
!
interface FastEthernet0/18
!
interface FastEthernet0/19
!
interface FastEthernet0/20
!
interface FastEthernet0/21
!
interface FastEthernet0/22
!
interface FastEthernet0/23
!
interface FastEthernet0/24
!
interface GigabitEthernet0/1
!
interface GigabitEthernet0/2
!
interface Vlan1
no ip address
no ip route-cache
shutdown
!
interface Vlan100
ip address 10.0.0.1 255.255.255.0
no ip route-cache
!
ip http server
radius-server host 10.0.0.101 auth-port 1812 acct-port 1813
radius-server retransmit 3
radius-server key test8021x
!
line con 0
line vty 5 15
!
!
end

Конфиг пользователей freeradius:

/usr/etc/raddb/users

...
user1 Cleartext-Password := "test8021x"
cisco-avpair = "tunnel-type=VLAN",
cisco-avpair = "tunnel-medium-type=802 media",
cisco-avpair = "tunnel-private-group-id=100"
...


Поскольку RADIUS работает нормально, прочих конфигов не привожу.

Спасибо


Содержание

Сообщения в этом обсуждении
"Cisco 802.1x + freeradius + dynamic port assignment"
Отправлено Николай , 21-Июл-09 12:33 
респект за проделаную работу
добавь на свитч команды
vmps domain XXXX
vmps mode open
.....
vmps-mac-addrs

address ТВОЙ МАК vlan-name ТВОЙ ВЛАН


отпишись если помогло задачка вериться аналогичная :)


"Cisco 802.1x + freeradius + dynamic port assignment"
Отправлено vlakas , 21-Июл-09 13:49 
>[оверквотинг удален]
>добавь на свитч команды
>vmps domain XXXX
>vmps mode open
>.....
>vmps-mac-addrs
>
>address ТВОЙ МАК vlan-name ТВОЙ ВЛАН
>
>
>отпишись если помогло задачка вериться аналогичная :)

Мануал:

The IEEE 802.1x authentication with VLAN assignment feature is not supported on trunk ports, dynamic
ports, or with dynamic-access port assignment through a VLAN Membership Policy Server (VMPS).


Конечно, VMPS покрутить будет интересно, но по идее можно динамическую привязку vlan-ов сделать именно средствами 802.1x: с помощью записей радиуса происходит аутентификация пользователей и в ответ на удачную аутентификацию радиус передает аутентификатору (в данном случае коммутатор) ряд атрибутов, которые говорят о принадлежности данного порта к определенному VLAN.

Мануал:

You can limit network access for certain users by using VLAN assignment. After successful
IEEE 802.1x authentication of a port, the RADIUS server sends the VLAN assignment to configure the
switch port. The RADIUS server database maintains the username-to-VLAN mappings, assigning the
VLAN based on the username of the client connected to the switch port.

с guest-vlan (# dot1x guest-vlan vid) у меня прокатывает. Если аутнтификация не проходит, то порт помещается в vid vlan


"Cisco 802.1x + freeradius + dynamic port assignment"
Отправлено Ночной админ , 21-Июл-09 14:10 
>[оверквотинг удален]
>
>/usr/etc/raddb/users
>
>...
>user1 Cleartext-Password := "test8021x"
>cisco-avpair = "tunnel-type=VLAN",
>cisco-avpair = "tunnel-medium-type=802 media",
>cisco-avpair = "tunnel-private-group-id=100"
>...
>

А если попробовать так ?
Tunnel-Type = 13,
Tunnel-Medium-Type = 6,
Tunnel-Private-Group-Id = 666


"Cisco 802.1x + freeradius + dynamic port assignment"
Отправлено vlakas , 21-Июл-09 14:56 
>[оверквотинг удален]
>>cisco-avpair = "tunnel-type=VLAN",
>>cisco-avpair = "tunnel-medium-type=802 media",
>>cisco-avpair = "tunnel-private-group-id=100"
>>...
>>
>
>А если попробовать так ?
>Tunnel-Type = 13,
>Tunnel-Medium-Type = 6,
>Tunnel-Private-Group-Id = 666

Не пашет 8-|


"Cisco 802.1x + freeradius + dynamic port assignment"
Отправлено vlakas , 21-Июл-09 16:44 
>[оверквотинг удален]
>>cisco-avpair = "tunnel-type=VLAN",
>>cisco-avpair = "tunnel-medium-type=802 media",
>>cisco-avpair = "tunnel-private-group-id=100"
>>...
>>
>
>А если попробовать так ?
>Tunnel-Type = 13,
>Tunnel-Medium-Type = 6,
>Tunnel-Private-Group-Id = 666

Вот что debug radius на циско выводит:

05:38:22:         Attribute 64 6 0000000D            (собственно 13, что и надо)
05:38:22:         Attribute 65 6 00000006            (собственно 6, что и надо)
05:38:22:         Attribute 81 10 3130304F           (значение "100"; тут не знаю, вроде бы ID отсылается как текст, а не как число)


"Cisco 802.1x + freeradius + dynamic port assignment"
Отправлено vlakas , 30-Июл-09 14:49 
>[оверквотинг удален]
>user1 Cleartext-Password := "test8021x"
>cisco-avpair = "tunnel-type=VLAN",
>cisco-avpair = "tunnel-medium-type=802 media",
>cisco-avpair = "tunnel-private-group-id=100"
>...
>
>
>Поскольку RADIUS работает нормально, прочих конфигов не привожу.
>
>Спасибо

Заработало.

Что было сделано:

1. Обновление прошивки коммутатора:

sw-1#sh ver
Cisco Internetwork Operating System Software
IOS ™ C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA6, RELEASE SOFTWARE (fc1)
Copyright © 1986-2005 by cisco Systems, Inc.
Compiled Fri 21-Oct-05 01:59 by yenanh
Image text-base: 0x80010000, data-base: 0x80568000

ROM: Bootstrap program is C2950 boot loader

sw-1 uptime is 1 hour, 6 minutes
System returned to ROM by power-on
System image file is "flash:/c2950-i6q4l2-mz.121-22.EA6.bin"

cisco WS-C2950G-24-EI-DC (RC32300) processor (revision L0) with 21013K bytes of memory.
Processor board ID FOC1007Y0VV
Last reset from system-reset
Running Enhanced Image
24 FastEthernet/IEEE 802.3 interface(s)
2 Gigabit Ethernet/IEEE 802.3 interface(s)

32K bytes of flash-simulated non-volatile configuration memory.
Base ethernet MAC Address: 00:17:0E:D6:3F:40
Motherboard assembly number: 73-7411-05
Power supply part number: 34-1677-01
Motherboard serial number: FOC10071WMM
Power supply serial number: DAB09510A3U
Model revision number: L0
Motherboard revision number: A0
Model number: WS-C2950G-24-EI-DC
System serial number: FOC1007Y0VV
Configuration register is 0xF


2. /usr/etc/raddb/users принимает примерно такой вид:

user1 Cleartext-Password := "test8021x1"
Tunnel-Type:1 = VLAN,
Tunnel-Medium-Type:1 = IEEE-802,
Tunnel-Private-Group-ID:1 = "100"

3. И не забываем прописать на коммутаторе следующее:

# aaa authentication network default group radius


"Cisco 802.1x + freeradius + dynamic port assignment"
Отправлено vlakas , 30-Июл-09 19:03 
>[оверквотинг удален]
>2. /usr/etc/raddb/users принимает примерно такой вид:
>
>user1 Cleartext-Password := "test8021x1"
>Tunnel-Type:1 = VLAN,
>Tunnel-Medium-Type:1 = IEEE-802,
>Tunnel-Private-Group-ID:1 = "100"
>
>3. И не забываем прописать на коммутаторе следующее:
>
># aaa authentication network default group radius

+ еще забыл:

/usr/etc/raddb/eap.conf

peap {
   ...
   use_tunneled_reply = yes
   ...
}