Search |
University of Florida | Department of Physics
--> System Overview

--> General Public Domain

--> Bind

 * DHCP

--> Emacs

--> ftpd

--> gcc & libg++

--> Ghostscript & Ghostview

--> GNUPLOT

--> GNU Enscript

--> LAPACK & BLAS

--> Logstats

--> Netscape

--> nmh

--> perl

--> samba

--> sendmail

--> ssh Admin

--> ssh Use

--> local ssh Use

--> tcp wrappers

--> tcsh

--> teTeX

--> Xanim

--> Xfig

--> XMgr

--> Xntpd

DHCP

Grab the source from www.isc.org Build and install:
  1. make and install
  2. The master config file is kept in ~chandra/adm/system/dhcp/master.conf. Edit that file and send it to the dhcp servers by running make in that directory. Here is the Makefile:
    
    # This makefile will help to maintain the dhcpd.conf files 
    # on the dhcp servers.  After editing the master file for
    # any subnet type 'make' to generate the master dhcpd.conf 
    # file and scp it to the servers.
    DIR =/maxwell/user0/chandra/adm/system/dhcp
    SERVERS = dirac bohr
    INPUT=$(DIR)/master.conf
    FINALTARGET=/etc/dhcpd.conf
    SCP=/usr/local/bin/scp
    SSH=/usr/local/bin/ssh
    
    all: $(INPUT)
    	@for server in ${SERVERS}; do \
                    echo "Copying to $$server"; \
                    ($(SCP) $(INPUT) $$server:$(FINALTARGET)) || exit 1; \
                    echo "restarting dhcpd on $$server"; \
    		$(SSH) $$server /etc/init.d/dhcp stop; \
    		$(SSH) $$server /etc/init.d/dhcp start; \
             done
    
  3. Here is a config file (/etc/dhcpd.conf):

    
    subnet 128.227.64.0 netmask 255.255.255.0 {
        not authoritative;
        Option subnet-mask 255.255.255.0;
        option routers 128.227.64.1;
        option time-servers ntp1.phys.ufl.edu;
        option domain-name-servers 128.227.64.7, 128.227.128.24;
        option domain-name "phys.ufl.edu";
        option ntp-servers 128.227.64.7;
        option netbios-name-servers 128.227.64.5;
        deny unknown-clients;
        deny bootp;
        option nis-domain "phys.ufl.edu";
        option nis-servers 128.227.64.7;
    
     group {
       use-host-decl-names on;
    
       host dan{
    #       Dan 2122 NPB
           hardware ethernet 00:E0:7D:73:C9:96;
           fixed-address dan.phys.ufl.edu;
           }
       host dufty{
    #       Jim Dufty laptop
           hardware ethernet 00:50:04:95:08:DD;
           fixed-address dufty.phys.ufl.edu;
           }
    
       host desktop2{
           hardware ethernet 00:90:27:a9:06:5f;
           fixed-address desktop2.phys.ufl.edu;
           }
    
       host desktop3{
    #       Buchler
           hardware ethernet 00:90:27:AC:35:A3;
           fixed-address desktop3.phys.ufl.edu;
           }
        }
    }
     
    subnet 10.227.89.0 netmask 255.255.255.0 {
        not authoritative;
        Option subnet-mask 255.255.255.0;
        option routers 10.227.89.1;
        option time-servers ntp1.phys.ufl.edu;
        option domain-name-servers 128.227.64.7, 128.227.128.24;
        option domain-name "phys.ufl.edu";
        option ntp-servers 128.227.64.7;
        option netbios-name-servers 10.227.89.10, 10.227.89.5;
        deny unknown-clients;
        deny bootp;
        option nis-domain "phys.ufl.edu";
        option nis-servers 10.227.89.10, 128.227.64.7;
    
     group {
       use-host-decl-names on;
    
    
       host cdf-15{
           High Bay Linux used on test rack
           hardware ethernet 00:90:27:74:7D:0E;
           fixed-address cdf-15.phys.ufl.edu;
           }
    
       host l1213-i{
    #       Room 1213 Linux machine
           hardware ethernet 00:60:08:a6:ab:c6;
           fixed-address l1213-i.phys.ufl.edu;
           }
    
       host l1213-c{
    #       Room 1213 Linux machine
           hardware ethernet 00:10:4B:70:D0:5C;
           fixed-address l1213-c.phys.ufl.edu;
           }
        }
    }
    Things to remember are to have the "not authoritative;" line if this is not the only dhcp server on the wire. Without this you will see DHCPNAKs in the log files on one machine and offers in the log files of another machine. The clients will hear the NAKs and ignore the offers.

  4. Here is a startup script for Solaris:

    
    #!/bin/sh
    #
    # Copyright (c) 1996 by Sun Microsystems, Inc. All rights reserved.
    #
    #ident  "@(#)dhcp       1.15    96/12/27 SMI"
    
    if [ ! -d /usr/sbin ]
    then                    # /usr not mounted
            exit 1
    fi
    
    killproc() {            # kill the named process(es)
            pid=`/usr/bin/ps -e |
                 /usr/bin/grep $1 |
                 /usr/bin/sed -e 's/^  *//' -e 's/ .*//'`
            [ "$pid" != "" ] && kill $pid
    }
    
    #
    # Start/stop DHCP service
    #
    # See dhcpd(1m) for more details.
    #
    
    case "$1" in
    'start')
            if [ -x /usr/sbin/dhcpd ]
            then
                    /usr/sbin/dhcpd hme0 > /dev/console 2>&1
            fi
            ;;
    
    'stop')
            killproc dhcpd
            ;;
    *)
            echo "Usage: /etc/init.d/dhcp { start | stop }" > /dev/console 2>&1
            ;;
    esac
    
    exit 0
    Make sure that if you have multiple ethernet cards the correct one(s) are specified in the startup script. I have the startup script linked in with the following soft links:
    • rc0.d/K34dhcp
    • rc2.d/K34dhcp
    • rc3.d/S34dhcp