This guide will explain on how to enable FreeBSD’s internal BootP daemon and some basic configuration. BootP is a protocol like DHCP except is typically used by older technology, like my Asante IntraCore 6014DSB.
- Local root access on the box or be able to su to root.
- A SSH client of some sort (if you don’t have local access to the box).
- Your favorite text editor (I like nano).
- Something that uses BootP to test this whole thing afterward (Mac OS X still has support for the BootP protocol).
The BootP daemon is built-in to FreeBSD so there’s no need to install it. All that’s left to do is create a directory and configuration file.
# cd /etc # touch bootptab # mkdir /usr/boot
If you’d rather use something other than /usr/boot be sure to remember this for later in the config file.
The first step is to create the configuration file so the daemon actually has some idea of what’s going on.
# nano -w /etc/bootptab .default: :hd=/usr/boot:bf=null: :ds=10.10.10.8: :ns=10.10.10.8: :sm=255.255.255.0: :gw=10.10.10.8: :hn:to=-18000:
A bit of explination here. :hd is the BootP daemon’s home directory (for specific boot files, I believe. Be sure to create this directory!). :ds is the domain server (since I don’t have a domain I just used the server’s address). :ns is the internal name server’s address/ip. :sm is the subnet mask you’d like to have the machine that’s using BootP use. :gw is the gateway server’s address.
Alright, now that we’ve set some basic paramaters, it’s time to specify a client.
Add something that looks like the following to the end of the file:
The first bit, “fenris” the the machine’s name (the name of my laptop). :ha is the machine/NIC’s MAC address. :tc is the template to use, in this case we want to use .default since that’s all we have so far. And, :ip is the ip you wish to assign to the machine.
Now we need to fire up the daemon:
# /usr/libexec/bootpd /etc/bootptab
This is really only useful if you have something that requires using the BootP protocol, DHCP is much better (and makes a lot more sense) for general network management and IP association.