Situasi:
Saya mencoba membuat 802.1X bekerja untuk saya. Saya ingin server RADIUS secara dinamis menetapkan VLAN ke port berdasarkan pada atribut balasan RADIUS untuk pengguna tertentu. Saya memiliki sakelar HP E2620 dan server FreeRADIUS. Pemohon adalah mesin Windows 8.1
Saya merujuk dokumen ini di situs web freeradius.
Apa yang telah saya lakukan sejauh ini:
Pada FreeRADIUS saya membuat pengguna dengan parameter seperti itu:
dot1xtest User-Password := "secret"
Tunnel-Type = "VLAN",
Tunnel-Medium-Type = "IEEE-802",
Tunnel-Private-Group-ID = "100"
Saya juga mencoba Tunnel-Pvt-Group-ID
sebagai gantinya, tetapi tidak bekerja pada FreeRADIUS, hanya menggonggong pada saya (saya melihat ini pada sumber daya untuk mengkonfigurasi pada Microsoft NPS, salah satunya ). Saya juga mencoba nilai "802", 802, 6 untuk tipe medium tunnel.
Saya juga mencoba menggunakan nama VLAN yang sebenarnya alih-alih VLAN-ID sebagai nilai ID Grup. Bagaimanapun datatype-nya adalah string.
Saya mengkonfigurasi HP switch untuk menggunakan server RADIUS ini untuk AAA dan mengaturnya untuk port 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
VLAN:
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
Catatan:
Port 10 juga memiliki untagged VLAN 150 ditugaskan untuk itu:
vlan 150 untagged 10
. Dan saya tidak bisa menghilangkan tugas statisSemua VLAN yang tercantum di atas hadir dalam basis data VLAN sakelar.
Setiap kali saya mencolokkan port ini, ia meminta kredensial; setelah saya berhasil dengan otentikasi itu hanya mengirim saya ke VLAN150 dan jika saya mencoba gagal saya sampai ke VLAN200.
Saya mengaktifkan otentikasi 802.1X pada koneksi Windows seperti dijelaskan di sini .
Saya mencoba mengaktifkan GVRP - tidak mengubah apa pun
Output perintah diagnostik / pertunjukan:
Penugasan VLAN statis untuk Port 10. VLAN 150 tidak bertanda
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
Dalam show logging
aku melihat ini:
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
keluaran:
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
Tes pengguna 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"
Ini yang saya lihat di TCPdump di server RADIUS. Saya menangkap lalu lintas UDP keluar dengan port sumber 1812. Ini yang saya dapatkan (jika itu benar-benar, tidak yakin bagaimana cara memeriksa itu ...)
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
Debug:
debug security radius-server
debug security port-access authenticator
debug destination buffer
Setelah itu saya mencabut dan menyambungkan kabel dan melakukan show debug buffer
dan di sini adalah copy-paste . Ini aneh, tidak ada yang dikatakan tentang apa pun yang dikaitkan dengan VLAN.
Pertanyaan:
Apa yang saya lakukan salah?
Saya sudah membaca di banyak sumber bahwa jika RADIUS menetapkan saklar VLAN ID menggunakannya di tempat pertama. Kemudian jatuh kembali ke VLAN Resmi yang dikonfigurasi untuk Port-Access Authenticator jika otentikasi berhasil. Jika itu tidak ada, itu memberikan VLAN Tanpa Tag yang dikonfigurasi pada port. Mengapa saya tidak mendapatkan perilaku itu?
Saya agak mulai berpikir atribut Tunnel-Private-Group-Id
tidak didukung pada switch ini. Tampaknya setiap sumber merujuk Tunnel-Pvt-Group-Id
sebagai gantinya (mengkonfigurasi pada Microsoft). Sayang sekali saya tidak punya Windows Server untuk diperiksa.
Mungkin itu terkait firmware? Belum mencoba memutakhirkan, saya menggunakan RA_15_06_0009.swi dan ada RA_15_14_0007.swi sudah ada di sana
Memperbarui
Baru saja mencoba 3500yl-24G-PWR
model dan tetap tidak berhasil. Jadi .. Saya kira, switch tidak mendapatkan konfigurasi dari server RADIUS (atau apakah saya menggunakan atribut atau operator yang salah?). Bagaimana saya bisa memecahkan masalah itu?
aaa port-access authenticator 10 auth-vid 150
pernyataan juga. IIRC, ini akan memberitahu saklar untuk menggunakan 150 untuk perangkat terotentikasi kecuali mendapat nilai yang berbeda dari RADIUS. Tanpa ini, saya menduga itu hanya akan menggunakan nilai port yang dikonfigurasi. Tidak memposting sebagai jawaban karena saya bekerja dari memori dan sering gagal saat ini. Jika berhasil, beri tahu saya dan saya akan posting sebagai jawaban.