Configuring dnsmasq to for use with LTSP

Introduction

Ltsp is a loverly little setup, I wont go into full details of what it actually does, you can find that over at ltsp.org. But basically it allows for a thin client setup using very low end hardware. Which is a very handy thing as it saves the need for high end hardware on every desk. Rare for an open source project, ltsp has some excellent documentation. This documentation is very handy if you are on a blank slate, or already use some of the tools on your network, specifically, the dhcp server. If you use the ISC DHCP, then you are off to a winner from step one and the instructions are very simple.

I don't use the ISC DHCP server on my network here at home. I use a tool called dnsmasq, which is a very nice peice of software, amazingly lightweight, and works perfectly for what I need in my flat. The router it runs on is a pentuim 90, so isn't exactly a performance beast, but dnsmasq suits itself perfectly to that environment, something bind and ISC DHCP do not. This said, when you goto setup ltsp using dnsmasq as the dhcp server, you will find that there is no documentation for it. So here is my config, to help those who may want to do ltsp with dnsmasq.

The config

The actual code needed is actually remarkably simple, infact, the Dnsmasq side of things is only 2 lines:

#The tftp path, server and IP for the initial PXE image
dhcp-boot=/lts/2.6.17.8-ltsp-1/pxelinux.0,server0,192.168.0.1
#NFS server and path for the root filesystem for ltsp
dhcp-option=17,192.168.0.11:/opt/ltsp/i386

And its really that simple, the main issue I had with this is lots of documentation is out there for the ISC DHCP server, but none of any real use for dnsmasq. This said, it wasn't that hard to find the information, it just required abit of googling of RFC's, specifically RFC 1497. This lists each of the bootp tags that the server can send out, and as the dnsmasq config works mostly with these tags rather than the isc's config using strings for variables, you simply need to find the right tag number, and put it in immediately after the dhcp-option string. Simple really. I have left out the usual gateway, dns, domain, dhcp-range, broadcast, netmask etc... If you are reading this document, then you probably have all that setup on your network anyway.

Other LTSP config notes

When we finally got this all working we found one minor problem on boot, and that was the tftpd we had installed (debians default tftpd package) was to trivial for what was needed, it lacked a couple of the parameter extensions needed to boot the boxes I had, but this was quickly delt with by installing the atftpd instead. After that, it all just worked beautifully!


This page last modified Wednesday, 03-Jun-2009 02:26:46 CEST.