Section D.1. Compiling dhcpd

   

D.1 Compiling dhcpd

The source code for dhcpd can be obtained through the ISC web site at http://www.isc.org or via anonymous FTP at ftp://ftp.isc.org/isc/dhcp. The name of the compressed tar file will change as new versions are released. However, the latest release should be stored as dhcp-latest.tar.gz. Download, gunzip, and untar the file:

> ftp ftp.isc.org  Connected to pub1.bryant.vix.com.  220 pub1.bryant.vix.com FTP server ready.  Name (ftp.isc.org:craig): anonymous  331 Guest login ok, send your complete email address as password.  Password:  230 Guest login ok, access restrictions apply.  ftp> cd isc/dhcp  250 CWD command successful.  ftp> binary  200 Type set to I.  ftp> get dhcp-latest.tar.gz  200 PORT command successful.  150 Opening BINARY mode data connection for dhcp-latest.tar.gz  226 Transfer complete.  181892 bytes received in 17 secs (10 Kbytes/sec)  ftp> quit  221 Goodbye.  > gunzip dhcp-latest.tar.gz  > tar -xvf dhcp-latest.tar  drwxrwxr-x mellon/engsrc     0 2001-10-05 00:22:41 dhcp-3.0/ drwxrwxr-x mellon/engsrc     0 2001-10-05 00:22:32 dhcp-3.0/doc/ ... -rw-rw-r-- mellon/engsrc 150274 2001-08-23 12:25:51 dhcp-3.0/server/failover.c -rw-rw-r-- mellon/engsrc  67711 2001-08-23 12:30:58 dhcp-3.0/server/mdb.c -rw-rw-r-- mellon/engsrc  62087 2001-06-21 22:28:51 dhcp-3.0/server/omapi.c -rw-rw-r-- mellon/engsrc   7612 2001-06-21 22:31:39 dhcp-3.0/server/salloc.c -rw-rw-r-- mellon/engsrc  34248 2001-06-21 22:35:08 dhcp-3.0/server/stables.c drwxrwxr-x mellon/engsrc      0 2001-10-05 00:22:42 dhcp-3.0/tests/ drwxrwxr-x mellon/engsrc      0 2001-10-05 00:22:42 dhcp-3.0/tests/failover/ -rw-rw-r-- mellon/engsrc   3585 2001-05-31 16:16:05 dhcp-3.0/tests/failover/dhcp-1.cf -rw-rw-r-- mellon/engsrc   3463 2001-05-31 16:16:06 dhcp-3.0/tests/failover/dhcp-2.cf -rwxrwxr-x mellon/engsrc    537 2001-05-31 16:16:07 dhcp-3.0/tests/failover/new-failover

Change to the newly created directory and run configure. configure determines the type of Unix system you're running and creates the correct Makefile for that system. If configure cannot determine what version of Unix you're running, you must build your own Makefile by hand. Next, type make to compile the daemon. Finally, copy the daemon and the manpages to the correct directories:

# cd dhcp-3.0  # ./configure  System Type: linux  # make  cc -g      -c dhcpd.c -o dhcpd.o  cc -g      -c dhcp.c -o dhcp.o  cc -g      -c bootp.c -o bootp.o  ... nroff -man dhcpd.conf.5 >dhcpd.conf.cat5  # make install

The DHCP daemon should compile without errors. If you get compile errors or if configure cannot determine your system configuration, you should consider abandoning the compile and notifying the support group. Join the support group mailing list by going to http://www.fugue.com/dhcp. Once you join, send mail to the dhcp-server@fugue.com mailing list describing your configuration and the exact problem you have. The list is read by most of the people using dhcpd. Someone may have already solved your problem.

Simply installing dhcpd may not be all that is required. Read the README file very carefully. dhcpd runs on a wide variety of systems, including OSF/1, most recent BSD derivatives, Solaris, and Linux. It runs best on OSF/1 and BSD; on other systems it may have some limitations. For example, on both Solaris and Linux, it can support only one network interface. dhcpd also may require some system-specific configuration. Old systems with the Linux 2.0.0 kernel are an excellent example of this. To successfully run dhcpd on one of these old systems, add the following entry to the /etc/hosts table:

255.255.255.255 all-ones

Next, add a specific route for the limited broadcast address, 255.255.255.255:

# route add -host all-ones dev eth0

To reinstall the limited broadcast address in the kernel routing table after each boot, add the following code to a startup script:

# Install the limited broadcast route and start DHCP    if [ -f /etc/dhcpd.conf ]; then      echo -n " dhcpd"      route add -host all-ones dev eth0      /usr/sbin/dhcpd   fi

The information needed to complete these extra configuration steps is clearly defined in the README file. Read it before you try to run dhcpd. Of course, this is not required for current versions of Linux, but it provides a good example of the type of special configuration that is sometimes required.

       


    TCP/IP Network Administration
    Advanced Topics in Global Information Management, Vol. 3 (Advanced Topics in Global Information Management Series)
    ISBN: 1591402514
    EAN: 2147483647
    Year: 2001
    Pages: 181

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net