Zoeken op website

Hoe DHCP-server en client in te stellen op CentOS en Ubuntu


DHCP (afkorting van Dynamic Host Configuration Protocol) is een client/server-protocol waarmee een server automatisch een IP-adres en andere gerelateerde configuratieparameters (zoals het subnetmasker) kan toewijzen en standaardgateway) naar een client op een netwerk.

DHCP is belangrijk omdat het voorkomt dat een systeem- of netwerkbeheerder handmatig IP-adressen configureert voor nieuwe computers die aan het netwerk worden toegevoegd of voor computers die van het ene subnet naar het andere worden verplaatst.

Het IP-adres dat door een DHCP-server aan een DHCP-client is toegewezen, bevindt zich in een “lease”. De leasetijd varieert normaal gesproken afhankelijk van hoe lang een clientcomputer heeft waarschijnlijk de verbinding of de DHCP-configuratie nodig.

In dit artikel leggen we uit hoe u een DHCP-server in CentOS en Ubuntu Linux-distributies kunt configureren om automatisch een IP-adres aan een clientcomputer toe te wijzen.

DHCP-server installeren in CentOS en Ubuntu

Het DCHP serverpakket is beschikbaar in de officiële repositories van reguliere Linux-distributies. De installatie is vrij eenvoudig, voer eenvoudigweg de volgende opdracht uit.

yum install dhcp		        #CentOS
sudo apt install isc-dhcp-server	#Ubuntu

Zodra de installatie is voltooid, configureert u de interface waarop u wilt dat de DHCP-daemon verzoeken verwerkt in het configuratiebestand /etc/default/isc-dhcp-server of /etc/sysconfig/dhcpd.

vim /etc/sysconfig/dhcpd		 #CentOS
sudo vim /etc/default/isc-dhcp-server	 #Ubuntu

Als u bijvoorbeeld wilt dat de DHCPD-daemon luistert naar eth0, stelt u deze in met behulp van de volgende instructie.

DHCPDARGS=”eth0”

Sla het bestand op en sluit af.

DHCP-server configureren in CentOS en Ubuntu

Het belangrijkste DHCP-configuratiebestand bevindt zich op /etc/dhcp/dhcpd.conf, dat instellingen zou moeten bevatten over wat te doen, waar iets te doen en alle netwerkparameters die moeten worden opgegeven aan de klanten.

Dit bestand bestaat feitelijk uit een lijst met verklaringen, gegroepeerd in twee brede categorieën:

  • Algemene parameters: specificeer hoe een taak moet worden uitgevoerd, of een taak moet worden uitgevoerd of welke netwerkconfiguratieparameters aan de DHCP-client moeten worden verstrekt.
  • Declaraties: definieer de netwerktopologie, geef aan dat een client zich bevindt, bied adressen aan voor de clients of pas een groep parameters toe op een groep declaraties.

Open en bewerk nu het configuratiebestand om uw DHCP-server te configureren.

------------ On CentOS ------------ 
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf	
vi /etc/dhcp/dhcpd.conf	

------------ On Ubuntu ------------
sudo vim /etc/dhcp/dhcpd.conf				

Begin met het definiëren van de globale parameters die gemeenschappelijk zijn voor alle ondersteunde netwerken, bovenaan het bestand. Ze zijn van toepassing op alle aangiften:

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600; 
max-lease-time 7200;
authoritative;

Vervolgens moet u een subnetwerk voor een intern subnet definiëren, bijvoorbeeld 192.168.1.0/24, zoals weergegeven.

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.1.1;
        range   192.168.10.10   192.168.10.100;
        range   192.168.10.110   192.168.10.200;
}

Houd er rekening mee dat hosts die speciale configuratieopties vereisen, kunnen worden vermeld in hostinstructies (zie de manpagina dhcpd.conf).

Nu u uw DHCP serverdaemon heeft geconfigureerd, moet u de service voorlopig starten en deze automatisch laten starten vanaf de volgende systeemstart, en controleren of deze actief is met behulp van de volgende opdrachten.

------------ On CentOS ------------ 
systemctl start dhcpd
systemctl enable dhcpd
systemctl enable dhcpd

------------ On Ubuntu ------------
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
sudo systemctl enable isc-dhcp-server

Sta vervolgens verzoeken toe aan de DHCP-daemon op Firewall, die luistert op poort 67/UDP, door deze uit te voeren.

------------ On CentOS ------------ 
firewall-cmd --zone=public --permanent --add-service=dhcp
firewall-cmd --reload 

#------------ On Ubuntu ------------
sudo ufw allow 67/udp
sudo ufw reload

DHCP-clients configureren

Ten slotte moet u testen of de DHCP-server goed werkt. Meld u aan bij een aantal clientmachines op het netwerk en configureer deze zo dat ze automatisch IP-adressen van de server ontvangen.

Wijzig het juiste configuratiebestand voor de interface waarop de clients automatisch IP-adressen ontvangen.

DHCP-clientconfiguratie op CentOS

Op CentOS bevinden de interfaceconfiguratiebestanden zich op /etc/sysconfig/network-scripts/.

vim /etc/sysconfig/network-scripts/ifcfg-eth0

Voeg de onderstaande opties toe:

DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes

Sla het bestand op en start de netwerkservice opnieuw (of start het systeem opnieuw op).

systemctl restart network

DHCP-clientconfiguratie op Ubuntu

Op Ubuntu 16.04 kun je alle interfaces configureren in het configuratiebestand /etc/network/interfaces.

   
sudo vi /etc/network/interfaces

Voeg deze regels erin toe:

auto  eth0
iface eth0 inet dhcp

Sla het bestand op en start de netwerkservices opnieuw (of start het systeem opnieuw op).

sudo systemctl restart networking

Op Ubuntu 18.04 wordt het netwerken beheerd door het Netplan-programma. U moet bijvoorbeeld het juiste bestand in de map /etc/netplan/ bewerken.

sudo vim /etc/netplan/01-netcfg.yaml 

Schakel vervolgens dhcp4 in onder een specifieke interface, bijvoorbeeld onder ethernets, ens0, en geef commentaar op statische IP-gerelateerde configuraties:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens0:
      dhcp4: yes

Sla de wijzigingen op en voer de volgende opdracht uit om de wijzigingen door te voeren.

sudo netplan apply 

Voor meer informatie, zie de manpagina's dhcpd en dhcpd.conf.

man dhcpd
man dhcpd.conf

In dit artikel hebben we uitgelegd hoe je een DHCP-server configureert in CentOS- en Ubuntu Linux-distributies. Als u op enig punt meer verduidelijking nodig heeft, kunt u een vraag stellen via het onderstaande feedbackformulier of eenvoudigweg uw opmerkingen met ons delen.