Adding DNS entries to a Fonera 2.0n or what’s FON really about?

Ian Leader: I’ve been using a LinkSys (now Cisco) WRT54GL as my home WiFi / router / firewall for about four years, and particularly since the OpenWrt initiative released the WhiteRussian version of their open source firmware, it’s been a joy to use: a fully-featured, flexible web GUI with both simple and advanced administration modes, access to a very wide range of linux packages, and a plugin architecture in the web GUI that allows you to add and configure a great deal of them without getting your hands dirty.

However, the hardware’s old and doesn’t support 802.11N wifi, so I bought a Fonera 2.0n. As well as 802.11N, it’s got a host of other features like USB support (for storage or webcams, or…) and applications to handle uploads and downloads to Picasa, FaceBook, Torrents and other applications / protocols. It’s also based on OpenWrt, and uses a version of the same Luci user interface.

Unfortunately, for my setup there was one key difference: There’s a module called dnsmasq on both platforms that runs a DNS server (amongst other things), and allows you to specify DNS entries for local servers. In OpenWrt WhiteRusian this is pretty simple: You add entries to /etc/hosts.local in the normal format e.g.

192.168.1.100 server1

Then reboot the device (this is pretty brute force, but simpler than remembering which init.d / rc.d script to run). Other settings like the DNS suffix (e.g. myhouse.mydomain.com) can be set in the web UI.

The Fonera doesn’t play nicely like this, and there simply doesn’t seem to be any file pre-configured where you can add entries, nor does it let you set the DNS suffix through the web UI. Here’s how I made it work:

  1. First, you need to install the devloper version of the firmware so that you can access a command line on the device using SSH. Get it here and install according to these instructions – it takes about 5 minutes.
  2. Download an SSH client (e.g. Putty) and log into your router (same IP address and credentials that you use on the web UI)
  3. Create the file /etc/hosts.local and add your DNS entries (see /etc/hosts for format)
  4. Edit the file /etc/config/dhcp and replace the section ‘config dnsmasq’ with the following (the important changes are in bold):
config dnsmasq
 option domainneeded     0
 option boguspriv        1
 option filterwin2k      '0'  #enable for dial on demand
 option localise_queries 1
 option local    '/lan/'
 option domain   'myhouse.mycompany.com'
 option expandhosts      1
 option nonegcache       0
 option authoritative    1
 option readethers       1
 option leasefile        '/tmp/dhcp.leases'
 option resolvfile       '/tmp/resolv.conf.auto'
 option addnhosts        '/etc/hosts.local'

Finally, reboot.

A bit more complicated…

Although I’m glad that FON have based the 2.0n on an open firmware, and are not locking down the hardware with encryption keys, I can’t help feeling that they’ve taken a GUI that is simple, powerful and flexible, and dumbed it down for no good reason (remember, the standard OpenWRT WhiteRussian Web UI already has beginner and advanced modes). Why not let OpenWrt do the heavy lifting, and focus on adding the extra modules like the facebook upload app and torrent port.

This would possibly make the value-added features over the Fonera available on other non-FON hardware, but should this be a concern for FON? It’s a question of their purpose: I’ve always thought that FON was about creating a useful community of shared Hotspots, not selling WiFi routers, so I believe they should focus on putting hotspots in useful places (e.g. airports) and making their open hotspot s/w available on as many platforms as possible, not building their own hardware and user interfaces. Or maybe that’s not working: FON are about to ship a European version of the Peek non-wifi, email-only device, which they describe as “Perfect for those moments when you can’t find WiFi”.


0 Responses to “Adding DNS entries to a Fonera 2.0n or what’s FON really about?”



  1. Leave a Comment

Leave a Reply




Archives

Ian’s Tweets

Jon’s Tweets