wiki:WikiStart

Version 25 (modified by walter, 11 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 het mogelijk maakt studenten (onderzoekers, docenten en overige medewerkers van een onderwijsinstelling) toegang te verschaffen tot het internet doormiddel van Eduroam 'via' het Wireless Leiden netwerk.

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.

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.

  1. 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/
    
  2. cd into the build directory
      cd eduroam
    
  3. update Feeds
     ./scripts/feeds update
     ./scripts/feeds install -a
    
  4. Copy build config
      cp package/post/config .config
    
  5. 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

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

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.