Hvordan sette opp DHCP-server og klient på CentOS og Ubuntu


DHCP (forkortelse for Dynamic Host Configuration Protocol) er en klient/server-protokoll som gjør det mulig for en server å automatisk tildele en IP-adresse og andre relaterte konfigurasjonsparametere (som subnettmasken) og standard gateway) til en klient på et nettverk.

DHCP er viktig fordi det forhindrer en system- eller nettverksadministrator fra å manuelt konfigurere IP-adresser for nye datamaskiner som legges til nettverket eller datamaskiner som flyttes fra ett undernett til et annet.

IP-adressen som er tilordnet av en DHCP-server til en DHCP-klient er på en “lease ”, leietiden varierer vanligvis avhengig av hvor lenge en klientdatamaskinen krever sannsynligvis tilkoblingen eller DHCP-konfigurasjonen.

I denne artikkelen vil vi forklare hvordan du konfigurerer en DHCP-server i CentOS og Ubuntu Linux-distribusjoner for å tildele IP-adresse automatisk til en klientmaskin.

Installere DHCP Server i CentOS og Ubuntu

DCHP-serverpakken er tilgjengelig i de offisielle lagrene til vanlige Linux-distribusjoner, installering er ganske enkelt, bare kjør følgende kommando.

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

Når installasjonen er fullført, konfigurer grensesnittet der du vil at DHCP-demonen skal betjene forespørsler i konfigurasjonsfilen /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 at DHCPD-demonen skal lytte på eth0, sett den ved å bruke følgende direktiv.

DHCPDARGS=”eth0”

Lagre filen og avslutt.

Konfigurere DHCP-server i CentOS og Ubuntu

Hovedkonfigurasjonsfilen for DHCP ligger på /etc/dhcp/dhcpd.conf, som skal inneholde innstillinger for hva du skal gjøre, hvor du skal gjøre noe og alle nettverksparametere som skal gis til kundene.

Denne filen består i utgangspunktet av en liste over utsagn gruppert i to brede kategorier:

  • Globale parametere: spesifiser hvordan en oppgave skal utføres, om en oppgave skal utføres eller hvilke nettverkskonfigurasjonsparametere som skal gis til DHCP-klienten.
  • Deklarasjoner: definer nettverkstopologien, tilstand en klient er i, tilby adresser for klientene, eller bruk en gruppe parametere på en gruppe erklæringer.

Åpne og rediger nå konfigurasjonsfilen for å konfigurere DHCP-serveren.

------------ 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 å definere globale parametere som er felles for alle støttede nettverk, øverst i filen. De vil gjelde for alle erklæringene:

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

Deretter må du definere et undernettverk for et internt undernett, 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;
}

Merk at verter som krever spesielle konfigurasjonsalternativer kan listes opp i vertsuttalelser (se dhcpd.conf-man-siden).

Nå som du har konfigurert DHCP-serverdemonen, må du starte tjenesten i mellomtiden og aktivere den til å starte automatisk fra neste systemoppstart, og sjekke om den er oppe og kjører ved å bruke 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

Deretter tillat forespørsler til DHCP-demonen på brannmuren, som lytter på port 67/UDP, ved å kjøre.

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

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

Konfigurere DHCP-klienter

Til slutt må du teste om DHCP-serveren fungerer bra. Logg på noen få klientmaskiner på nettverket og konfigurer dem til automatisk å motta IP-adresser fra serveren.

Endre den riktige konfigurasjonsfilen for grensesnittet som klientene automatisk vil motta IP-adresser på.

DHCP-klientoppsett på CentOS

CentOS fant grensesnittkonfigurasjonsfilene på /etc/sysconfig/network-scripts/.

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

Legg til alternativene nedenfor:

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

Lagre filen og start nettverkstjenesten på nytt (eller start systemet på nytt).

systemctl restart network

DHCP-klientoppsett på Ubuntu

Ubuntu 16.04 kan du konfigurere alle grensesnitt i konfigurasjonsfilen /etc/network/interfaces.

   
sudo vi /etc/network/interfaces

Legg til disse linjene i den:

auto  eth0
iface eth0 inet dhcp

Lagre filen og start nettverkstjenester på nytt (eller start systemet på nytt).

sudo systemctl restart networking

Ubuntu 18.04 styres nettverket av Netplan-programmet. Du må redigere den aktuelle filen under katalogen /etc/netplan/, for eksempel.

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

Deretter aktiverer du dhcp4 under et spesifikt grensesnitt, for eksempel under ethernets, ens0, og kommenterer statiske IP-relaterte konfigurasjoner:

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

Lagre endringene og kjør følgende kommando for å utføre endringene.

sudo netplan apply 

For mer informasjon, se man-sidene dhcpd og dhcpd.conf.

man dhcpd
man dhcpd.conf

I denne artikkelen har vi forklart hvordan du konfigurerer en DHCP-server i CentOS og Ubuntu Linux-distribusjoner. Hvis du trenger mer avklaring på noe punkt, kan du stille et spørsmål via tilbakemeldingsskjemaet nedenfor, eller ganske enkelt dele dine kommentarer med oss.