What about creating my own low powered development network infrastructure at home? Sounds like a good idea right? You can hack the router settings, creating vlans, control your network traffic, ...
Other reason is to create an abstraction layer between your ISP router and your physical network that can be moved when you move to your shinny new flat!
Let's get to business then. The router hardware is composed by a raspberry PI model A and a USB WiFi (802.11b/g/n) Module with Antenna for Raspberry. The raspberry was configured to boot from a 4gb USB pen drive with a swap partition and the /tmp size was increased ( instructions ).
My router is using 10.0.0.0/24 network and my internal network 10.10.0.0/24.
First of all install the software:
sudo apt-get install hostapd bind9 isc-dhcp-server ntpdate
This will install AP, DNS, DHCP and NTP support.
Now you need to configure the following files (click on each title to see the configuration!):
Configure the network interfaces.
Configure the firewall, NAT, and forwarding rules.
> sudo vim /etc/default/isc-dhcp-server
> sudo vim /etc/rsyslog.conf
# add the line
# Enable dynamic dns
> sudo chown bind /etc/bind/
Enables the wireless access point.
We need to sync the initialisation of the raspberry to first get the date from NTP servers and then initialise the router services.
sudo update-rc.d hostapd remove
sudo update-rc.d bind remove
sudo update-rc.d isc-dhcp-server remove
sudo update-rc.d ntp remove
Now we create the boot script to initialise all:
sudo update-rc.d init-router defaults
sudo update-rc.d init-router enable
I'm very happy with the raspberry performance. I did not notice any significant decrease on network speed. My next step is to configure vlan support and dynamic dns support to be able to access when I'm away from home.
Also I'll fiddle a little around the iptables rules to have full network control.
If you have any troubles or suggesting you can always contact me.