There are two common dhcp packages, one from ISC and from CMU. NetBSD ships with the ISC implementation, since it is actively supported and runs on a wide variety of OSes. Many OSes ship with this server pre-installed.
The /etc/dhcpd.conf file has a standard format across all platforms. The formatting is very flexible. We provide a simple version that functions for serving a client with a fixed (i.e. pre-determined) address. For a more thorough understanding of how to configure the ISC dhcpd we suggest reading the man pages: dhcpd(8), dhcpd.conf(5), and dhcpd-options(5). You might also want to read the NetBSD DHCP HOW-TO. You might also want to poke around the official ISC DHCP website.
Be careful when using next-server directive when using tftp as the next stage of bootloading. The client will assume that this next-server handles both tftp and nfs.
The sample dhcpd.conf includes comments. We suggest you save this into your /etc directory and modify the addresses for your site. Not all of the options listed in this file are necessary for most clients, however, it is best if you leave them in and remove the options if they get in the way.
Setting up dhcpd, NetBSD
Setting up dhcpd, ISC's DHCPD (NetBSD, OpenBSD,
FreeBSD, Mac OS X, Darwin, Linux, SunOS, Solaris, NEXTSTEP, HP-UX, BSD/OS,
OSF/1, and Ultrix)
Setting up dhcpd, CMU's DHCPD (older versions of
SunOS, Solaris, HP-UX, IRIX, and AIX)
Setting up dhcpd, Solaris
[If you have details for any other platform, please let us know]
If your OS isn't listed here, you can try compiling it from one of these source packages:
pseudo-device bpfilterThe GENERIC kernel distributed with NetBSD has this compiled in.
This will start dhcpd in debugging mode. When dhcpd gets a request, it will print the following message:
BOOTREQUEST from CC:CC:CC:CC:CC:CC via le0 (non-rfc1048) BOOTREPLY for 192.168.1.10 to client.test.net (CC:CC:CC:CC:CC:CC) via le0 DHCPDISCOVER from CC:CC:CC:CC:CC:CC via le0 DHCPOFFER on 192.168.1.10 to CC:CC:CC:CC:CC:CC via le0 DHCPREQUEST for 192.168.1.10 from CC:CC:CC:CC:CC:CC via le0 DHCPACK on 192.168.1.10 to CC:CC:CC:CC:CC:CC via le0The bootloaders typically do not give any feedback, but when the kernel is looking for a root filesystem, it will print the following message:
boot device: <unknown> nfs_boot: trying DHCP/BOOTP nfs_boot: DHCP server: 0xC0A80105 nfs_boot: my_name=client nfs_boot: my_domain=test.net nfs_boot: my_addr=0xC0A8010A nfs_boot: my_mask=0xffffff00 nfs_boot: gateway=0xC0A80101 root on :/export/client/root
Some platforms ship with the ISC DHCPD pre-installed (such as NetBSD, OpenBSD, FreeBSD, and Linux). You should check to see if it is pre-installed on your system and use that version instead of compiling a new version from scratch. The setup procedure is essentially the same, and the configuration file is identical.
This will start dhcpd in debugging mode. When dhcpd gets a request, it will print the following message:
BOOTREQUEST from CC:CC:CC:CC:CC:CC via le0 (non-rfc1048) BOOTREPLY for 192.168.1.10 to client.test.net (CC:CC:CC:CC:CC:CC) via le0 DHCPDISCOVER from CC:CC:CC:CC:CC:CC via le0 DHCPOFFER on 192.168.1.10 to CC:CC:CC:CC:CC:CC via le0 DHCPREQUEST for 192.168.1.10 from CC:CC:CC:CC:CC:CC via le0 DHCPACK on 192.168.1.10 to CC:CC:CC:CC:CC:CC via le0The bootloaders typically do not give any feedback, but when the kernel is looking for a root filesystem, it will print the following message:
boot device: <unknown> nfs_boot: trying DHCP/BOOTP nfs_boot: DHCP server: 0xC0A80105 nfs_boot: my_name=client nfs_boot: my_domain=test.net nfs_boot: my_addr=0xC0A8010A nfs_boot: my_mask=0xffffff00 nfs_boot: gateway=0xC0A80101 root on :/export/client/root
The bootloaders typically do not give any feedback, but when the kernel is looking for a root filesystem, it will print the following message:
boot device: <unknown> nfs_boot: trying DHCP/BOOTP nfs_boot: DHCP server: 0xC0A80105 nfs_boot: my_name=client nfs_boot: my_domain=test.net nfs_boot: my_addr=0xC0A8010A nfs_boot: my_mask=0xffffff00 nfs_boot: gateway=0xC0A80101 root on :/export/client/root
|
|