Dhcp

Uit Linuxdocs.nl
Ga naar: navigatie, zoeken

DHCP Server setup voor Linux

Door: Michaell Bakker
http://www.linuxdocs.nl


DHCP staat voor Dynamic Host Configuration Protocol.

De DHCP server is een dienst die netwerk administrators in staat stelt alle computers in hun netwerk elke keer automatisch te voorzien van een IP, Gateway, DNS en WINS-adres.

Een DHCP server is alleen nuttig als u een netwerk heeft van 4 computers of meer, anders kunnen ze ook volstaan met een gegeven IP-adres.

Pakketten downloaden en installeren.

De meeste Linuxen hebben DHCPcd (de Cliënt) en DHCPd (de server) standaard er wel in zitten. Dit is te controleren door als root in een shell het commando:

[root@michaell.nl root]# dhcpd

in te tikken.
Mocht u deze niet hebben of u wilt gewoon de nieuwste versie hebben (wat sterk aan te bevelen is) dan kunt u die hier downloaden

uitpakken van de pakketten.

Als eerste dient u het pakket uit te pakken dit gaat op de volgende manier:

voor .tar.gz
[root@michaell.nl /]# gunzip pakket.tar.gz
[root@michaell.nl /]# tar -xf pakket.tar

voor .rpm
[root@michaell.nl /]# -i pakketdhcp.rpm

Als u over de .rpm bestanden beschikt hoeft u verder nog even niks te doen sla dan het volgende hoofdstukje over.</p>

Compilatie en installatie van de DHCP demon (dhcpd)

Nadat u het pakket heeft uitgepakt gaat u naar de zojuist gemaakte directory met het commando cd.
eenmaal in deze dir aangekomen geeft u de volgende commando's:

[root@michaell.nl dhcpd]# ./configure
[root@michaell.nl dhcpd]# make
[root@michaell.nl dhcpd]# make install

Als u 1 van deze commando's opgegeven heeft aan het systeem dan vliegen er heel wat regels met grote snelheid over uw scherm, geen zorgen dit is normaal want de zojuist gedownloade broncode word gecompileerd tot een uitvoerbaar bestand (Linux) programmeurs herkennen dit).


Zorg ervoor dat MULTICAST geactiveerd is in uw kernel
bij de standaard kernel is dit vrijwel altijd het geval


Windows DHCP cliënten

Voordat DHCPd werkt bij kieskeurige DHCPd cliënten (zoals alle windows computers) moet de server in staat zijn om pakketten te verzenden met een IP-bestemmings adres van 255.255.255.255. Helaas voor windows staat Linux erop dat 255.255.255.255 word veranderd in het lokale subnet adres (in dit geval 192.5.5.223) wat uitvalt als een DHCP protocol overtreding. Terwijl bijna alle DHCP cliënten dit gewoon toestaan en correct zullen werken maar windows computers zullen de error wel herkennen. Deze cliënten zullen geen DHCPOFFER berichten zien van de server.</p>

Om dit te voorkomen tikt u als root het volgende in:

[root@michaell.nl dhcpd]# route add -host 255.255.255.255 dev eth0
<p>Als u dit bericht krijgt:

255.255.255.255: Unknown host

Voeg dan deze regel toe aan /etc/hosts:

255.255.255.255 dhcp

En probeer dan:

route add -host dhcp dev eth0

DHCPd configuratie

Het configureren van de DHCP demon is heel eenvoudig er zijn maar een paar kleine stapjes voor nodig.
<p>Ga om te beginnen naar de dir /etc door cd /etc op te geven aan de console. Als u dat gedaan hebt editen of maken we het bestand /etc/dhcpd.conf en plaats daar het volgende in: (knippen&Plakken)

# voorbeeld /etc/dhcpd.conf bestand (voeg hier jouw commentaar toe indien nodig)
default-lease-time 1200;
max-lease-time 9200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1 192.168.1.2;
option domain-name michaell.nl;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
range 192.168.1.150 192.168.1.200;

Dit zal de DHCP server toestaan een cliënt een IPnr te geven van 192.168.1.10-192.168.1.100 of 192.168.1.150-192.168.1.200.

Let op dat het IPnr van de DHCP server niet in deze lijst voorkomt!
Als de server b.v. IPnr 192.168.1.9 heeft mag deze niet in het bereik voorkomen!

default-lease-time 1200; Als de cliënt geen langere tijdframe aanvraagt dan zal de DHCP server het uitgereikte IP-adres voor max 1200 seconde uitlenen
max-lease-time 9200; Als de cliént wel een langere tijdframe aanvraagt dan wordt deze hier voor 9200 seconde verlengt en zal daarna weer een nieuw adres uitrijken (wat vrijwel altijd gelijk zal blijven en zal geen vertraging opleveren voor de cliént)
option subnet-mask 255.255.255.0; Dit subnetnr zal worden gegeven aan het IPadres (moet wel overeen komen!)
option broadcast-address 192.168.1.255; Gebruik dit IPnr als broadcast adres voor de cliënt
option routers 192.168.1.254; Geef dit router adres door aan die cliënt
option domain-name-servers 192.168.1.1, 192.168.1.2; Geef deze DNS IPnr's door aan de cliënt
option domain-name "michaell.nl"; Geef alle cliënten dit domein
subnet 192.168.1.0 netmask 255.255.255.0 { Dit is aan te houden bereik als de server een IPadres geeft aan een cliënt
range 192.168.1.10 192.168.1.100; het bereik van 192.168.1.10 tot 192.168.1.100 wordt afgegeven aan cliënten die erom vragen

WINS adressen

Als je een WINS server wilt geven aan jouw windows cliënten (niet verplicht) voeg dan deze regel toe aan /etc/dhcpd.conf:

option netbios-name-servers 192.168.1.1;

Als je een specifiek IPadres wilt geven aan een pc met een bepaald MAC-adres voeg dan deze regel toe:

host haagen {
hardware ethernet 08:00:2b:4c:59:23; #MAC adres
fixed-address 192.168.1.222; #geef dit IP


Het starten van de server

In veel gevallen zal de DHCP server niet zijn eigen dhcpd.leases bestand maken, daarom moet je voordat je de server start het volgende commando geven:

[root@michaell.nl /]# touch /var/state/dhcp/dhcpd.leases

Om de DHCP server te starten geef je de opdracht:

[root@michaell.nl /]# /usr/sbin/dhcpd

Dit zal DHCP starten op eth0 (de eerste LAN kaart).
Om DHCP te starten aan de 2e LAN kaart kant tikt u in:

[root@michaell.nl /]# /usr/sbin/dhcpd eth1

Als u eerst wilt zien of de configuratie juist is dan tikt u in:

[root@michaell.nl /]# /usr/sbin/dhcpd -d -f

<p>Dit stelt u in staat om te kijken wat er precies omgaat in de server en zal eventuele fouten aan u doorgeven.

Start nu een cliënt op en stel deze in dat hij een IPadres moet verkrijgen van een DHCP server en test het geheel. Er zullen ondertussen wat debug boodschappen verschijnen op het scherm van de server, geen zorgen dit mag.

Plaats de regel /usr/sbin/dhcpd eth1 in het bestand /etc/rc.d/rc.local om DHCP na elke systeemstart te starten.</p>

De server is gereed

Vragen over dit of andere documenten kunt u stellen op ons forum.



How-TO's | Hoofdpagina | Linux Nieuws | Externe links | Help