IRIS : developing a new node concept

In the IRIS project we are developing a new node concept based on a separation of the 'radio interfaces' and the 'base node'.

The NanoBSD page is the place to be for up2date information on how to build/configure/create a WL node image. As always this project could use your help, by Contributing to various parts of the project. PowerSupply gives you a hint on which powersupply to use.

The ConfigureBridge page shows you which bridges we use and how-to configure them. The WLCaptivePortal shows you how-to configure the captive portal software.


A node, type IRIS, is built using NanoBSD with some extensions a.o. to make package management a bit easier. Also the internet gateway (providing internet connectivity to the local wireless network) is based on NanoBSD.

The nodes are FreeBSD routers with DNS (bind), lvrouted as a dynamic internal routing daemon, thttpd webserver and a python based captive portal based on pf and {tcpserver for the plain HTTP-redirects. Moreover there are some additions which are essential for large scale network monitoring such a nagios plugins and bandwith measurment tools (iperf).

A proxy gateway is a http-proxy based on tinyproxy and an authorative DNS server (bind). Included is also reverse ssh-tunneling (for remote management behind NAT firewalls). Nodes use pen with a home-build pen-wrapper to select the 'best' proxy (i.e. the highest bandwith). An alternative is a packet filtering firewall using pf to allow only port 80, 443 rate limited traffic. Packet filtering gateways use lvrouted to advertise a default route.


Tim Baas, student at Hogeschool Leiden has prototyped the software as his afstudeerwerk. His documentation is available in the svn projects iris-directory (in Dutch). See also the youtube video's for the initial pilot description:

Roll out

In the course of 2009/2010/2011/2012 we have revamped most of our nodes (some still left to be modified in 2012) and also built some new ones. We have chosen the following hardware configuration:

  • nodemachine based on a ALIX2D3 board with 1 GB compact flash card containing the software.
  • 802.11a interlinks based on Ubiquity NanoStation5, NanoStation5M, Bullet5.
  • Local accesspoint with 8 dB omni antenna and Atheros CM9 MiniPCI wireless card.

Open Tickets

Ticket Summary Status Owner Reporter Keywords
#214 package management met FreeBSD-10 new nobody huub
#213 Freebsd10.0-RC1 error in building disk image (invalid partition table) new nobody huub
#209 Bridgen van accesspoint interfaces new nobody rick
#206 if_axe usb-lan adapter werkt niet onder 10.0-RC4 new huub
#205 alternatief voor thttpd? new nobody huub
#202 md size bij Soekris nodes te groot new nobody huub
#201 /usr/local/bin/http302 - log access new rick rick
#200 Link-Layer discovery op de nodes assigned rick rick
#199 out of swap (named killed) new nobody huub
#197 gateway op 'normal proxy' werkt niet goed new nobody huub
#196 configuratie externe if bij 'normal proxy' new nobody huub
#193 ipfw instead of pf firewall new nobody rick
#192 lvrouted packetje komen niet terug new nobody richardvm lvrouted
#191 Beter managen van HTTP/HTTPS stromen op de proxies new nobody rick
#190 gateway op rdr only hybrids gaat niet goed. new nobody rick
#186 Toestaan sommige external IPs buiten de captive portal om. new nobody rick
#184 lvrouted new nobody richardvm lvrouted restart neighbor
#181 lvrouted pikt 'nieuwe' default route niet op new nobody huub
#177 convert alias on network to real subnets new rick rick
#166 wlportal debug message new nobody rick
#165 captive portal new nobody richardvm
#138 hybrid ileiden proxy makes extra hop in lvrouted -z new rick rick
#112 DNS infrastructure * new nobody rick dns, infrastructure
#51 Wireless Leiden node webinterface aka as wlweb new nobody rick

Starting Points for Trac

For a complete list of local wiki pages, see TitleIndex.

Last modified 6 months ago Last modified on 20-10-2013 12:58:34

Attachments (2)

Download all attachments as: .zip