Kako postaviti DHCP server i klijenta na CentOS i Ubuntu


DHCP (skraćenica od Dynamic Host Configuration Protocol) je protokol klijent/server koji omogućava serveru da automatski dodijeli IP adresu i druge povezane konfiguracijske parametre (kao što je maska podmreže i default gateway) do klijenta na mreži.

DHCP je važan jer sprečava administratora sistema ili mreže da ručno konfiguriše IP adrese za nove računare dodane u mrežu ili računare koji se premeštaju iz jedne podmreže u drugu.

IP adresa koju je DHCP server dodijelio DHCP klijentu je na “zakupu ”, vrijeme zakupa obično varira ovisno o tome koliko dugo klijentski računar će vjerovatno zahtijevati vezu ili DHCP konfiguraciju.

U ovom članku ćemo objasniti kako konfigurirati DHCP server u CentOS i Ubuntu Linux distribucijama da automatski dodjeljuje IP adresu klijentskoj mašini.

Instaliranje DHCP servera u CentOS i Ubuntu

DCHP serverski paket je dostupan u zvaničnim repozitorijumima mainstream Linux distribucija, instalacija je prilično jednostavna, jednostavno pokrenite sljedeću naredbu.

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

Kada se instalacija završi, konfigurirajte sučelje na kojem želite da DHCP demon služi zahtjeve u konfiguracijskoj datoteci /etc/default/isc-dhcp-server ili /etc/sysconfig/dhcpd.

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

Na primjer, ako želite da demon DHCPD sluša na eth0, postavite ga koristeći sljedeću direktivu.

DHCPDARGS=”eth0”

Sačuvajte fajl i izađite.

Konfigurisanje DHCP servera u CentOS-u i Ubuntu-u

Glavna DHCP konfiguracijska datoteka se nalazi na /etc/dhcp/dhcpd.conf, koja bi trebala sadržavati postavke šta treba učiniti, gdje nešto učiniti i sve mrežne parametre koje treba pružiti klijentima.

Ovaj fajl se u osnovi sastoji od liste izjava grupisanih u dve široke kategorije:

  • Globalni parametri: specificirajte kako izvršiti zadatak, hoćete li izvršiti zadatak ili koje parametre mrežne konfiguracije dati DHCP klijentu.
  • Deklaracije: definirajte topologiju mreže, stanje u kojem se klijent nalazi, ponudite adrese za klijente ili primijenite grupu parametara na grupu deklaracija.

Sada otvorite i uredite konfiguracionu datoteku da biste konfigurisali svoj 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				

Započnite definiranjem globalnih parametara koji su zajednički za sve podržane mreže, na vrhu datoteke. Oni će se primjenjivati na sve deklaracije:

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

Zatim morate definirati podmrežu za internu podmrežu, tj. 192.168.1.0/24 kao što je prikazano.

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

Imajte na umu da hostovi koji zahtijevaju posebne opcije konfiguracije mogu biti navedeni u naredbama hosta (pogledajte dhcpd.conf man stranicu).

Sada kada ste konfigurisali svoj DHCP serverski demon, morate da pokrenete uslugu u međuvremenu i omogućite joj da se automatski pokrene od sledećeg pokretanja sistema, i proverite da li je pokrenut i radi koristeći sledeće komande.

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

Zatim, dopustite zahtjeve DHCP demonu na Firewall-u, koji sluša port 67/UDP, pokretanjem.

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

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

Konfiguriranje DHCP klijenata

Na kraju, morate testirati da li DHCP server radi dobro. Prijavite se na nekoliko klijentskih mašina na mreži i konfigurišite ih da automatski primaju IP adrese sa servera.

Izmijenite odgovarajuću konfiguracijsku datoteku za sučelje na kojem će klijenti automatski primati IP adrese.

Podešavanje DHCP klijenta na CentOS-u

Na CentOS-u, konfiguracioni fajlovi interfejsa nalaze se na /etc/sysconfig/network-scripts/.

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

Dodajte opcije u nastavku:

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

Sačuvajte datoteku i ponovo pokrenite mrežni servis (ili ponovo pokrenite sistem).

systemctl restart network

Podešavanje DHCP klijenta na Ubuntu

Na Ubuntu 16.04, možete konfigurisati sav interfejs u konfiguracionoj datoteci /etc/network/interfaces.

   
sudo vi /etc/network/interfaces

Dodajte ove redove u to:

auto  eth0
iface eth0 inet dhcp

Sačuvajte datoteku i ponovo pokrenite mrežne usluge (ili ponovo pokrenite sistem).

sudo systemctl restart networking

Na Ubuntu 18.04, umrežavanje kontroliše Netplan program. Morate urediti odgovarajuću datoteku u direktoriju /etc/netplan/, na primjer.

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

Zatim omogućite dhcp4 pod određenim sučeljem, na primjer pod ethernets, ens0, i komentirajte konfiguracije vezane za statičku IP adresu:

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

Sačuvajte promjene i pokrenite sljedeću naredbu da izvršite promjene.

sudo netplan apply 

Za više informacija pogledajte stranice dhcpd i dhcpd.conf.

man dhcpd
man dhcpd.conf

U ovom članku smo objasnili kako konfigurirati DHCP server u CentOS i Ubuntu Linux distribucijama. Ako vam treba dodatna pojašnjenja u bilo kojoj točki, možete postaviti pitanje putem obrasca za povratne informacije u nastavku ili jednostavno podijeliti svoje komentare s nama.