Managing DHCP

DHCP stands for Dynamic Host Configuration Protocol and is the very first thing your thin client uses to obtain an IP address from the network, in order to allow it to start booting. In Edubuntu, the dhcpd file is located in /etc/ltsp. Any changes you want to make to booting behaviour should be made there.

By default, Edubuntu ships a dhcpd.conf that serves thin clients in a dynamic range (i.e. it will hand out ip addresses to anyone who asks for them) from 192.168.0.20 to 192.168.0.250. The default dhcpd.conf file looks like:

#
# Default LTSP dhcpd.conf config file.
#

authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.20 192.168.0.250;
    option domain-name "example.com";
    option domain-name-servers 192.168.0.1;
    option broadcast-address 192.168.0.255;
    option routers 192.168.0.1;
#    next-server 192.168.0.254;
#    get-lease-hostnames true;
    option subnet-mask 255.255.255.0;
    option root-path "/opt/ltsp/i386";
    if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
        filename "/ltsp/i386/pxelinux.0";
    } else {
        filename "/ltsp/i386/nbi.img";
    }
}
            

This dhcpd.conf should handle most situations.

By default, Edubuntu will detect an unused network interface and configure it to be 192.168.0.254. Edubuntu's recommended single server installation is to use a separate network interface for the thin clients. If, however, you're not using two network interfaces, or you already have an interface in the 192.168.0 range, then you might have to configure the thin client interface differently, which means you may have to adjust the dhcpd.conf accordingly.

If the network interface that you're going to connect the thin clients to has, say, a TCP/IP address of 10.0.20.254, you'll want to replace every occurance of 192.168.0 with 10.0.20 in the dhcpd.conf file.

Always remember, you'll need to re-start the dhcp server if you make any changes. You can do this by issuing the command:

sudo invoke-rc.d dhcp3-server restart
            

at the command prompt.

Adding static entries to the dhcpd.conf

Sometimes, you may need to have a certain terminal boot with a guaranteed fixed TCP/IP address every time. Say, if you're connecting a printer to the terminal, and need to make sure the print server can find it at a fixed address. To create a fixed address, use a low number in the range of 2-19, or otherwise, if you change the range statement in the dhcpd.conf.

To create a static entry, simply add the following after the "option root-path" line:

host hostname {
    hardware ethernet     MA:CA:DD:RE:SS:00;
    fixed-address         192.168.0.2;
}
                

Substitude the mac address for the mac address of the thin client you wish to fix the address of. The fixed-addres will be the TCP/IP address you want, and "hostname" is the name you wish to give the host.

DHCP failover loadbalancing

Another common method of loadbalancing is to use DHCP loadbalancing. There's an excellent writeup on the topic at: https://wiki.edubuntu.org/EdubuntuDHCPload-balancingFailover