Sådan opsættes DHCP-server og klient på CentOS og Ubuntu


DHCP (forkortelse for Dynamic Host Configuration Protocol) er en klient/serverprotokol, der gør det muligt for en server automatisk at tildele en IP-adresse og andre relaterede konfigurationsparametre (såsom subnetmaske og standard gateway) til en klient på et netværk.

DHCP er vigtigt, fordi det forhindrer et system eller en netværksadministrator i at manuelt konfigurere IP-adresser til nye computere, der føjes til netværket, eller computere, der flyttes fra et undernet til et andet.

IP-adressen, der er tildelt af en DHCP-server til en DHCP-klient, er på en "leasing", leasingtiden varierer normalt afhængigt af hvor længe en klientcomputer sandsynligvis vil kræve forbindelsen eller DHCP-konfigurationen.

I denne artikel vil vi forklare, hvordan man konfigurerer en DHCP-server i CentOS og Ubuntu Linux-distributioner til automatisk at tildele IP-adresse til en klientmaskine.

Installation af DHCP-server i CentOS og Ubuntu

DCHP-serverpakken er tilgængelig i de officielle lagre af mainstream Linux-distributioner, installation er ret let, kør blot følgende kommando.

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

Når installationen er afsluttet, skal du konfigurere den grænseflade, som DHCP-dæmonen skal bruges til at betjene anmodninger i konfigurationsfilen/etc/default/isc-dhcp-server eller/etc/sysconfig/dhcpd.

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

For eksempel, hvis du vil have DHCPD-dæmonen til at lytte til eth0 , skal du indstille den ved hjælp af følgende direktiv.

DHCPDARGS=”eth0”

Gem filen og afslut.

Konfiguration af DHCP-server i CentOS og Ubuntu

Den vigtigste DHCP-konfigurationsfil findes på /etc/dhcp/dhcpd.conf , som skal indeholde indstillinger for, hvad man skal gøre, hvor man skal gøre noget og alle netværksparametre, der skal leveres til klienterne.

Denne fil består grundlæggende af en liste over udsagn grupperet i to brede kategorier:

  • Globale parametre: Angiv, hvordan en opgave skal udføres, om en opgave skal udføres, eller hvilke netværkskonfigurationsparametre, der skal leveres til DHCP-klienten.
  • Erklæringer: definer netværkstopologien, angiv, at en klient er i, tilbud adresser til klienterne, eller anvend en gruppe parametre til en gruppe af erklæringer.

Åbn og rediger nu konfigurationsfilen for at konfigurere din DHCP-server.

------------ 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				

Start med at definere de globale parametre, der er fælles for alle understøttede netværk, øverst i filen. De gælder for alle erklæringer:

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

Dernæst skal du definere et undernetværk til et internt undernet, dvs. 192.168.1.0/24 som vist.

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;
}

Bemærk, at værter, der kræver specielle konfigurationsindstillinger, kan vises i værtserklæringer (se man-siden dhcpd.conf).

Nu hvor du har konfigureret din DHCP-serverdemon, skal du starte tjenesten i mellemtiden og aktivere den til at starte automatisk fra næste systemstart og kontrollere, om den er i gang ved hjælp af følgende kommandoer.

------------ 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

Derefter tilladelsesanmodninger til DHCP-dæmonen på Firewall, som lytter til port 67/UDP, ved at køre.

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

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

Konfiguration af DHCP-klienter

Endelig skal du teste, om DHCP-serveren fungerer fint. Log på et par klientmaskiner på netværket, og konfigurer dem til automatisk at modtage IP-adresser fra serveren.

Rediger den relevante konfigurationsfil til det interface, hvor klienterne automatisk modtager IP-adresser.

På CentOS spiste interface-konfigurationsfiler placeret på/etc/sysconfig/network-scripts /.

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

Tilføj nedenstående muligheder:

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

Gem filen, og genstart netværkstjenesten (eller genstart systemet).

# systemctl restart network

På Ubuntu 16.04 kan du konfigurere alle grænseflader i konfigurationsfilen/etc/netværk/grænseflader.

   
$ sudo vi /etc/network/interfaces

Tilføj disse linjer i det:

auto  eth0
iface eth0 inet dhcp

Gem filen, og genstart netværkstjenester (eller genstart systemet).

$ sudo systemctl restart networking

På Ubuntu 18.04 styres netværk af Netplan-programmet. Du skal f.eks. Redigere den relevante fil under kataloget/etc/netplan /.

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

Aktiver derefter dhcp4 under en bestemt grænseflade for eksempel under ethernet, ens0, og kommenter statiske IP-relaterede konfigurationer:

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

Gem ændringerne, og kør følgende kommando for at foretage ændringerne.

$ sudo netplan apply 

For mere information, se dhcpd og dhcpd.conf man siderne.

$ man dhcpd
$ man dhcpd.conf

I denne artikel har vi forklaret, hvordan man konfigurerer en DHCP-server i CentOS- og Ubuntu Linux-distributioner. Hvis du har brug for mere afklaring på et hvilket som helst punkt, kan du stille et spørgsmål via feedbackformularen nedenfor eller bare dele dine kommentarer med os.