Version 26 (modified by 12 years ago) ( diff ) | ,
---|
eduroam via Wireless Leiden
Het doel van dit project is het ontwikkelen en testen van een prototype accesspoint (en achterliggende infrastructuur) dat de mogelijk bied: studenten (onderzoekers, docenten en overige medewerkers van een onderwijsinstelling) door naadloze integratie van eduroam via het "open" netwerk van Wireless Leiden, "veilig" toegang te verschaffen tot het internet.
eduroam algemeen
De eduroam roaming-infrastructuur laat zich in de hier volgende voorbeeld scenario ophelden. 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 dekkent is, word wel met een enkele generieke naam "X-netwerk" aangelegt, maar niet met een enkel generiek wachtwoord. Daarentegen heeft de instelling al zijn leden al geregeristeerd in een personendatabase en heeft voor ieder herleidbaar persoon al een unieke accountnaam en wachtwoord aangemaakt. Door de authenticatie en authorisatie tot het "gesloten en beveiligde" draadloze netwerk te laten verlopen via de inloggegevens uit de personendatabase, weet ieder lid direct zijn eigen wachtwoord om toegang tot het draadloze netwerk te krijgen. Daarnaast weet de instelling een mogelijk wachtwoord lek direct te herleiden tot een uniek persoon. In de gebruikelijke situatie wanneer Student 'Xx' bij zijn eigen onderwijsinstelling X vanuit de kantine het beveiligde en 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 student Xx 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 word "roaming" genoemd.
Maar nu, onderwijsinstelling 'Y' heeft exact dezelfde infrastructuur als onderwijsinstelling X, maar Y merkt dat gastdocenten van X met hun laptop op bezoek komen zij niet (automatisch) bij Y het internet op kunnen. Het is voor de onderwijsinstelling omslachtig om iedereen opnieuw te registreren of een tijdelijk wachtwoord uit te delen en voor gebruikers om hun apparaten te herconfigureren. Als oplossing draagt onderwijsinstelling Y eduroam aan. Door op beide onderwijsinstelling de naam van het draadloze netwerk gelijk te maken "eduroam", gaan laptops, tablets of telefoons wanneer ze van locatie veranderen automatisch het netwerk op dat ze herkennen? Dit werkt nog direct, er mist een essentieel onderdeel! Onderwijsinstelling Y heeft niet de personendatabase met inloggegevens van onderwijsinstelling X om tegen te authenticeren, dus gebruikers van X op het netwerk bij Y krijgen alsnog de melding dat hun inloggegevens ongeldig zijn, nadat hun apparaten automatisch en tevergeefs proberen te verbinden. Wanneer er nu via een "centrale server" alleen de authenticatie "aanvragen" doorgestuurd worden naar die van de eigen instelling en de authorisatie "goedkeuringen" worden afgeleverd bij de instelling waar de gebruiker zich bevind, dan blijven de persoonsgegevens binnen de eigen onderwijsinstelling waar ze horen en kan de gebruiker bij de andere instelling toch het internet op zonder ook maar iets aan zijn apparaat te hoeven instellen. Vergelijkbaar met mobiele telefoons die tijdens telefoon gesprek in een auto rit van stad A naar B diverse toegangspunten (Telefoon Cells) passeren en zonder dat de gebruiker het merkt dat zijn verbinding weg valt.
A. Achtergrond informatie
De 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.
- 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
- 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
- parallel is een wat andere oplossing ontwikkeld door Richard, als vrijwilliger van Wireless Leiden op basis van Ubiquity hardware (bullet2HP).
We willen nu een test doen met een prototype. Hiervoor is een openvpn-server geinstalleerd in het kantoor van Prof. Katzy, verbonden aan NodePlantsoen2, met een verbinding naar een authenticatieserver van Surfnet. De resultaten van dit project worden hier gerapporteerd.
B. Configureren van Bullet2HP als Eduroam accesspoint
De procedure is als volgt:
- bouw een keer de OpenWRT-image
- upload de image naar de Bullet2HP
- upload individuele vpn info naar de bullet (dus niet openwrt opnieuw bouwen)
B.1 Opzetten van een host machine voor OpenWRT-images
De hostmachine is een PC met Ubuntu 11.10 waarbij de packages subversion, build-essential, flex, gettext, libz-dev, gawk, ncurses, libncurses5-dev en ncurses-term en tftp.
- Checkout the files we need
svn co svn://svn.openwrt.org/openwrt/branches/backfire eduroam svn co http://svn.wirelessleiden.nl/svn/code/eduroam-bullet/trunk/openwrt-package/post/ eduroam/package/post/
- cd into the build directory
cd eduroam
- update Feeds
./scripts/feeds update ./scripts/feeds install -a
- Copy build config
cp package/post/config .config
- BUILD
make
Volgende stappen nog niet getest 6. 1. If you have a fresh new Air OS install you can upload the following image to your bullet. You will get a message that this is not a ubnt image, you can ignore this message. Just in case be ready to use method 2 (recovery mode) with a ubnt image. bin/ar71xx/openwrt-ar71xx-ubnt-bullet-m-squashfs-factory.bin 2. You need a tftp client for this, tested on Ubuntu 10.10 1. First of all, power off the device 2. Set your laptop in the 192.168.1.0/24 range, not being 192.168.1.20 3. Connect the Bullet to your computer via a utp cable 4. Begin by pressing the reset button. Keep holding it, then power the unit on. Wait 8 seconds then release the button. Signal LEDs will be lit indicating that the device is ready for recovery. On your computer 5. cd bin/ar71xx/ 6. tftp 192.168.1.20 7. bin 8. trace 9. put openwrt-ar71xx-ubnt-bullet-m-squashfs-factory.bin 10. quit 11. Wait for a couple of minutes, your bullet will be reachable on 192.168.1.1 as openwrt 7. Default password: Edur0@m 8. Creating unique vpn info: 1. Make up a fancy name, in this manual it will be 'name' or <name> 2. Login into a certnode (For wl:sunfire) 3. Execute from your own user: sudo eduroam-cert <name> 4. Output will look like: sunfire% sudo eduroam-cert name NOTE: If you run ./clean-all, I will be doing a rm -rf on /usr/local/share/doc/openvpn/easy-rsa/2.0/keys Generating a 1024 bit RSA private key .....++++++ .....................++++++ writing new private key to 'name.key' ----- Using configuration from /usr/local/share/doc/openvpn/easy-rsa/2.0/openssl-0.9.8.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'NL' stateOrProvinceName :PRINTABLE:'ZH' localityName :PRINTABLE:'Leiden' organizationName :PRINTABLE:'WL' organizationalUnitName:PRINTABLE:'Techniek' commonName :PRINTABLE:'name' name :PRINTABLE:'WL' emailAddress :IA5STRING:'noreply@wirelessleiden.nl' Certificate is to be certified until Feb 27 13:32:30 2022 GMT (3650 days) Write out database with 1 new entries Data Base Updated 5. in you home directory there will be a file called <name>.tar, copy this file to a network reachable the bullet locally 6. untar it: tar -xf <name>.tar 7. In the current directory there will now be a folder called keys, cd in to it 8. execeute: sh upload <local ip of bullet> 9. Enter the root password twice, after which your bullet will reboot 10. You bullet will build a vpn connection according to the data in the tar file To add: If something goes wrong I need: the output of the following commands ls -l /usr/sbin/ cat /var/log/openvpn.log ifconfig -a iwconfig
Terug flashen van de oorspronkelijke ubiquity firmware op dezelfde wijze als boven omschreven, m.b.v. tftp. Dit moet in 'recovery modus': tijdens het opstarten de reset knop ingedrukt houden; het ip-adres van de bullet2 is dan weer 192.168.1.20.
C. Opzetten van een Radius proxy
De Authenticatieserver is een Radiusserver. De gebruikersaccounts van een Eduroam-instelling zijn niet beschikbaar bij andere instellingen (dus ook niet bij Wireless Leiden). Om 802.1x/Eduroam op het Wireless Leiden netwerk te laten werken zijn geen gebruikersaccounts nodig, de authenticatieverzoeken kunnen doorgezet worden naar de Surfnet-Radiusserver (proxy). De Surfnet-Radiusserver stuurt het verzoek op zijn beurt door naar de Radiusserver van de deelnemende instelling waaraan de gebruiker verbonden is. De Radiusserver van deze deelnemende instelling bevat de gebruikersaccounts. De Accept of de Reject op het authenticatieverzoek wordt via het zelfde pad teruggestuurd, waarna de node toegang verschaft (of niet).
Op basis van het afstudeerwerk van Richard is Freeradius voor de Radiusserver. Deze open-sourcesoftware voldoet aan de eisen en Freeradius is ook wat betreft beschikbare opties de meest aantrekkelijke open-source Radiusserver.
Uitgangspunt: (embedded) pc met Freebsd 8.2, minimal install
- Installeer de volgende software (log in als root)
fetch ports
$ portsnap fetch extract
installeer subversion
$ make -C /usr/ports/devel/subversion install clean BATCH=yes
installeer openvph
$ make -C /usr/ports/security/openvpn-devel install clean BATCH=yes
checkout openvpn-wl
svn co http://svn.wirelessleiden.nl/svn/code/eduroam-bullet/trunk/openvpn-wl/ /usr/local/etc/openvpn
installeer freeradius
$ make -C /usr/ports/*/freeradius install clean BATCH=yes
vervang /usr/local/etc/raddb
rm -R /usr/local/etc/raddb svn co http://svn.wirelessleiden.nl/svn/code/eduroam-bullet/trunk/radius-wl/ /usr/local/etc/raddb chown -R freeradius:freeradius /usr/local/etc/raddb
installeer isc-dhcp42-server
$ make -C /usr/ports/*/isc-dhcp42-server install clean BATCH=yes
svn checkout http://svn.wirelessleiden.nl/svn/code/eduroam-bullet/trunk/files/ /usr/local/etc/ --depth empty cd /usr/local/etc/ rm dhcpd.conf svn up dhcpd.conf
- Toevoegingen aan het configuratiebestand /etc/rc.conf
# enable: Freeradius radiusd_enable="YES" # enable: openvpn en tap openvpn_enable="YES" openvpn_if="tap" ifconfig_tap0="192.168.4.1/24 up" # We want to route the traffic gateway_enable="YES"
Attachments (1)
- logo-eduroam.png (10.6 KB ) - added by 13 years ago.
Download all attachments as: .zip