Changes between Version 42 and Version 43 of WikiStart


Ignore:
Timestamp:
May 3, 2013, 11:22:40 PM (12 years ago)
Author:
walter
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v42 v43  
    2929*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.
    3030
    31 = NEW HOWTO =
    3231== technische en organisatorische benodigdheden ==
    3332
     
    35341. "!AccesPoints" meerdere (types) die als "eduroam" multiSSID hotspot zullen fungeren via OpenWRT.
    36352. "Radius-!Server/Proxy & gateway" een enkele centraal gepositioneerde server via FREEBSD.
    37 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 matige en software matige eisen zijn er nog vier andere organisatorische eisen nodig waaronder:
     36De 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 matige en software matige eisen zijn er nog vier andere organisatorische eisen nodig waaronder:
    38371. toegang/inlog-gegevens tot de centrale eduroam/surfnet/surf-foundation identityprovider koppel server.
    39382. ip whitelisting voor toegang tot die server.
     
    43426. internet?
    4443
    45 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: MultiSSIDname, 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.
     44Met 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.
    4645
    4746Door 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! 
     
    5150Met 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.
    5251
    53 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 / 12.09 releases. Maar vooral omdat compileren van een openwrt build omgeving en image 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 accesspoints (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 is een wpa2 enterprise met radius client functie maken (enkel openvpn ontbreekt)!
    54 
    55 Het !AccessPoint zal met multiSSID ingesteld worden en bridged al het internet verkeer van de beveiligde "eduroam" SSID naar een externe router en het verkeer van de open "ap.voorbeeld.wleiden.net" SSID via interne NAT/routing of via een bridge. TODO Deze laatste zou ook direct moeten bridgen naar de eth0/wan interface, maar daarvoor zijn momenteel de firewall regels te generiek en word deze extra bridge geblokkeerd door de br+ wildcard en moet br-lan worden??? De eth0 interface met eigen ip word br-wan met eigen ip... hierdoor kan openvpn/rest de boel niet meer begrijpen? Het is waarschijnlijk de interface aanduiding in iopenvpn KLOPT? Wanneer dit lukt dan bridged deze bedraad het verkeer naar een Wireless Leiden node die een eigen Captive Portal en router/gateway draait hiermee kan de NAT/Routing en bijbehorende aanpassingen van het AP op de schop!
     52In 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 / 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 accesspoints (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 is een wpa2 enterprise met radius client functie maken (enkel openvpn ontbreekt)!
     53
     54Het !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.voorbeeld.wleiden.net" SSID kan via interne NAT/routing afgehandeld worden of via een bridge direct een Wireless Leiden node in die reeds met captive portal en juiste routing is ingericht. TODO Deze laatste zou ook direct moeten bridgen naar de eth0/wan interface, maar daarvoor zijn momenteel de firewall(/etc/firewall /etc/config/firewall) regels te generiek en word deze extra bridge geblokkeerd door de br+ wildcard en moet br-lan worden??? De eth0 interface met eigen ip word br-wan met eigen ip... hierdoor kan openvpn/rest de boel niet meer begrijpen? Het is waarschijnlijk de interface aanduiding in iopenvpn KLOPT? Wanneer dit lukt dan bridged deze bedraad het verkeer naar een Wireless Leiden node die een eigen Captive Portal en router/gateway draait hiermee kan de NAT/Routing en bijbehorende aanpassingen van het AP op de schop!
    5655
    5756==== 1.2a fixed OpenWRT release ====
    5857
    59 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 actual template config files for your own custom setup! TODO Instead of the Backfire 10.03.1 release, Attitude Adjustment 12.09 can be used, just change the download links according to your needs for release and hardware image!
     58The 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 actual template config files for your own custom setup! TODO Instead of the Backfire 10.03.1 release, Attitude Adjustment 12.09 can be used, just change the download links according to your needs!
    6059
    6160{{{
     
    159158        option ignore   1
    160159
    161 config dhcp wlgst
    162         option interface        wlgst
    163         option start    5
    164         option limit    252
    165         option leasetime        1h
     160#comment!
     161#config dhcp wlgst
     162#        option interface        wlgst
     163#        option start   5
     164#       option limit    252
     165#       option leasetime        1h
    166166}}}
    167167
     
    185185config zone
    186186        option name             wan
    187         option network          'eth0'
     187        option network          'eth0' #change to wan
    188188        option input            REJECT
    189189        option output           ACCEPT
     
    192192        option mtu_fix          1
    193193
    194 # Allow multiple ssid accespoint
    195 config zone
    196         option name             wlgst
    197         option input            REJECT
    198         option forward          REJECT
    199         option output           ACCEPT
     194# Allow multissid wlgst accespoint
     195#config zone
     196#       option name             wlgst
     197#       option input            REJECT
     198#       option forward          REJECT
     199#       option output           ACCEPT
    200200
    201201# Changing wan > eth0 made all these rules active!
     
    212212        option dest             wan
    213213
    214 # Allow wlgst to internet wan/eth0?
    215 config  forwarding
    216         option src      wlgst
    217         option dest     wan
     214# Allow wlgst to internet wan
     215#config forwarding
     216#       option src      wlgst
     217#       option dest     wan
    218218
    219219# Allow wlgst  -> Router
    220220# Client DNS queries ordinate from dynamic UDP ports (>1023)
    221 config  rule
    222         option src              wlgst
    223         option dest_port        53
    224         option proto            tcpudp
    225         option target           ACCEPT
    226 
    227 # Allow DHCP Guest -> Router
     221#config         rule
     222#       option src              wlgst
     223#       option dest_port        53
     224#       option proto            tcpudp
     225#       option target           ACCEPT
     226
     227# Allow wlgst DHCP -> Router
    228228# DHCP communication uses UDP ports 67-68
    229 config  rule
    230         option src      wlgst
    231         option src_port 67-68
    232         option dest_port        67-68
    233         option proto    udp
    234         option target   ACCEPT
     229#config         rule
     230#       option src      wlgst
     231#       option src_port 67-68
     232#       option dest_port        67-68
     233#       option proto    udp
     234#       option target   ACCEPT
    235235
    236236# We need to accept udp packets on port 68,
     
    314314        option netmask  255.0.0.0
    315315
    316 config interface eth0
     316config interface eth0 #wan applies firewall rules
    317317        option ifname   eth0
    318318#       option type     bridge
    319319        option proto    static
     320#       option proto    dhcp
    320321        option ipaddr   172.16.6.13
    321322        option netmask  255.255.255.248
     
    327328        option type     bridge
    328329
    329 config interface wlgst
     330#config interface wlgst
    330331#       option ifname   wlgst
    331332#       option type     bridge
    332         option proto    static
    333         option ipaddr   192.168.5.1
    334         option netmask  255.255.255.0
     333#       option proto    static
     334#       option ipaddr   192.168.5.1
     335#       option netmask  255.255.255.0
    335336}}}
    336337#/etc/config/system
    337338{{{
    338339config  system
    339         option  hostname  eduroam-bullet
     340        option  hostname  eduroam-bullet #!Unique!
    340341        option  timezone  CET-1CEST,M3.5.0,M10.5.0/3
    341342
     
    372373config wifi-iface
    373374        option device   radio0
    374         option network  wlgst
     375        option network  wan #wlgst
     376        option bridge   br-wan
    375377        option mode     ap
    376378        option ssid     ap.haaswijk.wleiden.test
     
    443445iptables -I FORWARD -o tap+ -j ACCEPT
    444446
    445 iptables -I INPUT -i br+ -j ACCEPT
    446 iptables -I FORWARD -i br+ -j ACCEPT
    447 iptables -I OUTPUT -o br+ -j ACCEPT
    448 iptables -I FORWARD -o br+ -j ACCEPT
     447iptables -I INPUT -i br-lan -j ACCEPT   #br+
     448iptables -I FORWARD -i br-lan -j ACCEPT #br+
     449iptables -I OUTPUT -o br-lan -j ACCEPT  #br+
     450iptables -I FORWARD -o br-lan -j ACCEPT #br+
    449451
    450452iptables -t nat -A POSTROUTING -o br-lan -j MASQUERADE
     
    479481The following files need to be created but are common on all ap's that are used for this setup.
    480482
    481 #/sbin/wifi-update
     483#/sbin/wifi-update TODO TEST!!!
    482484{{{
    483485#!/bin/sh
     
    498500while [ true ]; do
    499501  if [ -z "$(pid)" ]; then
    500     ifconfig eth0 | grep -q inet\  || udhcpc
     502    ifconfig br-wan | grep -q inet\  || udhcpc #eth0
    501503    /etc/init.d/sysntpd start > /dev/null
    502504    /usr/sbin/openvpn $@
     
    507509
    508510##TODO openvpn key/certificates
     511Skip to section 3 of this howto and when you have a tar file with keys comeback ;-)
     512
    509513# upload openvpn config and keys (keys.tar)
    510514# run this script from local pc shell
     
    512516
    513517## install config files to correct location
    514 # only network and system may be specific
     518#
    515519scp -r customize/ root@192.168.1.100:/
    516520
     
    537541
    538542==== 1.2b "quick&dirty" Ubiquiti AirOS ====
    539 De huidige 5.5.4 Ubiquiti AirOS software maakt het mogelijk het AP direct als radius "client" te laten fungeren. Dit is handig voor snel testen of uitrollen van inpandige afgeschermde infrastructuur waarbij het encrypten van het radius en internet verkeer via openvpn niet nodig is! Het is zo eenvoudig dat je enkel na het resetten van het apparaat, hem als normaal AP configureert(vergeet AirMax niet uit te zetten!) dan geef je bij Wireless security geen WPA2-"PSK" maar "EAP" op. Direct verschijnt er een optie om een Authenticating radius server/proxy op te geven met IP:PORT:secret wanneer deze ingevuld worden is er direct al een werkend wpa2 enterprise AP oftwel eduroam! Verdere setup met NAT/Bridging/VLAN is wel aan te beleven maar moet nog uitgezocht worden.
    540 
    541 === 2 setup !Radius-Server/Proxy  & gateway ===
     543De huidige 5.5.4 Ubiquiti AirOS software maakt het mogelijk het AP direct als radius "client" te laten fungeren. Dit is handig voor snel testen of uitrollen van inpandige afgeschermde infrastructuur waarbij het encrypten van het radius en internet verkeer via openvpn niet nodig is! Het is zo eenvoudig dat je enkel na het resetten van het apparaat, hem als normaal AP configureert(vergeet AirMax niet uit te zetten!) dan geef je bij Wireless security geen WPA2-"PSK" maar "EAP" op. Direct verschijnt er een optie om een Authenticating radius server/proxy op te geven met IP:PORT:secret wanneer deze ingevuld worden is er direct al een werkend wpa2 enterprise AP oftwel eduroam! Verdere setup met NAT/Bridging/VLAN is wel aan te bevelen maar moet nog uitgezocht worden.
     544
     545=== 2 setup Radius-!Server/Proxy  & gateway ===
    542546Moet nog uitgezocht / getest worden, zie oud voorbeeld!!! Wel kan ik specifieke veranderingen van config bestanden en opties/parameters toevoegen aan de huidige setup! zoals openvpn server settings /usr/local/etc/rc.d opstart bestanden en parameters etc.
    543547
     
    545549TODO voltooid, oude handleiding geupdate maar zeer gebrekkig en functioneerd nog niet waarschijn firewall rules...
    546550
    547 ==== 2.1b Install debian 6 wheezy and services ====
     551==== 2.1b Install debian 6 wheezy/squeeze and services ====
    548552TODO Inmiddels is er een op debian 6 wheezy gebasseerde release nagebouwd, deze werkte tijdelijk en moet nog uitgeschreven worden.
     553download netiso mini.iso dd usb stick
     554#tasksel > ssh server + normal tools?
     555#postinstall
     556apt-get update
     557apt-get install subversion openvpn isc-dhcp-server freeradius
     558
     559Voornamelijk de config van raddb helemaal ombouwen omdat alle parameters voor FREEBSD zijn! dan nog een iptable edit doen en dan deed die het???
    549560
    550561=== 3 certnode sunfire uitzoeken ===
    551 Kan inloggen via public ssh keynop sunfire.wleiden.net kan daarinderdaad het script starten maar vervolgens kan deze niks vinden. Hoe maak ik dit lokaal na?
    552 sudo eduroam-cert "ap-hostname"
    553 ping sunny.wleiden.net / 172.16.4.46
    554 Heeft huub destijds uitgevoerd! Waar en hoe dat plaatsvind is nog onduidelijk
     562Kan inloggen via public ssh key op sunny/sunfire.wleiden.net kan daarinderdaad het script starten maar vervolgens kan deze niks vinden. Lijkt erop dat de oude server certificaten niet aanwezig zijn en er kunnen dan geen afgeleide client certifcaten gemaakt worden tevens missen er config bestanden, dus alles moet opnieuw? Hoe maak ik dit lokaal na?
     563Namaken: https://help.ubuntu.com/community/OpenVPN
     564Een easyrsa "server" certificate aanmaken, in de handleiding i.p.v. admin group die ontbreekt sudo kiezen. Tevens locatie van het cn bestand fixen met symlink!
     565
     566
     567Daarna kan je easyrsa "client" certificate aanmaken, enige opmerking daar is dat je KEY_CN=client voor het commando plaatst anders database error. Nu in de oude trend kun je het eduroam-cert script aanpassen en benodigde (geupdate)config bestanden in map key's plaatsen en daarin een map met packages aanmaken. Wanneer je dan het script draait maakt die inderdaad een tar bestand met alle instellingen.
     568
     569TODO Verzin leuke manier om dit in een batch workflow voor veel AP's clients in te passen... denken we vanuit dit concept met tar bestand of moeten we iets maken dat meteen meedere parameters zoals multiSSID ip-adres hostname wifichannel etc meeneemt op basis van MAC adres? Nog uitzoeken welk deel er naar de server moet 4 bestanden ca dh1024 server.crt/key?
    555570
    556571= Old HOWTO =