LX-SVS-INFO-dhcpd
Updated sep/12/2010 19:04

DHCPD - Debian5

LEES DIT EERST - DISCLAIMER:

Het installeren, configureren en testen van een DHCP server kan een bestaand en draaiend netwerk negatief beïnvloeden: een verkeerd geconfigureerde DHCP-server kan potentiële clients van een verkeerde netwerkconfiguratie voorzien. Dit met mogelijk desastreuze gevolgen. Voer de volgende configuratie dan ook uit in een test-netwerk, afgesloten van je bedrijfsnetwerk. Werk bij voorkeur virtueel met een DHCP server met twee netwerkkaarten: 1 via NAT, 1 via intnet. Zet je clients allemaal in intnet.
  1. Installeer dhcpd

    # apt-get install dhcp3-server
    Reading package lists... Done
    Building dependency tree... Done
    Note, selecting dhcp instead of dhcpd
    The following NEW packages will be installed:
    dhcp
    0 upgraded, 1 newly installed, 0 to remove and 142 not upgraded.
    Need to get 111kB of archives.
    After unpacking 307kB of additional disk space will be used.
    Get:1 http://ftp.belnet.be etch/main dhcp 2.0pl5-19.5etch2 [111kB]
    Fetched 111kB in 1s (64.0kB/s)
    Selecting previously deselected package dhcp.
    (Reading database ... 72372 files and directories currently installed.)
    Unpacking dhcp (from .../dhcp_2.0pl5-19.5etch2_i386.deb) ...
    Setting up dhcp (2.0pl5-19.5etch2) ...
    Generating /etc/default/dhcp...

    Please note that if you are installing the DHCP server for the first
    time you need to configure it first.

    Starting DHCP server: dhcpd failed to start - check syslog for diagnostics.

  2. Maak een default configuratie

    open het bestand /etc/dhcp3/dhcpd.conf

    # vim /etc/dhcp3/dhcpd.conf

    # dit is een commentaarregel -
    # configuratie DHCPD op datum 2008mar13 - 14h20
    option domain-name "linux800.be";
    option domain-name-servers 172.16.31.101;
    option subnet-mask 255.255.0.0;
    default-lease-time 6000;
    max-lease-time 12000;
    subnet 172.16.0.0 netmask 255.255.0.0 {
    option routers 172.16.0.2;
    range 172.16.131.11 172.16.131.20;
    }

  3. Test de nieuwe configuratie

    # /etc/init.d/dhcp3-server start
    Starting DHCP server: dhcpd failed to start - check syslog for diagnostics.
  4. bekijk de log-files

    Soms gaat het van in het begin al fout, en dan kun je in de logfiles zien wat er fout is:

    #
    tail /var/log/syslog
    Mar 3 11:57:51 localhost dhcpd: No subnet declaration for eth0 (172.16.31.202).
    Mar 3 11:57:51 localhost dhcpd: Please write a subnet declaration in your dhcpd.conf file for the
    Mar 3 11:57:51 localhost dhcpd: network segment to which interface eth0 is attached.
    Mar 3 11:57:51 localhost dhcpd: exiting.
    Mar 3 12:06:29 localhost dhcpd: /etc/dhcpd.conf line 8: semicolon expected.
    Mar 3 12:06:29 localhost dhcpd: ^Irange
    Mar 3 12:06:29 localhost dhcpd: ^
    Mar 3 12:06:29 localhost dhcpd: Configuration file errors encountered -- exiting
    Mar 3 12:06:29 localhost dhcpd: exiting.


    In het hogere voorbeeld was ik inderdaad een paar ; vergeten. Verbeter indien nodig je configuratiefile!
  5. ... en test opnieuw

    # /etc/init.d/dhcp restart
    Starting DHCP server

  6. Hang nu een testmachine aan een gekruiste kabel direct aan uw server en test onder windows met je opdrachtprompt als volgt:

    c:\ipconfig /release
    c:\ipconfig /renew

    of zet een dhcp client onder linux, verbindt de kabel en herstart het netwerk met:

    # /etc/init.d/network restart

    Controlleer nu met

    # ifconfig

    of je een configuratie hebt gekregen van je nieuwe server.
  7. leases

    Je can de leases van je server controleren in de file
    /var/lib/dhcp3/dhcpd.leases


    # cat /var/lib/dhcp3/dhcpd.leases

    # The format of this file is documented in the dhcpd.leases(5) manual page.
    # This lease file was written by isc-dhcp-V3.1.1

    lease 172.16.41.181 {
      starts 4 2009/05/07 08:13:27;
      ends 4 2009/05/07 17:06:47;
      cltt 4 2009/05/07 08:13:27;
      binding state active;
      next binding state free;
      hardware ethernet 00:1e:58:48:ee:0d;
      client-hostname "pc3102";
    }
    lease 172.16.41.181 {
      starts 4 2009/05/07 08:13:27;
      ends 4 2009/05/07 08:13:31;
      tstp 4 2009/05/07 08:13:31;
      cltt 4 2009/05/07 08:13:27;
      binding state free;
      hardware ethernet 00:1e:58:48:ee:0d;
    }
    lease 172.16.41.181 {
      starts 4 2009/05/07 08:13:34;
      ends 4 2009/05/07 17:06:54;
      cltt 4 2009/05/07 08:13:34;
      binding state active;
      next binding state free;
      hardware ethernet 00:1e:58:48:ee:0d;
      client-hostname "pc3102";
    }

  8. Nog een voorbeeld met static leases

    # cat /etc/dhcp3/dhcpd.conf


    ddns-update-style none;

    option domain-name "myhosts.com";
    option domain-name-servers 195.238.2.22, 195.238.2.21;

    default-lease-time 600000;
    max-lease-time 720000;

    log-facility local7;

    subnet 10.0.1.0 netmask 255.255.255.0 {
      interface eth0;    
      range 10.0.1.101 10.0.1.120;
      option routers 10.0.1.2;


    ### STATIC IP LEASES ###

    # RICOH PRINTER: MPC2800
    # Host 10.0.1.214 appears to be up.
    # MAC Address: 00:00:74:EE:8E:83 (Ricoh Company)

       host MPC2800
          {
          hardware ethernet 00:00:74:EE:8E:83;
          fixed-address 10.0.1.214;
          }
    }


  9. Verwijderen voor de Veiligheid

    Als alles in orde is zou je nu de dhcp-server in het bedrijfsnetwerk kunnen opnemen, maar in een oefening tbv. een cursus is dat niet aan de orde. Stop daarom na de oefening de dhcp server met het commando:

    # /etc/init.d/dhcp3-server stop

    en verwijder voor alle zekerheid de dhcpd daemon:

    # apt-get remove dhcp3-server

    Reading package lists... Done
    Building dependency tree... Done
    Note, selecting dhcp instead of dhcpd
    The following packages will be REMOVED:
    dhcp
    0 upgraded, 0 newly installed, 1 to remove and 142 not upgraded.
    Need to get 0B of archives.
    After unpacking 307kB disk space will be freed.
    Do you want to continue [Y/n]? y
    (Reading database ... 72391
    files and directories currently installed.) Removing dhcp ...
    Stopping DHCP server: dhcpstart-stop-daemon: warning: failed to kill 6913: No such process