How to setup secure 802.1x WPA2 enterprise wireless lan on a linksys WRT54G / GS Revision 4
This article is in german, but I am going to make a translated english version available soon. Thanks to Volker -cosrahn- Henze for writing this great how-to.
Für Feedback und/oder Fragen bitte die Kommentarfunktion verwenden.
Dieses Howto ist ein bischen anders als andere. Es ist ein “Monolitisches” Howto. Wir haben sozusagen einen Snapshot des, bis dato, aktuellen OpenWRT auf unseren Server gezogen und werden damit das gesamte System aufbauen. Es wird keine Updates geben. Das ist natürlich nicht gut aber wir haben diesen Ansatz gewählt um ein Howto zu realisieren bei dem keine Fragen offen bleiben. Also wenn Du es GENAU so machst wie wir hier, solltest Du danach einen wunderschönen Linksys haben der dir einen sicheren und komfortablen Weg bietet dein WLAN vor Unbefugten zu schützen aber trotzdem schnell und einfach Freunden, Bekannten und Nachbarn den Zugriff zu gewähren oder wieder zu enziehen. Warum kein Customized-Image? Wir müssten es testen und dazu felht einfach die Zeit und die Hardware. Aber ich denke das wir demnächst evtl. solch ein Image bauen werden. Allerdings hat solch ein Howto auch den Vorteil das ihr wisst was in eurem Linksys steckt und nicht einfach sagt “Ich glaub der Klumpen da in der Ecke macht das...” Gut dann viel Spass!
Linksys auspacken. Die Warnung “Zuerst CD laufen lassen, dann die Kabel anschließen.” kann man getrost überlesen. Und steckt nun das beiliegende Kabel an den Port 1 und an einen beliebigen Rechner. Nun bekommt man eine IP (192.168.1.100), die IP des Linksys ist die 192.168.1.1 also mit http://192.168.1.1 in deinem Browser kommst Du auf das Webinterface. Login: admin und Passwort: admin
Die Logindaten sollten auch auf der beiliegenden Dokumentations-CD zu finden sein.
So sieht das Webfrontend von Linksys aus. Nach dem Flashen wir der Linksys kein Webfrontend haben. Man kann allerdings eines Nachinstallieren. Aber dies ist ein anderes Howto...
!!!!!!!!!! ACHTUNG nun wirds heiß !!!!!!!!!! Überprüfe unbedingt noch einmal ob nicht doch ein Stromausfall angekündigt wurde oder der Nachbar versucht mit dem Föhn baden zu gehen. Ein Stromausfall wäre fatal für den Linksys.
Nun ist es soweit. Wenn alles geklappt hat kannst du dich per telnet einloggen.
root@OpenWrt:~# telnet 192.168.1.1 Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is ‘^]’.
Use 'passwd' to set your login password
this will disable telnet and enable SSH
——————————————
BusyBox v1.00 (2006.03.27-00:00+0000) Built-in shell (ash) Enter ‘help’ for a list of built-in commands.
_______ ________ __
| |.—–.—–.—–.| | | |.—-.| |_ | - || _ | -| || | | || _|| _|
|_|| |_||||||| ||
|__| W I R E L E S S F R E E D O M
WHITE RUSSIAN (RC5) ——————————-
2 oz Vodka Mix the Vodka and Kahlua together
1 oz Kahlua over ice, then float the cream or
1/2oz cream milk on the top.
————————————————— root@OpenWrt:/#
Nach dem einloggen erstmal ein Reset da die Dateisysteme noch read-only sind:
root@OpenWrt:~# reboot
Nach diesem Reboot kann man sich wieder einloggen. Als erstes muss ein neues Passwort gesetzt werden:
root@OpenWrt:~# telnet 192.168.1.1 root@OpenWrt:~# passwd Changing password for root Enter the new password (minimum of 5 characters) Please use a combination of upper and lower case letters and numbers. Enter new password: Re-enter new password: Password changed.
Nun loggen wir uns wieder aus, da Telnet nicht besonders sicher ist und jeder mitlesen könnte was wir eingeben.
root@OpenWrt:~# exit volker@buran ~ $ ssh root@192.168.1.1 root@192.168.1.1’s password:
BusyBox v1.00 (2005.07.18-21:49+0000) Built-in shell (ash) Enter ‘help’ for a list of built-in commands.
_______ ________ __
| |.—–.—–.—–.| | | |.—-.| |_ | - || _ | -| || | | || _|| _|
|_|| |_||||||| ||
|__| W I R E L E S S F R E E D O M
WHITE RUSSIAN (RC2) ——————————-
2 oz Vodka Mix the Vodka and Kahlua together
1 oz Kahlua over ice, then float the cream or
1/2oz cream milk on the top.
————————————————— root@OpenWrt:~#
INTERNET
Nun sollte man sich um Internet kümmern. Dies ist aber nicht Teil dieses How-To da es da einfach sehr viele Möglichkeiten gibt einen Linksys mit dem Internet zu verbinden. Deshalb die, meiner Meinung nach, zwei gängigsten hier und noch mehr Infos dazu gibt es hier.
FeM-Net oder andere größere LANs
Hier die Vorgehensweise wenn ihr das Gerät an einem größeren LAN wie dem FeM-Net betreiben wollt. Bitte achtet darauf das der Internet-Port(das ist der der ein Stückchen weiter weg ist on den anderen) des Linksys mit dem LAN verbunden ist. ACHTUNG wenn ihr einen anderen Port mit dem FeM-Net verbindet wird euer FeM-Net-Port deaktiviert.
Jetzt braucht ihr die MAC-Adresse des Linksys um ihn im FeM-Net freizuschalten. Das ist ganz einfach.
root@OpenWrt:~# ifconfig vlan1 vlan1 Link encap:Ethernet HWaddr 00:14:BF:CA:FE:01
inet6 addr: fe80::214:bfff:feca:fe01/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 MiB) TX bytes:0 (0.0 MiB)
root@OpenWrt:~#
Bei unserem Gerät wäre die MAC-Adresse “00:14:BF:CA:FE:01”.
DSL und ISP
Das ist leicht. Einfach ein paar NVRAM Variablen setzen und das DSL-Modem an den WAN-Port des Linksys stecken.
nvram set wan_ifname=ppp0 nvram set wan_proto=pppoe nvram set ppp_idletime=10 nvram set ppp_mtu=1492 nvram set ppp_passwd= nvram set ppp_redialperiod=15 nvram set ppp_username= nvram set pppoe_ifname=vlan1 nvram commit
Wenn du fertig bist schalte das WAN-Interface ein mit:
ifup wan
SOFTWAREPAKETE NACHINSTALLIEREN
Jetzt machen wir erstmal ein Update der Softwarepakete. Wir stellen eine Packet-Sammlung bereit um sicherzustellen das alles genauso funktioniert wie wir es beschrieben haben. Das heißt aber nicht das diese Howto auch nicht mit späteren Versionen funktionieren wird.
root@OpenWrt:~# cp /etc/ipkg.conf /etc/ipkg.conf.old root@OpenWrt:~# vi /etc/ipkg.conf * Taste “i” drücken (Insert-Modus) * nun die folgenden Einträge ändern von src whiterussian http://downloads.openwrt.org/whiterussian/packages src non-free http://downloads.openwrt.org/whiterussian/packages/non-free nach src whiterussian http://www.technology-ninja.com/whiterussian/packages src non-free http://www.technology-ninja.com/whiterussian/packages/non-free den Rest lassen wir einfach so * Taste “Esc” drücken (Kommando-Modus) :wq root@OpenWrt:~#
Jetzt kann man mit einem ipkg update die Paket-Informationen holen.
root@OpenWrt:~# ipkg update Downloading http://www.technology-ninja.com/whiterussian/packages/Packages ... Connecting to www.technology-ninja.com[141.24.190.9]:80 Packages 100% ||
121 KB 00:00 ETA
Done.
Updated list of available packages in /usr/lib/ipkg/lists/whiterussian
Downloading
http://www.technology-ninja.com/whiterussian/packages/non-free/Packages ...
Connecting to www.technology-ninja.com[141.24.190.9]:80
Packages 100% ||
568 00:00 ETA
Done. Updated list of available packages in /usr/lib/ipkg/lists/non-free
INSTALLIEREN DES NTP-CLIENT
Dieser Schritt ist wichtig da ihr mit diesem Tool den Linksys mit der Zeit im Internet syncronisieren müsst. Der Linksys besitzt keine Pufferbatterie und kann seine Zeit nicht zwischenspeichern. Die Zeit wird aber unbediengt gebraucht damit die PKI(das mit OpenSSL erstellte Zeug) funktioniert.
root@OpenWrt:~# ipkg install ntpclient
Downloading http://www.technology-ninja.com/whiterussian/packages/ ntpclient_2003_194-2_mipsel.ipk ... Connecting to www.technology-ninja.com[141.24.190.9]:80 ntpclient_2003_194-2 100% |*|
9555 00:00 ETA
Done.
Unpacking ntpclient...Done.
Configuring ntpclient...Done.
root@OpenWrt:~#
Nun schnell die Zeit syncen.
root@OpenWrt:~# ntpclient -h timesrv1.tu-ilmenau.de -s
Ggf. kann hier statt timesrv1.tu-ilmenau.de ein beliebig anderer Zeitserver verwendet werden.
Und ein Startscript welches beim einschalten des Linksys die aktuelle Zeit aus dem Internet holt.
root@OpenWrt:~# echo “#!/bin/ash” >/etc/init.d/S70ntp
root@OpenWrt:~# echo “ntpclient -h timesrv1.tu-ilmenau.de -s” »/etc/init.d/S70ntp
root@OpenWrt:~# chmod a+x /etc/init.d/S70ntp
Geschaft, nun haben wir, so Gott will, immer die richtige Uhrzeit auf unserem Linksys.
DIE PROPRIETÄREN TOOLS
Installation der propritären Tools. Auch wenn es nicht schön ist, diesen Schritt kannst Du nicht überspringen. Der propritäre NAS und die WL-tools müssen nachinstalliert werden.
root@OpenWrt:~# ipkg install nas
Downloading http://www.technology-ninja.com/whiterussian/packages/non-free/
nas_3.90.37-16_mipsel.ipk ...
Connecting to www.technology-ninja.com[141.24.190.9]:80
nas_3.90.37-16_mipse 100% || 75771 00:00 ETA Done. Unpacking nas...Done. Configuring nas...Done. root@OpenWrt:~# ipkg install wl
Downloading http://www.technology-ninja.com/whiterussian/packages/non-free/ wl_3.90.37-1_mipsel.ipk ... Connecting to www.technology-ninja.com[141.24.190.9]:80 wl_3.90.37-1_mipsel. 100% |**| 40906 00:00 ETA Done. Unpacking wl...Done. Configuring wl...Done. root@OpenWrt:~#
Der NAS wird benötigt um die Kommunikation zwischen WLAN-Device des Linksys und dem Radius-Server. Die WL-Tools werden benötigt um alle Funktionen des propritären WLAN-Treibers zu nutzen.
OPENSSL
Mit OpenSSL wird nun eine Root-CA erstellt. Dies bietet die Möglichkeit dynamisch Zertifikate an beliebige Personen zu verteilen ohne das ihr euch kompliziert Pre-Shared-Keys zuflüstern müsst. Außerdem kann man Zertifikate zurückziehen wenn man jemanden nicht mehr leiden kann. Das ist besonders in größeren Infrastrukturen sehr sinnvoll. Installiert euch openssl-utils auf eurem, mittlerweile liebgewonnen, Linksys. Im übrigen ist es ratsam die Root-CA auf einem anderen PC zu erstellen. Hier der Einfachheit-wegen direkt auf dem Linksys.
root@OpenWrt:~# ipkg install openssl-util
Legt euch ein Verzeichnis an in dem die Root-CA gespeichert wird.
root@OpenWrt:~# cd /usr/share/ root@OpenWrt:/usr/share/CA# mkdir CA root@OpenWrt:/usr/share/CA# cd CA
OpenSSL brauch ein paar Verzeichnisse, in dem es seinen sinnlosen Mist ablegen kann.
root@OpenWrt:/usr/share/CA# mkdir certs crl newcerts private users
Erstelle die Seriennummer und die Indexdatei für die Root-CA.
root@OpenWrt:/usr/share/CA# echo “01” > serial root@OpenWrt:/usr/share/CA# cp /dev/null index.txt root@OpenWrt:/usr/share/CA# cp /etc/ssl/openssl.cnf .
Mach eine Kopie der Orginal OpenSSL-Konfig-Datei und ändere es wie Du es benötigst.
root@OpenWrt:/usr/share/CA# vi openssl.cnf * Taste “i” drücken (Insert-Mode) * mit den Pfeiltasten nach unten scrollen bis zum Feld [ CA_default ] * den Parameter dir = ./demoCA * tauschen gegen dir = ./ * Dann die beliebigen Anpassungen machen * Taste “ESC” drücken (Kommando-Modus) :wq root@OpenWrt:/usr/share/CA#
Für die Client Zertifikate benötigt man spezielle Windows XP Extensions. Dazu legen wir eine neue Datei mit dem Namen xpextensions an.
root@OpenWrt:/usr/share/CA# vi xpextensions * Taste “i” drücken (Insert-Mode) Die Zeilen hinzufügen [ xpclient_ext ] extendedKeyUsage = 1.3.6.1.5.5.7.3.2 [ xpserver_ext ] extendedKeyUsage = 1.3.6.1.5.5.7.3.1 * Taste “ESC” drücken (Kommando-Modus) :wq root@OpenWrt:/usr/share/CA#
GENERIEREN DES ROOT-CA-ZERTIFIKATS
Sie ist 1095 Tage gültig. Das kann natürlich nach belieben angepasst werden in dem man die Zahl nach der Option -days verändert.
root@OpenWrt:/usr/share/CA# openssl req -new -x509 \ -keyout private/cakey.pem -out cacert.pem -days 1095 -config openssl.cnf Generating a 1024 bit RSA private key ........................................................++++++ ............++++++ writing new private key to ‘private/cakey.pem’ Enter PEM pass phrase: “Das_Root-CA_Passwort” Verifying - Enter PEM pass phrase: “Das_Root-CA_Passwort”
You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ‘.’, the field will be left blank.
Country Name (2 letter code) [AU]:DE State or Province Name (full name) [Some-State]:Thueringen Locality Name (eg, city) []:Ilmenau Organization Name (eg, company) [Internet Widgits Pty Ltd]:FeM e.V. Organizational Unit Name (eg, section) []:Technik Common Name (eg, YOUR name) []:Cosrahn Email Address []:somemailadress root@OpenWrt:/usr/share/CA#
Tipp: Merkt euch das Passwort. Und dieses sollte niemals in falsche Hände geraten.
root@OpenWrt:/usr/share/CA# openssl pkcs12 -export -in cacert.pem -inkey private/cakey.pem \ -out caroot.p12 -cacerts -descert Enter pass phrase for private/cakey.pem: “Das_Root-CA_Passwort” Enter Export Password: “caroot_p12_Passwort” (kann auch leer sein) Verifying - Enter Export Password: “caroot_p12_Passwort” (kann auch leer sein) root@OpenWrt:/usr/share/CA# openssl pkcs12 -in caroot.p12 -out caroot.pem Enter Import Password: “caroot_p12_Passwort” MAC verified OK Enter PEM pass phrase: “caroot_pem_Passwort” Verifying - Enter PEM pass phrase: “caroot_pem_Passwort” root@OpenWrt:/usr/share/CA#
Und für Windows.
root@OpenWrt:/usr/share/CA# openssl x509 -in cacert.pem \ -inform PEM -out cacert.der -outform DER
RADIUS SERVER ZERTIFIKAT REQUEST
root@OpenWrt:/usr/share/CA# openssl req -nodes -new -x509 -keyout radius-req.pem \ -out radius-req.pem -days 730 -config openssl.cnf Generating a 1024 bit RSA private key ...++++++ ...++++++ writing new private key to ‘radius-req.pem’
You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ‘.’, the field will be left blank.
Country Name (2 letter code) [AU]:DE State or Province Name (full name) [Some-State]:Thueringen Locality Name (eg, city) []:Ilmenau Organization Name (eg, company) [Internet Widgits Pty Ltd]:FeM e.V. Organizational Unit Name (eg, section) []:Technik Common Name (eg, YOUR name) []:Cosrahn Email Address []:somemailaddress root@OpenWrt:/usr/share/CA# openssl x509 -x509toreq \ -in radius-req.pem -signkey radius-req.pem -out radius-tmp.pem Getting request Private Key Generating certificate request root@OpenWrt:/usr/share/CA#
Zertifizieren des Request Bitte achte hier auf die Reihenfolge “-infiles radius-tmp.pem” ist die letzte Option in der Kommandozeile.
root@OpenWrt:/usr/share/CA# openssl ca -config openssl.cnf \ -policy policy_anything -out radius-cert.pem -extensions xpserver_ext \ -extfile xpextensions -infiles radius-tmp.pem Using configuration from openssl.cnf Enter pass phrase for /usr/share/CA/private/cakey.pem: “Das_Root-CA_Passwort” Check that the request matches the signature Signature ok Certificate Details:
Serial Number: 1 (0x1)
Validity
Not Before: Jan 1 05:15:35 2000 GMT
Not After : Dec 31 05:15:35 2000 GMT
Subject:
countryName = DE
stateOrProvinceName = Thueringen
localityName = Ilmenau
organizationName = FeM e.V.
organizationalUnitName = Technik
commonName = Cosrahn
emailAddress = somemailaddress
X509v3 extensions:
X509v3 Extended Key Usage:
TLS Web Server Authentication
Certificate is to be certified until Dec 31 05:15:35 2000 GMT (365 days) Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated root@OpenWrt:/usr/share/CA#
Konvertieren des Zertifikats in PKCS12-Datei damit es lesbar für Outlook; MSIE; Mozilla wird. (dieser Schritt ist nicht unbedingt nötig, da unser Radius kein PKCS12 benötigt).
openssl pkcs12 -export -in radius-cert.pem -out radius-cert.p12\-inkey radius-req.pem -descert
CLIENT ZERTIFIKAT REQUEST
Dieser Schritt muss für jeden Client wiederholt werden.
root@OpenWrt:/usr/share/CA# openssl req -nodes -new -x509\ -keyout client-req.pem -out client-req.pem -days 730 -config openssl.cnf Generating a 1024 bit RSA private key .......++++++ ............++++++ writing new private key to ‘client-req.pem’
You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ‘.’, the field will be left blank.
Country Name (2 letter code) [AU]:DE State or Province Name (full name) [Some-State]:Thueringen Locality Name (eg, city) []:Ilmenau Organization Name (eg, company) [Internet Widgits Pty Ltd]:FeM e.V. Organizational Unit Name (eg, section) []:Technik Common Name (eg, YOUR name) []:Cosrahn Email Address []:somemailAddress root@OpenWrt:/usr/share/CA# openssl x509 -x509toreq -in client-req.pem \ -signkey client-req.pem -out client-tmp.pem Getting request Private Key Generating certificate request root@OpenWrt:/usr/share/CA#
Zertifizieren der Request - Bitte achte auf die richtige Reihenfolge “-infiles client-tmp.pem” ist die letzte Option auf der Kommandozeile.
root@OpenWrt:/usr/share/CA# openssl ca -config openssl.cnf -policy policy_anything \ -out client-cert.pem -extensions xpclient_ext -extfile xpextensions \ -infiles client-tmp.pem Using configuration from openssl.cnf Enter pass phrase for /usr/share/CA/private/cakey.pem: DEBUG[load_index]: unique_subject = “yes” Check that the request matches the signature Signature ok Certificate Details:
Serial Number: 2 (0x2)
Validity
Not Before: Jan 1 05:37:37 2000 GMT
Not After : Dec 31 05:37:37 2000 GMT
Subject:
countryName = DE
stateOrProvinceName = Thueringen
localityName = Ilmenau
organizationName = FeM e.V.
organizationalUnitName = Technik
commonName = Cosrahn
emailAddress = somemailAddress
X509v3 extensions:
X509v3 Extended Key Usage:
TLS Web Client Authentication
Certificate is to be certified until Dec 31 05:37:37 2000 GMT (365 days) Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated root@OpenWrt:/usr/share/CA#
Konvertieren des Zertifikat in PKCS12-Datei (Outlook; MSIE; Mozilla).
openssl pkcs12 -export -in client-cert.pem -out client-cert.p12 \ -inkey client-req.pem -descert
Um grössere Sauerein zu vermeiden hab ich den obigen Teil zu einem kleinen Script zusammen gefasst. Dieses kleine Script hilft beim erstellen eines neuen Clients. Man findet die erstellten Zertifikate in /usr/share/CA/users/[clientname].
Hier das Skript: mkclient.sh.zip (,43 KB)
Man kann nun zB. einfach mit:
root@OpenWrt:/usr/share/CA# ./mkclient.sh Paul
ein Zertifikat für den User “Paul” erstellen.
SONSTIGE DATEIEN
Um den Verschlüsselungsspass komplett zu machen brauchen wir noch eine random-Datei und eine Diffi-Hellmann-Parameter Datei. Dazu gehen wir wie folgt vor.
root@OpenWrt:/usr/share/CA# openssl dhparam -out dh1024.pem 1024 Generating DH parameters, 1024 bit long safe prime, generator 2 This is going to take a long time .................................................. ..............+................................... +........................................+........ ..........+................+...................... ..............+................................... .................................................. .................................................. +....+.............+...........................++* ++*++* root@OpenWrt:/usr/share/CA# dd if=/dev/urandom of=random bs=1k count=1
WAS HABEN WIR JETZT ALLES?
Wir haben jetzt viele Dateien generiert aber welche ist jetzt wozu da? Also werden wir das jetzt mal aufdröseln.
radius-req.pem - der Key radius-cert.pem - das Zertifikat cacert.pem und cacert.der - das CA-Zertifikat dh1024.pem - das DH Parameter random - beinhaltet einfach nur zufällige Daten
WELCHE DATEI GEHÖRT WOHIN?
Der Client:
Linux /usr/share/CA/client-cert.pem /usr/share/CA/client-req.pem /usr/share/CA/cacert.pem Windows /usr/share/CA/client.p12 /usr/share/CA/cacert.der diese Dateien müssen auf den Rechner der sich in das WLAN einloggen will.
Die Dateien für den Radius behandeln wir später.
RADIUS SERVER
Nach dem wir das geschaft haben, können wir mit dem Radius-Server weiter machen. Wenn Du schon einen funktionierenden Radius-Server in deinem Netz benutzt, kannst Du diesen Schritt überspringen. Um den FreeRadius-Server zu installieren geht man wie folgt vor:
root@OpenWrt:~# ipkg install freeradius ... root@OpenWrt:~# ipkg install freeradius-utils ... root@OpenWrt:~# ipkg install freeradius-mod-eap ... root@OpenWrt:~# ipkg install freeradius-mod-eap-md5 ... root@OpenWrt:~# ipkg install freeradius-mod-eap-peap ... root@OpenWrt:~# ipkg install freeradius-mod-eap-tls ... root@OpenWrt:~# ipkg install freeradius-mod-eap-ttls ... root@OpenWrt:~# ipkg install freeradius-mod-files ... root@OpenWrt:~# ipkg install freeradius-mod-pap ... root@OpenWrt:~#
Bitte achte darauf dass du kein Paket vergesst.
Damit der RADIUS auch nach einem reboot zur richtigen Zeit startet, muss das Startscript noch umbenannt werden.
mv /etc/init.d/radiusd /etc/init.d/S41radiusd
Dann die erstellten OpenSSL-Zertifikate kopieren.
mkdir /etc/freeradius/ca cp /usr/share/CA/cacert.pem /etc/freeradius/ca cp /usr/share/CA/radius-req.pem /etc/freeradius/ca cp /usr/share/CA/radius-cert.pem /etc/freeradius/ca cp /usr/share/CA/dh1024.pem /etc/freeradius/ca/ cp /usr/share/CA/random /etc/freeradius/ca/
Die wichtigen Dateien für die Radius Konfiguration sind
clients.conf
eap.conf
radiusd.conf
users
CLIENT.CONF
client 127.0.0.1 {
secret = Das_RADIUS_Passwort
shortname = localhost
nastype = other
}
EAP.CONF
Download
802.1x AKTIVIEREN
Nun wollen wir einfach mal unsere 802.1X Umgebung aktivieren.
root@OpenWrt:~# nvram set wl0_akm=wpa wpa2 root@OpenWrt:~# nvram set wl0_auth_mode=radius root@OpenWrt:~# nvram set wl0_crypto=aes+tkip root@OpenWrt:~# nvram set wl0_radius_ipaddr=127.0.0.1 root@OpenWrt:~# nvram set wl0_radius_key=Das_RADIUS_Passwort root@OpenWrt:~# nvram set wl0_radius_port=1812 root@OpenWrt:~# nvram set wl0_ssid=My_8021X_Network root@OpenWrt:~# nvram set wan_hostname=My_8021X_Gateway root@OpenWrt:~# nvram set wl0_wep=aes+tkip root@OpenWrt:~# nvram commit
Nun sollte nach einem Reboot der Zauber beginnen. Viel Spass!
MEHR SOFTWARE
ipkg install wireless-tools ipkg install webif
LINKS
WPA2 Enterprise-Howto http://wiki.openwrt.org/OpenWrtDocs/Wpa2Enterprise NAS-Howto http://wiki.openwrt.org/OpenWrtDocs/nas OpenWRT Konfig Hilfen http://wiki.openwrt.org/OpenWrtDocs/Configuration OpenSSL PKCS12 http://www.openssl.org/docs/apps/pkcs12.html OpenSSL X509 http://www.openssl.org/docs/apps/x509.html FeM-Wiki https://info.fem.tu-ilmenau.de/wiki/index.php/Sicheres_WLAN_mit_einem_Linksys