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.
-
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.
-
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;
} |
-
Test de nieuwe configuratie
# /etc/init.d/dhcp3-server start
Starting DHCP server: dhcpd failed to start - check syslog for diagnostics.
-
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!
-
... en test opnieuw
# /etc/init.d/dhcp restart
Starting DHCP server
- 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.
-
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";
}
-
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;
}
}
|
-
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