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?
sumber
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.Jawaban:
Alex, tolonglah di sana!
Saya telah membangun lingkungan pengujian untuk Anda, jadi saya menggunakan freeradius 2.1.12 + dfsg-1.2 (pada debian), dan ganti hp 2650. Saya baru saja mengulangi konfigurasi Anda, dan tidak memiliki masalah dengan ini. Uji saya mendapatkan ip 10.0.10.29, tes freeradius ip 192.168.2.60.
konfigurasi confurve:
/ etc / freeradius / pengguna:
/etc/freeradius/radiusd.conf:
Dan saya sudah menggunakan manual ini, untuk mengaktifkan 8021x di windows:
Tapi, saya sudah menonaktifkan penggunaan kredit pengguna yang dicatat.
Jadi, jika kredit pengguna benar, saya punya pesan ini di /var/log/freeradius/radius.log
dan pada ive switch saya mendapat:
Jika kredit salah:
mungkin Anda belum mengaktifkan 8021x di windows? Saya harap ini membantu Anda.
sumber
Wow, saya tidak akan pernah memikirkan yang satu ini. Itu hanya solusi acak.
Jadi, masalahnya adalah pada
authorize
bagian dalamdefault
konfigurasi situs saya di/etc/raddb/sites-enabled/default
, itu agak standar. Saya tidak benar-benar tahu ada apa dengan itu (jika Anda, kawan, tahu, mengomentari itu, tolong), akan melakukan penelitian tentang itu; ini dia:Saya berkomentar dan diganti hanya dengan:
Saya tidak berharap lagi untuk membuatnya bekerja dan kemudian saya menghubungkan kembali dan ... itu terjadi, hanya secara acak dan saya sangat bersemangat sekarang! Saya mendapatkan VLAN secara dinamis:
Debug:
SW # show port-access authenticator 10 vlan
- masih menampilkan VLAN 200 Tidak Resmi dan VLAN Resmi 150SW # show vlans ports 10 detail
- Dan VLAN yang tidak ditandai pada port 10 diatur keVLAN 100
SW # show port-access authenticator
Juga, jika Anda ingin itu berfungsi, Anda harus membuat semua VLAN yang diperlukan pada switch, jika tidak, Anda akan mendapatkan hal-hal semacam ini:
dan Windows hanya akan mengatakan:
Authentication failed
yang agak membingungkan juga.Tidak cukup untuk membuatnya bekerja dengan VLAN yang tidak dikenal meskipun GVRP diaktifkan,
aaa port-access gvrp-vlans
telah ditetapkan dan saya juga secara eksplisit diaturunknown-vlans learn
pada antarmuka 10, tapi oh well ... nvm.sumber
Anda perlu menambahkan perintah berikut:
aaa port-access authenticator 10 auth-vid 150
Ini akan memberi tahu saklar bahwa port 10 akan menggunakan VLAN yang ditetapkan auth-vid untuk perangkat yang diotentikasi kecuali jika mendapat nilai yang berbeda dari RADIUS. Tanpa ini, itu hanya akan menggunakan nilai port yang dikonfigurasi dan mengabaikan tugas VLAN yang disediakan RADIUS.
Saya melakukan penggalian dan menemukan berita gembira ini di salah satu dokumen HP saya yang tersimpan:
sumber
show logging
ataushow port-access authenticator
misalnya)? Sudahkah Anda menggabungkan ini dengan beberapa perubahan lain yang telah Anda coba sebelumnya? Mungkin salah satu yang Anda singkirkan diperlukan, tetapi kehilangan bagian lain juga sebelum bekerja.