Autentizace bezdrátových klientů jejich přiřazování do VLAN podle databáze FreeRADIUS Petr Grygárek, RCNA VŠB-TU Ostrava
Cisco Aironet 1100 (RADIUS klient) DHCP server (VLAN2) DHCP server (VLAN3) RADIUS server (VLAN 1)
DHCP server (VLAN 1)
SSID JEDNA (bcast) SSID DVE SSID TRI
Linux server
Stanice
Situace Přístupový bod WiFi je připojen trunk linkou do pevné struktury přepínačů, ke kterém je v jiném místě trunk linkou připojen také Linuxový router, který hostuje DHCP servery pro jednotlivé VLAN a také RADIUS server. Management rozhraní přístupového bodu spadá spolu s RADIUS serverem do společné VLAN (VLAN 1). Pro VLAN 1 je DHCP server zprovozněn přímo na přístupovém bodu. Autentizace bezdrátových klientů probíhá podle MAC adres a klienty lze v rámci ní také explicitně přiřazovat do VLAN. Adresování: VLAN1: 1.0.0.0/24, Linux router 1.0.0.1, AP Management 1.0.0.2, DHCP pool 1.0.0.3-.250 VLAN2: 2.0.0.0/24, Linux router 2.0.0.1, DHCP pool 2.0.0.2-.250 VLAN3: 3.0.0.0/24, Linux router 3.0.0.1, DHCP pool 3.0.0.2-.250
Konfigurace přístupového bodu Vyjděte z implicitní konfigurace, při níž je aktivována základní podpora IRB (Integrated Routing and Bridging). Nejprve nakonfigurujte IP adresu na virtuální rozhraní BVI1, které bude sloužit jednak pro management a jednak z něj bude AP odesílat dotazy na RADIUS server: interface BVI 1 ip address 10.0.0.2 255.255.255.224 Dále nakonfigurujte IP adresu RADIUS serveru, porty pro autorizaci a accounting a příslušný šifrovací klíč pro přenos autentizačních dotazů a odpovědí. Klíč můžete vložit v nezašifrované formě (úroveň 7). Dále nadefinujeme způsob autentizace pro přístup do sítě pojmenovaný MACLIST, který bude ověřovat právo přístupu u serveru RADIUS:
aaa new-model radius-server host 10.0.0.2 auth-port 1812 acct-port 1813 radius-server key 7 MUJKLIC aaa authentication login MAC-LIST group radius Dále je třeba na přístupovém bodu nakonfigurovat subinterfaces pro jednotlivé VLAN. na přípojce do pevné struktury. Na VLAN 1 bude nativní enkapsulace. interface FastEthernet0.1 encapsulation dot1Q 1 native ! interface FastEthernet0.2 encapsulation dot1Q 2 ! interface FastEthernet0.3 encapsulation dot1Q 3 Analogické subinterfaces pro jednotlivé VLAN musí být nakonfigurovány i na rádiovém rozhraní: interface Dot11Radio0.1 encapsulation dot1Q 1 native interface Dot11Radio0.2 encapsulation dot1Q 2 interface Dot11Radio0.3 encapsulation dot1Q 3 Pomocí samostatných bridge groups přemostěte každou dvojici vzájemně si odpovídajících subinterfaces (rádiového a pevného): interface FastEthernet0.1 bridge-group 1 interface Dot11Radio0.1 bridge-group 1 interface FastEthernet0.2 bridge-group 2 interface Dot11Radio0.2 bridge-group 2 interface FastEthernet0.3 bridge-group 3 interface Dot11Radio0.3 bridge-group 3 Všimněte si, že čísla subinterfaces na rádiovém a Ethernet rozhraní se shodují vzájemně a s čísly použitých VLAN jen pro přehlednost – obecně mohou být vzájemně různá, pokud dodržíme správné seskupení do bridge groups a nastavení čísel VLAN příkazem encapsulation dot1Q
Dále nakonfigurujeme na rozhraní Dot11Radio0 tři SSID a u každého z nich určíme způsob autentizace jako otevřený s testováním MAC adresy přistupujícího klienta způsobem definovaným ve dříve definované autentizační metodě MAC-LIST. U každého SSID dále určíme VLAN, do něhož se budou implicitně přiřazovat stanice asiociované s tímto SSID (pokud pro ně RADIUS server nevrátí číslo VLAN explicitně formou volitelného atributu – v tomto případě bude klient přiřazen do příslušné VLAN bez ohledu na to, přes které SSID do sítě vstoupil). SSID JEDNA bude navíc na rádiovém rozhraní propagován broadcastem (příkaz guest-mode). interface Dot11Radio 0 ssid JEDNA vlan 1 authentication open mac-address MAC-LIST guest-mode ssid DVA vlan 2 authentication open mac-address MAC-LIST ssid TRI vlan 3 authentication open mac-address MAC-LIST Nakonec nakonfigurujte DHCP server, který bude přiřazovat IP adresy bezdrátovým klientům ve VLAN1 ip dhcp pool MYPOOL network 1.0.0.0 255.255.255.0 default-router 1.0.0.1 ip dhcp excluded-address 1.0.0.1 ip dhcp excluded-address 1.0.0.2
Konfigurace VLAN a směrování na Linux routeru Linux router musí mít síťovou kartu podporující 802.1q (prodloužené rámce) a zakompilovánu podporu 802.1q v jádře OS (nejlépe formou modulu 8021q). Dále musí být nainstalována utilita vconfig. Pomocí vconfig vytvořte na rozhraní eth0 logická síťová rozhraní svázáná s jednotlivými VLAN (logická rozhraní vytvořená utilitou vconfig se standardně pojmenovávají podle schematu ethX.V, kde X je číslo Ethernet rozhraní a V číslo VLAN) vconfig add eth0 2 vconfig add eth0 3 Pro VLAN 1 bude využito rozhraní eth0 jako takového a rámce na ní nebudou obsahovat hlavičku 802.1q. Dále pro jednotlivá logická rozhraní nastavte hodnotu příznaku REORDER_HDR (kód příznaku 1), aby se přicházajících rámců odstraňovala hlavička 802.1q. To je nutné pro kompatibilitu s DHCP serverem. vconfig set_flag eth0.2 REORDER_HDR 1 vconfig set_flag eth0.2 REORDER_HDR 2
Přiřazení jednotlivých logických rozhraní k VLAN si můžete ověřit výpisem pseudosouboru /proc/net/vlan/config, statistiky provozu na jednotlivých rozhraních pak výpisem pseudosouboru /proc/net/vlan/
, kde je jméno příslušného logického rozhraní. Z výpisu se dozvíme číslo asociované VLAN, nastavení příznaků a počty rámců přijatých a vyslaných na logickém rozhraní. Na jednotlivá logická rozhraní nakonfigurujeme obvyklým způsobem IP adresy: ifconfig eth0 1.0.0.1 netmask 255.255.255.0 ifconfig eth0.2 2.0.0.1 netmask 255.255.255.0 ifconfig eth0.3 3.0.0.1 netmask 255.255.255.0 Dále musíme povolit směrování paketů mezi rozhraními: echo 1 > /proc/sys/net/ipv4/ip_forward
Konfigurace DHCP serverů na Linux routeru Ve funkci DHCP serveru pro VLAN 2 a VLAN 3 použijeme démona dhcpd. Konfigurační soubor dhcpd.conf bude vypadat takto: subnet 2.0.0.0 netmask 255.255.255.0 { range 2.0.0.2 2.0.0.250; option subnet-mask 255.255.255.0; option broadcast-address 2.0.0.255; option routers 2.0.0.1; } subnet 3.0.0.0 netmask 255.255.255.0 { range 3.0.0.2 3.0.0.250; option subnet-mask 255.255.255.0; option broadcast-address 3.0.0.255; option routers 3.0.0.1; }
Konfigurace RADIUS serveru Jako RADIUS server použijte volně dostupného serveru FreeRADIUS v implementaci pro OS Linux. Serveru FreeRADIUS nejprve musíme sdělit, kteří RADIUS klienti jsou oprávněni posílat na něj dotazy a nakonfigurovat šifrovací klíč sdílený s každým RADIUS klientem. V našem případě bude RADIUS klientem přístupový bod. Do souboru /etc/freeradius/clients.conf dopíšeme client 10.0.0.2 { secret = MUJKLIC shortname = mojeAP nastype = cisco }
Dále musíme v souboru /etc/freeradius/users nakonfigurovat seznam stanic (MAC adres), které mají být do sítě vpuštěny. Formát jednotlivých položek je zřejmý z následujícího příkladu pro stanici s MAC adresou 00012481618f: 00012481618f Auth-Type := Local, User-Password == "00012481618f“ U každé z položek můžeme volitelně uvést, do které VLAN má být stanice přiřazena. Atributy, které je třeba pro přiřazení do VLAN nastavit, lze nalézt v dokumentaci příslušného modelu přístupového bodu. Cisco Aironet 1100 vyžaduje k autentizační odpovědi pro přiřazení do VLAN připojit IETF atributy číslo 64, 65 a 66 takto: Atribut IETF 64 (Tunnel Type) : VLAN (13) Atribut IETF 65 (Tunnel Medium Type): IEEE 802 (6) Atribut IETF 81 (Tunnel Private Group ID): VLAN-ID Pro přiřazení výše uvedené stanice např. do VLAN 2 tedy modifikujeme přechozí položku takto: 00012481618f Auth-Type := Local, User-Password == "00012481618f“ Tunnel-Type:1 = 13, Tunnel-Medium-Type:1 = 6, Tunnel-Private-Group-Id:1 = 2 Poznámka: Při vytváření souboru users je třeba dát pozor na nepříjemný fakt, že různí výrobci a různé modely RADIUS klientů zasílají MAC adresu v různém formátu a jako heslo zasílají různé údaje. Uvedený formát zápisu je platný pro Cisco Aironet 1100. Po vytvoření všech konfiguračních souborů je třeba FreeRADIUS restartovat (obvykle příkazem /etc/init.d/freeradius restart ). Úspěšný start a načtení konfiguračních souborů je dobré ověřit pohledem do log souboru /var/log/freeradius/radius.log.
Konfigurace klienta Uživatel se může asociovat s přístupovým bodem s použitím libovolného na něm nakonfigurovného SSID. Přístupový bod autentizuje každou stanici podle MAC adresy u RADIUS serveru. RADIUS server přístup do sítě povolí nebo zamítne a navíc může poslat volitelný atribut přiřazující MAC adresu daného uživatele do VLAN. Pokud RADIUS server MAC adresu do VLAN nepřiřadí, zůstane stanice ve VLAN svázaném se SSID, přes který se přihlásil. Uživatel bezdrátové stanice, jejíž MAC adresy není v databázi RADIUS serveru explicitně přiřazena VLAN, tak může volbou SSID přistoupit do VLAN podle své volby. Pokud je však k jeho adrese VLAN v databázi definována, je přeřazen do příslušné VLAN bez ohledu na to, přes které SSID do sítě vstoupil. Stanice, jejichž MAC adresy v databázi RADIUS serveru nejsou uvedeny, nejsou do sítě vpuštěny vůbec.
Sledování funkce Pro odladění a sledování funkce nakonfigurované sítě je možné –
démony dhcpd spustit s parametrem -d, freeradius s parametrem -x. Tím zajistíme běh démonů na popředí a výpis debugovacích informací o vyřizovaných požadavcích na standardní výstup.
–
na přístupovém bodu použít příkazy debug radius pro sledování zpráv protokolu RADIUS a příkaz show radius statistics pro zjištění statistik komunikace na protokolu RADIUS.
–
Číslo VLAN, do které byla rádiová stanice přiřazena, můžeme ověřit příkazem show dot11 associations all-client.