eduroam logo

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.

VORWORT

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!

VORRAUSSETZUNGEN

Linksys WRT54GS Revision 4

  • Ein Rechner mit telnet und SSH (SSH für Windowser gibt es hier)

Möglichkeiten Dateien per scp zu übertragen (mit scp, WinSCP usw.)

  • Grundkenntnisse mit dem Umgang mit Maus und Tastatur

HARDWARE

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...

FIRMWARE UPDATE

Die entsprechende Firmware erhält man hier: openwrt-wrt54gs_v4-jffs2.zip (1,61 MB) - Dies ist ein Mirror des openwrt.org-Downloads.

!!!!!!!!!! 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.

Klick auf Administration→Firmware Upgrade

Die Datei openwrt-wrt54gs_v4-jffs2.bin angeben

laufendes Update

DAS ERSTE LOGIN

Nun ist es soweit. Wenn alles geklappt hat kannst du dich per telnet einloggen.

Das erste Telnet

root@OpenWrt:~# telnet 192.168.1.1 Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is ‘^]’.

IMPORTANT

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

 
openssl_freeradius_on_openwrt.txt (180 views) · Last modified: 2007/02/24 20:16 by 145.99.133.194
 
Recent changes RSS feed Creative Commons License Donate Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Powered by Joom Prosolution

Login

original solarflare design by rhuk
lunarized by joomlashack