Changes between Version 54 and Version 55 of WikiStart


Ignore:
Timestamp:
May 10, 2013, 11:09:11 AM (12 years ago)
Author:
walter
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v54 v55  
    33
    44== Wat is eduroam? ==
    5 Onderwijsinstelling 'X' wil al zijn studenten eenvoudig op hun "beveiligde en gesloten" draadloze netwerk aansluiten om hen toegang tot internet en printen te verschaffen. Dit draadloze netwerk dat met vele toegangspunten (AP=!AccessPoints / Hotpots) door het hele complex dekkend is, word ''wel'' met ''een enkele generieke'' naam "X-netwerk" aangelegd, maar ''niet'' met ''een enkel generiek'' wachtwoord! De onderwijsinstelling heeft al zijn leden al geregistreerd in een personendatabase en heeft voor ieder herleidbaar persoon namelijk al een ''unieke'' accountnaam en wachtwoord aangemaakt. Door de authenticatie en autorisatie tot het "gesloten en beveiligde" draadloze netwerk via de inloggegevens uit de personendatabase te laten verlopen, weet ieder lid direct zijn eigen wachtwoord om direct toegang tot het draadloze netwerk te krijgen. Daarnaast weet de instelling een mogelijk wachtwoord lek te herleiden tot een uniek persoon.
    6 
    7 In de gebruikelijke situatie wanneer een student van onderwijsinstelling X vanuit de kantine het eigen beveiligde en gesloten draadloze netwerk "X-netwerk" op wil, dan configureert deze eenmalig zijn laptop (tablet en of telefoon) en gebruikt hiervoor de voor hem of haar al bekende unieke inloggegevens. Iedere volgende keer wanneer deze student binnen het eigen complex wil werken (of loopt) is zijn apparaat automatisch verbonden met hetzelfde draadloze "X-netwerk" (al dan niet via een andere toegangspunt vanuit collegezaal of bibliotheek). Dit verschijnsel waarbij het apparaat van de gebruiker, zonder dat hij of zij het opmerkt automatisch van toegangspunt naar toegangspunt verspringt, bereikbaar en bruikbaar blijft word "roaming" genoemd.
    8 
    9 Maar nu, onderwijsinstelling 'Y' heeft exact dezelfde infrastructuur als onderwijsinstelling X, maar Y merkt dat wanneer gastdocenten van X met hun laptop op bezoek komen zij niet (automatisch) bij Y het internet op kunnen. Tevens is het voor de onderwijsinstelling en de gebruikers omslachtig om iedereen opnieuw te registreren, een tijdelijk wachtwoord te geven en of hun apparaten te herconfigureren voor (tijdelijke) gebruik van het  beveiligde en gesloten netwerk.
    10 
    11 Als oplossing draagt onderwijsinstelling Y [http://www.eduroam.org eduroam] aan. Hiervoor gaan beide onderwijsinstelling X en Y de naam van hun draadloze netwerk gelijkmaken aan de generieke naam "eduroam". Wanneer (gast)gebruikers van X bij onderwijs instelling Y op bezoek zijn, gaan hun laptops, tablets of telefoons automatisch het gelijknamige netwerk van onderwijsinstelling Y op. Dit werkt helaas nog bijna, om de volgende rede. Onderwijsinstelling Y heeft natuurlijk niet de personendatabase met inloggegevens van onderwijsinstelling X om gebruikers van X tegen te authenticeren, dus gebruikers van X op het netwerk bij Y krijgen alsnog de melding dat hun inloggegevens niet worden herkend omdat ze als X in de personendatabase van Y ontbreken, logisch toch!
    12 Wanneer onderwijsinstelling Y nu alleen de authenticatie "aanvragen" doorgestuurd via een "centrale server" op internet die op zijn beurt weer doorgekoppeld is aan de personendatabase van de eigen onderwijsinstelling (X in dit geval) en de autorisatie "goedkeuringen" via diezelfde route weer terug afleverd bij de instelling waar de gebruiker zich bevind, dan blijven de persoonsgegevens binnen de eigen onderwijsinstelling waar ze horen en kan de gebruiker na autorisatie bij de andere instelling direct het netwerk/internet gebruiken. Dit allemaal zonder dat gebruiker ook maar iets aan zijn of haar eigen apparaat en of instellingen hoeft te veranderen! Vergelijkbaar met mobiele telefoons die tijdens het telefoongesprek in een auto rit van stad A naar B diverse mobiele toegangspunten (Telefoon Cells) passeren, zonder dat de gebruiker merkt dat zijn verbinding overschakelt.
     5Onderwijsinstelling 'X' wil al zijn studenten eenvoudig op hun "beveiligde en gesloten" draadloze netwerk aansluiten om hen toegang tot internet en printen te verschaffen. Dit draadloze netwerk dat met vele toegangspunten (AP=!AccessPoints / Hotpots) door het hele complex dekkend is, word ''wel'' met ''een enkele generieke'' naam "X-hotspot" aangelegd, maar ''niet'' met ''een enkel generiek'' wachtwoord! De onderwijsinstelling heeft al zijn leden al geregistreerd in een personendatabase en heeft voor ieder herleidbaar persoon namelijk al een ''unieke'' accountnaam en wachtwoord aangemaakt. Door de authenticatie en autorisatie tot het "gesloten en beveiligde" draadloze netwerk via de inloggegevens uit de personendatabase te laten verlopen, weet ieder lid direct zijn eigen wachtwoord om direct toegang tot het draadloze netwerk te krijgen. Daarnaast weet de instelling een mogelijk wachtwoord lek te herleiden tot een uniek persoon.
     6
     7In de gebruikelijke situatie wanneer een student van onderwijsinstelling X vanuit de kantine het eigen beveiligde en gesloten draadloze netwerk "X-hotspot" op wil, dan configureert deze eenmalig zijn laptop (tablet en of telefoon) en gebruikt hiervoor de voor hem of haar al bekende unieke inloggegevens. Iedere volgende keer wanneer deze student binnen het eigen complex wil werken (of loopt) is zijn apparaat automatisch verbonden met hetzelfde draadloze netwerk "X-hotspot" (al dan niet via een andere fysiek toegangspunt vanuit collegezaal of bibliotheek). Dit verschijnsel waarbij het apparaat van de gebruiker, zonder dat hij of zij het opmerkt of iets hoeft te configureren automatisch van toegangspunt naar toegangspunt verspringt, bereikbaar en bruikbaar blijft word "roaming" genoemd. Vergelijkbaar met mobiele telefoons die tijdens het telefoongesprek in een auto rit van stad A naar B diverse mobiele toegangspunten (Telefoon Cells) passeren, zonder dat de gebruiker merkt dat zijn verbinding overschakelt. Overigens is de wifi standard nooit opgezet met perfecte roaming mogelijkheden zoals bij mobiele telefonie /g.s.m. en blijft altijd een best effort.
     8
     9Maar nu, onderwijsinstelling 'Y' heeft exact dezelfde infrastructuur als onderwijsinstelling X en heeft zijn draadloze netwerk natuurlijk "Y-hotspot" genoemd. Maar onderwijsinstelling Y merkt dat wanneer gastdocenten van X met hun laptop op bezoek komen bij Y, deze leden niet (automatisch) bij Y het internet op kunnen. Tevens is het voor de onderwijsinstelling en de gebruikers omslachtig om iedereen opnieuw te registreren, een tijdelijk wachtwoord te geven en of hun apparaten te herconfigureren voor (tijdelijke) gebruik van het  beveiligde en gesloten netwerk.
     10
     11Als oplossing draagt onderwijsinstelling Y [http://www.eduroam.org eduroam] aan. Hiervoor gaan beide onderwijsinstelling X en Y de naam van hun draadloze netwerk gelijkmaken aan de generieke naam "eduroam". Wanneer (gast)gebruikers van onderwijsinstelling X bij onderwijs instelling Y op bezoek zijn, gaan hun laptops, tablets of telefoons automatisch het gelijknamige netwerk van onderwijsinstelling Y op. Dit zou direct werken zou je denken, maar helaas nog niet om de volgende rede. Onderwijsinstelling Y heeft natuurlijk niet de personendatabase met inloggegevens van onderwijsinstelling X om gebruikers van X tegen te authenticeren, dus gebruikers van X op het netwerk bij Y krijgen alsnog de melding dat hun inloggegevens niet worden herkend omdat ze als X in de personendatabase van Y ontbreken, logisch toch!
     12Wanneer onderwijsinstelling Y nu alleen de authenticatie "aanvragen" door stuurd via een "centrale radius proxy" op internet die op zijn beurt weer doorgekoppeld is aan de personendatabase van de eigen onderwijsinstelling (X in dit geval) en de autorisatie "goedkeuringen" via diezelfde route weer terug afleverd bij de instelling waar de gebruiker zich op het netwerk bevind, dan blijven de persoonsgegevens binnen de eigen onderwijsinstelling waar ze horen en kan de gebruiker na autorisatie bij de andere instelling direct het netwerk/internet op en gebruiken. Dit allemaal zonder dat gebruiker ook maar iets aan zijn of haar eigen apparaat en of instellingen hoeft te veranderen!
    1313
    1414Dit eduroam systeem maakt het als onderwijsinstelling mogelijk om in een strikter wordend klimaat van beveiliging, geslotenheid en aansprakelijkheid toch verantwoordelijk een dienst dat open en toegankelijk is van karakter te bieden.
     
    1717
    1818== Betrokkenheid van Wireless Leiden? ==
    19 TODO korte geschiedenis nog toevoegen!
    20 
    2119De betekenis en werkwijze van eduroam voor dit Wireless Leiden project is vanuit een "aanbieders" perspectief. Daarbij zal voornamelijk de onderliggende technische werking van de infrastructuur om eduroam accesspoints (voor gebruikers) te realiseren ter sprake komen. 
    2220Wireless Leiden neemt momenteel niet als "identity provider" deel aan eduroam, maar faciliteerd louter het doorgeven van de vereiste authenticatie "aanvragen" en autorisatie "goedkeuringen" via een grotendeels intern ontwikkeld prototype infrastructuur.
     
    2422
    2523Het unieke aan dit project is niet het scheiden van de identity/service provider eigenschap, maar de integratie van de verdeelde diensten over het onafhankelijk en "open" netwerk van Wireless Leiden dat zich letterlijk buiten de deur huisvest.
    26 Het exploiteren op stadsniveau van eduroam toegang via het Wireless Leiden netwerk is niet alleen een uitdaging, maar ook nog eens eenvoudig, flexibel en betaalbaar! De huidige implementatie is een win-win situatie voor betrokken partijen, door de huidige multi SSID techniek neemt zowel de dekking van het eduroam netwerk van een (sponserende onderwijs) instelling als het netwerk van Wireless Leiden toe. Dit in tegenstelling tot de vaak beperkt inpandige en eenzijdige exploitatie door onderwijsinstellingen van hun eigen geisoleerde fysieke en gesloten infrastructuur, die zich gemakkelijk door het graven/leggen van dure kabelverbindingen laat uitstellen of zelfs afstellen.
     24Het exploiteren op stadsniveau van eduroam toegang via het Wireless Leiden netwerk was niet alleen een uitdaging, maar is nu ook nog eens eenvoudig, flexibel en betaalbaar! De huidige implementatie is een win-win situatie voor betrokken partijen, door de huidige multi SSID techniek neemt zowel de dekking van het eduroam netwerk van een (sponserende) onderwijs-instelling als het netwerk van Wireless Leiden toe. Dit in tegenstelling tot de vaak beperkt inpandige en eenzijdige exploitatie door onderwijsinstellingen van hun eigen geisoleerde fysieke en gesloten infrastructuur, die zich gemakkelijk door het graven/leggen van dure kabelverbindingen laat uitstellen of zelfs afstellen.
     25
     26TODO korte geschiedenis nog toevoegen!
    2727
    2828*Ontwikkelaars van Wireless Leiden zelf kunnen de roaming eigenschap van deze infrastuctuur alleen gebruiken, testen en ontwikkelen wanneer ze beschikken over een geldig accountsnaam en wachtwoord dat geleverd is door een aan eduroam/surf foundation gelieerde identity provider. Als voorbeeld Universiteit Leiden of Hogeschool Leiden. Wel zou er voor hen via een interne identity provider van Wireless Leiden zelf een account gemaakt kunnen worden, maar omdat deze niet centraal gekoppeld is werkt dit niet wanneer ontwikkelaars van het Wireless Leiden eduroam netwerk naar het Universiteits eduroam overgaan. Het Universiteits eduroam netwerk kan namelijk via de centrale server niet bij de onbekende Wireless Leiden interne identity provider komen en zal deze mensen niet op zijn netwerk toelaten. Hiermee word direct duidelijk dat een wederzijdse samenwerking nodig is om het onbegrensde karakter eduroam(ing) te laten werken en beschermen! Een andere mogelijkheid zou het aanvragen van een test-account bij de surf foundation zijn.
    2929
    3030== technische en organisatorische benodigdheden ==
    31 
    3231Voor het aanbieden van de eduroam infrastructuur op het Wireless Leiden netwerk is gekozen voor twee verschillende type installaties met idem verschillende functionaliteit namelijk:
    33321. "!AccesPoints" meerdere (types) die als "eduroam" multiSSID hotspot zullen fungeren met OpenWRT/Airos.
    34332. "Radius-!Server/Proxy & gateway" een enkele centraal gepositioneerde server met DEBIAN/FREEBSD.
    35 De AP's kunnen vrij en verspreid door de stad op de Wireless Leiden infrastructuur aangekoppeld worden, bij voorkeur direct op een node! De Radius-!Server/Proxy & gateway kan het best bij een onderwijs instelling geplaatst worden waar deze enerzijds gekoppeld is aan een internet gateway en anderzijds aan de infrastructuur van Wireless Leiden. De verbinding tussen deze twee typen installaties word via OpenVPN tunnels beveiligd en geencrypt opgezet waardoor het mogelijk onveilige karakter van het open Wireless Leiden netwerk vervalt. Naast deze hardware- en software- matige eisen zijn er nog vijf andere organisatorische eisen waaronder:
    36 1. toegang/inlog-gegevens tot de centrale eduroam/surfnet/surf-foundation identity-provider radiusproxy.
    37 2. ip whitelisting voor toegang tot die radiusproxy.
    38 3. certnode die het creeeren van certificaten en config bestanden voor de openvpn clients "eduroam AP's" en server "radius-server/proxy" faciliteert.
    39 4. inlog/account/gebruiker-gegevens om als gebruiker op het "eduroam" netwerk in te loggen (aanvragen bij identityprovider).
    40 5. build/test/flash-machines voor config en firmware (ssh scp sshpass telnet etc)
    41 
    42 Wat niet behandeld gaat worden is het aanmaken van een user-database/list voor de radius server, aangezien alle users extern via proxy geauthenticeerd worden en niet intern want Wireless Leiden is geen eduroam identityprovider!
    43 
    44 Met deze middelen en een compleet voor zover mogelijk lineaire stap voor stap handleiding is een plug en play exploitatie van eduroam toegangspunten waar dan ook binnen het Wireless Leiden netwerk snel en eenvoudig te realiseren. Voor het opleveren van veel AP's (batches) met unieke instelligen zal er uiteindelijk een configuratie script volgen waarmee op basis van het MAC-adres van het AP een aantal unieke parameters meegegeven kunnen worden voor de configuratie: MultiSSID, hostname, kanaal, ipadres(bedraad/draadloos), etc... vergeet de unieke openvpn client certificaten niet, tevens zouden er per AP unieke client gegevens om met de radius-proxy/server te communiceren gemaakt kunnen worden.
     34De AP's kunnen vrij en verspreid door de stad op de Wireless Leiden infrastructuur aangekoppeld worden, bij voorkeur direct op een node van Wireless Leiden! De "Radius-!Server/Proxy & gateway" kan het best bij een onderwijs instelling geplaatst worden waar deze enerzijds gekoppeld is aan een internet gateway en anderzijds aan de infrastructuur van Wireless Leiden. De verbinding tussen deze twee typen installaties word via OpenVPN tunnels beveiligd en geencrypt opgezet waardoor het mogelijk onveilige karakter van het open Wireless Leiden netwerk vervalt. Naast de twee eerder genoemde type installaties zijn er nog een vijftal organisatorische eisen waaronder:
     35A. toegang/inlog-gegevens tot de centrale eduroam/surfnet/surf-foundation identity-provider radiusproxy.
     36B. ip whitelisting voor toegang tot die radiusproxy.
     37C. certnode die het creeeren van certificaten en config bestanden voor de openvpn server "radius-server/proxy" en afgeleide clients "eduroam AP's" faciliteert.
     38D. inlog/account/gebruiker-gegevens om als gebruiker op het "eduroam" netwerk in te loggen (aanvragen bij identityprovider).
     39E. build/test/flash-machines voor config en firmware (ssh scp sshpass telnet etc)
     40
     41Met deze middelen en een compleet voor zover mogelijk lineaire stap voor stap handleiding is een plug en play exploitatie van eduroam toegangspunten waar dan ook binnen het Wireless Leiden netwerk snel en eenvoudig te realiseren. De procedure is als volgt:
     421. !AccessPoint(s): eenmalig template aanmaken, (meervoudig) configureren en (batch) flashen   
     432. "Radius-!Server/Proxy & gateway": eenmalig installeren en configureren
     443. Certnode: eenmalig easy-rsa opzetten voor benodige keys/certificaten voor 1 en 2
     45
     46Voor het opleveren van veel AP's (batches) met unieke instelligen zal er uiteindelijk een configuratie script volgen waarmee op basis van het MAC-adres van het AP een aantal unieke parameters meegegeven kunnen worden voor de configuratie: MultiSSID, hostname, kanaal, ipadres(bedraad/draadloos), etc... vergeet de unieke openvpn client certificaten niet, tevens zouden er per AP unieke client gegevens om met de radius-proxy/server te communiceren gemaakt kunnen worden.
    4547
    4648Door het gebruik van het opensource software [http://www.openwrt.org OpenWRT], [http://www.freebsd.org FREEBSD] en gerelateerde software projecten, is deze setup niet gelimiteerd aan een enkel merk en of type hardware. Een kleine aanpassing aan de configuratie bestanden zou een vereiste kunnen zijn voordat het op ander hardware platvorm werkt. Deze handleiding zal overigens alleen toegespitst zijn op Ubiquiti AP's zoals Bullet m2 HP/ Nano station/loco m2 en via-epia-m/alixboard als radiusproxy/server & gateway. Als uitgangssituatie om deze handleiding uit te voeren word ubuntu 12.04LTS AMD64 gebruikt!
     49
     50*Wat niet behandeld gaat worden is het aanmaken van een user-database/list voor de radius server, aangezien alle users extern via proxy geauthenticeerd worden en niet intern want Wireless Leiden is geen eduroam identityprovider!
    4751
    4852=== 1 setup eduroam !AccessPoints ===
    4953==== 1.1 hardware & software ====
    50 In tegenstelling tot de oude handleiding(onderaan deze pagina) word momenteel gebruik gemaakt van een "fixed" OpenWRT releases waaronder Backfire 10.03.1 of zelfs Atitude Adjustment 12.0.9 final. Dit niet alleen omdat het bouwen van een custombuild onnodig is geworden omdat "openvpn" inmiddels als pakket direct gebruiksklaar en beschikbaar is voor de 10.03.1 en 12.09 releases. Maar vooral omdat compileren van een openwrt image & build omgeving erg veel tijd, moeite en veel variabelen introduceert in een al/nog experimentele infrastructuur. Met fixed releases kan in minder dan 5 minuten direct een werkend accesspoint prototype gerealiseerd worden en dat zelfs voor verschillende type architecturen accesspoints (arm/mips/x86/etc, mits daar openwrt images voor zijn)! Wel zou via custom gecompileerde releases het geheugen gebruik en processor belasting geoptimaliseerd kunnen worden door het weglaten van ongebruikte pakketten. Update, inmiddels is het ook al direct mogelijk om via AirOS software dat standaard al op Ubiquiti AP's aanwezig een "eduroam" hotspot met wpa2 enterprise en radiusclient functie te maken (enkel openvpn ontbreekt)!
    51 
    52 Met deze flexibele fundering is het doel om accesspoints die maar in sumiere opzichten van elkaar te verschillen zo gemakkelijk en snel mogelijk in grote hoeveelheden geautomatiseerd te kunnen configureren. Het verschil tussen de accesspoints komt deels uit hoek van beveiliging, deels uit de hoek van locatie en natuurlijk de toepassing. Als een enkel accesspoint gehackt is kan deze los van de andere accesspoint toegang tot de radius proxy ontzegt worden, (door zijn openvpn sleutel in te trekken) daardoor zijn de andere accesspoints nog operationeel. Als toepassing is het handig dat het eduroam accesspoint op de burcht in Leiden als multi-SSID "ap.burcht.wleiden.net" heet en de eduroam accesspoint bij de Hortus Botanicus als multi-SSID "ap.hortusbotanicus.wleiden.net". Als toepassing kan het wenselijk zijn kleine / goedkopere AP's te monteren op plaatsen waar grote AP's met losse sector antennes niet mogelijk zijn en natuurlijk niet te vergeten de beschikbare wifi kanalen 1,6,11. Voor ieder AP zullen unieke openvpn certifacten gebruikt worden. Deze voorbeelden duiden erop dat er toch kleine specifieke wijzigingen tussen de !AccessPoints configuratie bestanden wenselijk zijn. Samengevat, er zal eerst handmatig een work-template opgezet worden waarmee een eduroam AP ingericht kan worden. Dit vormt dan de generieke basis voor een gescripte en automatische configuratie van veel AP's tegelijk die onderling kleine specifieke aanpassingen kunnen bevatten.
    53 
    5454Het !AccessPoint zal met multiSSID ingesteld worden en bridged al het wireless verkeer van de beveiligde "eduroam" SSID via een openvpn tunnel naar de "radius-server/proxy & gateway". Het wireless verkeer van de open "ap.wlgst-bridge.wleiden.net" SSID kan via interne NAT/routing afgehandeld worden of via een bridge direct een Wireless Leiden node in die reeds met DHCP, DNS, routing en captive portal is uitgerust.
    5555
     56In tegenstelling tot de oude handleiding(onderaan deze pagina) word momenteel gebruik gemaakt van een "fixed" OpenWRT releases waaronder Backfire 10.03.1 of zelfs Atitude Adjustment 12.0.9 final. Dit niet alleen omdat het bouwen van een custombuild onnodig is geworden omdat "openvpn" inmiddels als pakket direct gebruiksklaar en beschikbaar is voor de 10.03.1 en 12.09 releases. Maar vooral omdat compileren van een openwrt image & build omgeving erg veel tijd, moeite en veel variabelen introduceert in een al/nog experimentele infrastructuur. Met fixed releases kan in minder dan 5 minuten direct een werkend accesspoint prototype gerealiseerd worden en dat zelfs voor verschillende type architecturen accesspoints (arm/mips/x86/etc, mits daar openwrt images voor zijn)! Wel zou via custom gecompileerde releases het geheugen gebruik en processor belasting geoptimaliseerd kunnen worden door het weglaten van ongebruikte pakketten. *Update, inmiddels is het ook al direct mogelijk om via AirOS software dat standaard al op Ubiquiti AP's aanwezig een "eduroam" hotspot met wpa2 enterprise en radiusclient functie te maken (enkel openvpn ontbreekt)!
     57
     58Met deze flexibele fundering is het doel om accesspoints die maar in sumiere opzichten van elkaar hoeven te verschillen zo gemakkelijk en snel mogelijk in grote hoeveelheden geautomatiseerd te kunnen configureren. Het verschil tussen de accesspoints komt deels uit hoek van beveiliging, deels uit de hoek van locatie en natuurlijk de toepassing. Als een enkel accesspoint gehackt is kan deze los van de andere accesspoint toegang tot de radius proxy ontzegt worden, (door zijn openvpn sleutel in te trekken) daardoor zijn de andere accesspoints nog operationeel. Als toepassing is het handig dat het eduroam accesspoint op de burcht in Leiden als multi-SSID "ap.burcht.wleiden.net" heet en de eduroam accesspoint bij de Hortus Botanicus als multi-SSID "ap.hortusbotanicus.wleiden.net". Als toepassing kan het wenselijk zijn kleine / goedkopere AP's te monteren op plaatsen waar grote AP's met losse sector antennes niet mogelijk zijn en natuurlijk niet te vergeten de beschikbare wifi kanalen 1,6,11. Voor ieder AP zullen unieke openvpn certifacten gebruikt worden. Deze voorbeelden duiden erop dat er toch kleine specifieke wijzigingen tussen de !AccessPoints configuratie bestanden wenselijk zijn. Samengevat, er zal eerst handmatig een work-template opgezet worden waarmee een eduroam AP ingericht kan worden. Dit vormt dan de generieke basis voor een gescripte en automatische configuratie van veel AP's tegelijk die onderling kleine specifieke aanpassingen kunnen bevatten.
     59
    5660==== 1.2a fixed OpenWRT release ====
    57 
    58 The following shell commands will first locally download the OpenWRT "Backfire" image and its packages, than flash the image, configure its packages, backup original config files so you must use them as a work-template for your own custom deployment! This work-template will form the generic base of a possible batch configure/deploy script to allow huge amount of AP's to be configured in one instance with each little specific customisations. Instead of the Backfire 10.03.1 release also Attitude Adjustment 12.09 can be used, just change the download links for the image and packages you need!
     61The following shell commands will first locally download the OpenWRT "Backfire" image and its packages, than flash the image, configure its packages, backup original config files so you must use them as a work-template for your own custom deployment! This work-template will form the generic base of a possible batch configure/deploy script to allow huge amount of AP's to be configured in one instance, with each little specific customisations. Instead of the Backfire 10.03.1 release also Attitude Adjustment 12.09 can be used, just change the download links for the image and packages you need!
    5962
    6063{{{
     
    8285wget http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/nano_2.2.6-1_ar71xx.ipk -P packages/
    8386wget http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/libncurses_5.7-2_ar71xx.ipk -P packages/
    84 #wget http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/terminfo_5.7-5_ar71xx.ipk -P packages/ #aa only
     87#!wget http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/terminfo_5.7-5_ar71xx.ipk -P packages/ #aa only!
    8588
    8689### flash firmware
     
    152155        option filterwin2k      0  # enable for dial on demand
    153156        option localise_queries 1
    154         option rebind_protection 1  #! disable if upstream must serve RFC1918 addresses <--- change to 0 if local dns "wleiden.net" won't resolve
     157        option rebind_protection 1  #! disable if upstream must serve RFC1918 addresses #change to 0 if local dns "wleiden.net" won't resolve <---
    155158        option rebind_localhost 1  # enable for RBL checking and similar services
    156159        #list rebind_domain example.lan  # whitelist RFC1918 responses for domains
     
    337340config interface wan #!interface name wan vs eth0 applies /etc/config/firewall rules <---
    338341        option ifname   eth0
    339         option type     bridge #! use bridge to forward DHCP,DNS,captive portal,etc from WirelessLeiden node to 2nd multiSSID <---
     342        option type     bridge #! use bridge to forward DHCP,DNS,captive portal,etc from Wireless Leiden node to 2nd multiSSID <---
    340343        option proto    dhcp
    341         option peerdns  172.16.6.9 #! if dhcp is used, local dns wleiden.net resolve fix?<---
     344#       option peerdns  172.16.6.9 #! if dhcp is used, local dns wleiden.net resolve fix?<---
    342345#       option proto    static #! Unique static ip vs dhcp! <---
    343346#       option ipaddr   172.16.6.13 #! Unique ip settings differ! <---
     
    366369
    367370config  timeserver ntp
    368         list server     pool.ntp.wleiden.net #! WirelessLeiden local ntp server <---
     371        list server     pool.ntp.wleiden.net #! Wireless Leiden local ntp server <---
    369372        list server     1.openwrt.pool.ntp.org
    370373        list server     2.openwrt.pool.ntp.org
     
    581584
    582585=== 2 setup "Radius-!Server/Proxy  & gateway" ===
    583 De rol van deze machine is het centraal afhandelen/doorzetten van het radius verkeer van verschillende eduroam AP's uit het wireless Leiden netwerk, daarnaast functioneert deze machine als internet gateway/concentrator van diezelfde eduroam AP's. De verbinding(en) tussen de eduroam AP's en deze centrale machine worden met openvpn tunnels over het wirelessleiden netwerk tot stand gebracht. Als hardware gebruiken we een via-epia m met twee bedraade netwerk interfaces. De eerste netwerk interface is gekoppeld aan de gateway de tweede aan de Wireless Leiden infrastructuur. De plaatsing van deze machine komt het meest tot z'n recht op een locatie waar al het eduroam gerelateerde internetverkeer een daarvoor aangewezen internet verbinding van een educatieve i.s.p. (Surfnet) in kan. De surfnet aansluiting van Universiteit Leiden in de Pieterskerk is daarvoor uitstekend geschikt en geoorloofd!
     586De rol van deze machine is het centraal afhandelen/doorzetten van het radius verkeer van verschillende eduroam AP's uit het wireless Leiden netwerk, daarnaast functioneert deze machine als internet gateway/concentrator van het verkeer van diezelfde eduroam AP's. De verbinding(en) tussen de eduroam AP's en deze centrale machine worden met openvpn tunnels over het Wireless Leiden netwerk tot stand gebracht. Als hardware gebruiken we een via-epia m met twee bedraade netwerk interfaces. De eerste netwerk interface is gekoppeld aan de gateway waarvan het externe ip gewhitelist moet zijn voor contact met de eduroam Surf Foundation radius proxy. De tweede netwerk interface hangt aan de Wireless Leiden infrastructuur. De plaatsing van deze machine komt het meest tot z'n recht op een locatie waar al het eduroam gerelateerde internetverkeer een daarvoor aangewezen internet verbinding van een educatieve i.s.p. (Surfnet) in kan. De surfnet aansluiting van Universiteit Leiden in de Pieterskerk is daarvoor uitstekend geschikt en geoorloofd! Na de installatie van het OS FREEBSD/DEBIAN, word de benodigde software freeradius, isc-dhcp-server, openvpn en syslog-ng geladen en geconfigureerd. Tenslotte moet er een nat/gateway met bijbehorende firewall rules worden opgezet en heeft het pakket openvpn keys/certificates nodig zie 3 certnode van deze handleiding!
    584587
    585588==== 2.1a Install & configure FreeBSD 8.3 ====
     
    587590
    588591==== 2.1b Install & configure debian 7 wheezy ====
    589 Voor het OS debian 7 wheezy i386 via een minimale install met SSH server en standaard tools die daarna word uitgebouwd en geconfigureerd. Installeer eerst debian op betreffende machine, download hiervoor de cd/usb image, plaats deze op usbstick en start de installatie. Opmerking, onthoud dat de machine tijdens de installatie en daarna toegang tot internet nodig heeft om alle pakketten te installeren!
     592Voor het OS word debian 7 wheezy i386 met een minimale install waaronder SSH server en standaard tools gebruikt die daarna word uitgebouwd en geconfigureerd. Installeer eerst debian op betreffende machine, download hiervoor de cd/usb image, plaats deze op usbstick en start de installatie. Opmerking, onthoud dat de machine tijdens de installatie en daarna toegang tot internet nodig heeft om alle pakketten te installeren!
    590593
    591594{{{
     
    597600}}}
    598601
    599 Boot de usb-stick en kies tijdens de installatie onder "tasksel" de twee opties "SSH server" en "Standard system utilities", na de installatie de volgende software en config inregelen. Log na de installatie in op de machine.
     602Boot the usb-stick with the debian installation and pay attention to the devicename of the internal harddisk you are installing debian onto, aka "/dev/sdb". During "tasksel" choose "SSH server" and "Standard system utilities". When reaching the end of the installation,  mind that "Grub2" might install to the usb-stick /dev/sda while while the debian install is on /dev/sdb, therefor you have to manually install Grub to /dev/sdb otherwise install might fail. After the install (postinstall) the following packages freeradius, isc-dhcp-server, openvpn and syslog-ng will be installed and configured. To finish local nat/routing and firewall rules are needed and completing openvpn setup needs keys/certifactes made in 3 certnode of this howto.
     603
     604
    600605
    601606{{{
     
    606611        setterm -blength 0 #kills annoying pc speaker!!!
    607612
    608 ## vergroot bash_history
     613## enlarge bash_history
    609614nano /root/.bashrc
    610615        export HISTFILESIZE=10000
     
    638643allow-hotplug eth1
    639644iface eth1 inet static
    640         address 172.17.169.67 #! afhankelijk waar deze machine in het netwerk geplaatst word <---
     645        address 172.17.169.67 #! depends on where machine is located in Wireless Leiden network <---
    641646        netmask 255.255.255.0
    642647#       network
     
    648653iface tap0 inet static
    649654        address 192.168.4.1
    650         netmask 255.255.255.0 #! groter subnet voor veel clients? <---
     655        netmask 255.255.255.0 #! bigger subnet for more clients/AP's? <---
    651656}}}
    652657Continue setting up freeradius, only 3 config files really need to be edited. See following 3 example config files.
     
    654659#example code# /etc/freeradius/clients.conf
    655660{{{
    656 #q&d test externe clients van uu surfnet
     661#q&d test externe clients from uu surfnet (accesspoins)
    657662client 131.211.0.0/16 {
    658663  secret    = testsecret
     
    660665}
    661666
    662 #clients van het openvpn netwerk
     667#clients from the openvpn tunnel (accesspoints)
    663668client 192.168.4.0/24 {
    664669  secret    = testsecret
     
    666671}
    667672
    668 #test client direct zonder openvpn
     673#direct local eth1 test client without openvpn
    669674client 172.17.169.66 {
    670675  secret    = testsecret
     
    764769}}}
    765770
    766 Continue setting up isc-dhcp-server. Besides editing the conf file, the service also needs to be removed from its default boot routine because it start to early before its openvpn interface is online.
     771Continue setting up isc-dhcp-server. Besides editing the conf file, the service also needs to be removed from its default boot routine because it starts to early before its openvpn interface is online!
    767772
    768773#example code# /etc/dhcp/dhcpd.conf
    769774{{{
    770775option domain-name "eduroam.org";
    771 option domain-name-servers 8.8.8.8;
     776option domain-name-servers 8.8.8.8; #! since no local dns server is running on this machine specify a correct one! <---
    772777default-lease-time 600;
    773778max-lease-time 7200;
     
    787792{{{
    788793port 1194
    789 proto tcp #udp
     794proto tcp #udp 
    790795dev tap0
    791796ca /etc/openvpn/ca.crt
    792 cert /etc/openvpn/eduradprox.crt #!check name<---
    793 key /etc/openvpn/eduradprox.key #!check name<---
     797cert /etc/openvpn/eduradprox.crt #!check name <---
     798key /etc/openvpn/eduradprox.key #!check name <---
    794799dh /etc/openvpn/dh1024.pem
    795800server-bridge 192.168.3.1 255.255.255.0 192.168.3.100 192.168.3.150 #! still not understood? <---
     
    799804verb 4
    800805log /var/log/openvpn.log
    801 script-security 2
    802 up /usr/local/etc/openvpn/up.sh
    803 #duplicate-cn
     806script-security 2 #! Allows isc-dhcp-server as external program to be started by up.sh <---
     807up /etc/openvpn/up.sh
     808#duplicate-cn #! allowing this lowers security<---
    804809status /var/db/openvpn-status.log
    805810keepalive 10 180
     
    821826}}}
    822827
    823 Voor het routen van het internet naar de openvpn clients moeten de volgende firewall rules toegepast worden.
    824 {{{
    825 ## nat opzetten voor second eth1 en openvpn dan?
     828The allow routing and function as a local gateway/concentrator for the openvpn clients the following config must be set once.
     829{{{
     830## Allows forwarding
    826831cat /proc/sys/net/ipv4/ip_forward
    827832echo "1" > /proc/sys/net/ipv4/ip_forward
    828833
    829 ## firewall masq script TODO permanent maken?
     834## add the following firewall masquerade code "quick and dirty" at the end of the file before exit0!
     835nano /etc/rc.local
     836}}}
     837
     838#example code# /etc/rc.local
     839{{{
    830840#!/bin/sh
    831841/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
     
    835845/sbin/iptables -A FORWARD -i tap0 -o eth0 -j ACCEPT
    836846}}}
    837 #*Na reboot moet de firewall nog aan!Q&D in rc.local
    838 Lokaal netwerk nog afschermen!!! zodat eduroam alleen internet op kan en niet netwerk van anywi/katzy
     847TODO firewall rules Lokaal netwerk nog afschermen!!! zodat eduroam alleen internet op kan en niet netwerk van anywi/katzy/radiusverkeer
    839848
    840849Setup syslog-ng it still needs to customize some conf files to filter and sort all incoming logs!
     
    852861}}}
    853862
    854 === 3 "Certnode" ===
    855 Voor het functioneren van openvpn waaronder beveiligen en herkennen van server en unieke clients word easy-rsa gebruikt. Het idee is om op een vertrouwde permanente machine "certnode" eenmalig een blijvende opzet te maken met een openvpn "server" certificate voor de "radius-server/proxy", waarvan weer afgeleide client certificaten voor de verschillende accesspoints gemaakt kan worden. Het eerste gebeurt eenmalig en zal lokaal op de certnode bewaart moeten blijven. Het tweede gebeurt iedere keer wanneer er een "eduroam" AP bij komt aan het WirelessLeiden netwerk. Het generieke server certificaat + openvpn settings zal eenmalig van de certnode op de radius-server/proxy geplaatst moeten worden. De unieke client certificaten en config moeten voor ieder nieuwe/extra "eduroam" AP apart op de certnode aangemaakt worden en eenmalig per uniek AP geconfigureerd! Hierdoor zijn de eduroam AP's individueel te volgen en te beheren om toegang tot the radius-server/proxy te ontzeggen. Het opzetten van de certnode word bij stap 3.1 behandeld, het aanmaken van client certifcaten bij 3.2. Let op, leden van Wireless Leiden kunnen de eerste twee stappen overslaan aangezien zij de certnode "sunfire" moeten gebruiken (mits deze geconfigureerd is) en kunnen direct naar stap 3.3.
     863=== 3 certnode & easy-rsa ===
     864Voor het functioneren van openvpn waaronder beveiligen en herkennen van server en unieke clients word easy-rsa gebruikt. Het idee is om op een vertrouwde permanente machine "certnode" eenmalig een blijvende opzet te maken met een openvpn "server" certificate voor de "radius-server/proxy", waarvan weer afgeleide client certificaten voor de verschillende accesspoints gemaakt kan worden. Het eerste gebeurt eenmalig en zal lokaal op de certnode bewaart moeten blijven. Het tweede gebeurt iedere keer wanneer er een "eduroam" AP bij komt aan het Wireless Leiden netwerk. Het generieke server certificaat + openvpn settings zal eenmalig van de certnode op de radius-server/proxy geplaatst moeten worden. De unieke client certificaten en config moeten voor ieder nieuwe/extra "eduroam" AP apart op de certnode aangemaakt worden en eenmalig per uniek AP geconfigureerd! Hierdoor zijn de eduroam AP's individueel te volgen, te beheren en mogelijk toegang te ontzeggen tot de"radius-server/proxy & gateway" wanneer dat nodig is. Het opzetten van de certnode word bij stap 3.1 behandeld, het aanmaken van afgeleide client certifcaten bij 3.2. Let op, leden van Wireless Leiden kunnen de eerste twee stappen overslaan aangezien zij de certnode "sunfire" moeten gebruiken (mits deze geconfigureerd is) en kunnen direct naar stap 3.3.
    856865
    857866==== 3.1 setup certnode ====
     
    878887export KEY_CITY="Leiden"
    879888export KEY_ORG="Stichting Wireless Leiden"
    880 export KEY_EMAIL="$me@wirelessleiden.nl"
     889export KEY_EMAIL="$me@Wireless Leiden.nl"
    881890}}}
    882891
     
    965974dev tap0
    966975proto tcp #! for flappering/instable routing on W.L. use tcp instead of udp <---
    967 remote 172.17.169.67 53 #! location of openvpn server(radius-server/proxy & gateway) on the WireLessLeiden network! <---
     976remote 172.17.169.67 53 #! location of openvpn server(radius-server/proxy & gateway) on the Wireless Leiden network! <---
    968977resolv-retry infinite
    969978persist-key
     
    9971006De afgelopen jaren is een technische oplossing ontwikkeld, in samenwerking met de Hogeschool Leiden, om Eduroam mogelijk te maken over een open netwerk zoals dat van Wireless Leiden.
    9981007
    999  - het afstudeerverslag van Richard (technisch is er een andere oplossing ontwikkeld, maar de algemene aanpak wordt hierin beschreven): http://svn.wirelessleiden.nl/svn/projects/802.1x/afstudeerproject_2008/afstudeerverslag.pdf
     1008 - het afstudeerverslag van Richard (technisch is er een andere oplossing ontwikkeld, maar de algemene aanpak wordt hierin beschreven): http://svn.Wireless Leiden.nl/svn/projects/802.1x/afstudeerproject_2008/afstudeerverslag.pdf
    10001009 - na het afstudeerverslag van Richard zijn enkele studenten bezig geweest een technische oplossing te ontwikkelen, onder andere met steun van Stichting NLnet: http://www.cugar.org, http://nlnet.nl/project/cugar/ en externe begeleiders
    10011010 - parallel is een wat andere oplossing ontwikkeld door Richard, als vrijwilliger van Wireless Leiden op basis van [http://www.ubiquiti.com Ubiquiti] hardware (bullet2HP).
     
    10171026{{{
    10181027  svn co svn://svn.openwrt.org/openwrt/branches/backfire eduroam
    1019   svn co http://svn.wirelessleiden.nl/svn/code/eduroam-bullet/trunk/openwrt-package/post/ eduroam/package/post/
     1028  svn co http://svn.Wireless Leiden.nl/svn/code/eduroam-bullet/trunk/openwrt-package/post/ eduroam/package/post/
    10201029}}}
    10211030 2. cd into the build directory
     
    10941103commonName            :PRINTABLE:'name'
    10951104name                  :PRINTABLE:'WL'
    1096 emailAddress          :IA5STRING:'noreply@wirelessleiden.nl'
     1105emailAddress          :IA5STRING:'noreply@Wireless Leiden.nl'
    10971106Certificate is to be certified until Feb 27 13:32:30 2022 GMT (3650 days)
    10981107
     
    11681177{{{
    11691178mkdir /usr/local/etc/openvpn #folder niet aanwezig
    1170 /usr/local/bin/svn co http://svn.wirelessleiden.nl/svn/code/eduroam-bullet/trunk/openvpn-wl/
     1179/usr/local/bin/svn co http://svn.Wireless Leiden.nl/svn/code/eduroam-bullet/trunk/openvpn-wl/
    11711180/usr/local/etc/openvpn
    11721181}}}
     
    11751184{{{
    11761185rm -R /usr/local/etc/raddb
    1177 svn co http://svn.wirelessleiden.nl/svn/code/eduroam-bullet/trunk/radius-wl/ /usr/local/etc/raddb
     1186svn co http://svn.Wireless Leiden.nl/svn/code/eduroam-bullet/trunk/radius-wl/ /usr/local/etc/raddb
    11781187chown -R freeradius:freeradius /usr/local/etc/raddb
    11791188}}}
     
    11821191
    11831192{{{
    1184 svn checkout http://svn.wirelessleiden.nl/svn/code/eduroam-bullet/trunk/files/ /usr/local/etc/ --depth empty
     1193svn checkout http://svn.Wireless Leiden.nl/svn/code/eduroam-bullet/trunk/files/ /usr/local/etc/ --depth empty
    11851194cd /usr/local/etc/
    11861195svn up dhcpd.conf