Vyhledávání na webu

Jak nastavit DHCP server a klienta na CentOS a Ubuntu


DHCP (zkratka pro Dynamic Host Configuration Protocol) je protokol klient/server, který umožňuje serveru automaticky přiřadit IP adresu a další související konfigurační parametry (jako je maska podsítě a výchozí brána) ke klientovi v síti.

DHCP je důležité, protože zabraňuje správci systému nebo sítě ručně konfigurovat adresy IP pro nové počítače přidané do sítě nebo počítače, které jsou přesunuty z jedné podsítě do druhé.

IP adresa přidělená DHCP serverem DHCP klientovi je „pronájem“, doba pronájmu se obvykle liší v závislosti na délce klientský počítač pravděpodobně bude vyžadovat připojení nebo konfiguraci DHCP.

V tomto článku vysvětlíme, jak nakonfigurovat server DHCP v distribucích CentOS a Ubuntu Linux tak, aby automaticky přiděloval IP adresu klientskému počítači.

Instalace DHCP serveru v CentOS a Ubuntu

Serverový balíček DCHP je dostupný v oficiálních repozitářích běžných linuxových distribucí, instalace je poměrně snadná, stačí spustit následující příkaz.

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

Po dokončení instalace nakonfigurujte rozhraní, na kterém chcete, aby démon DHCP obsluhoval požadavky, v konfiguračním souboru /etc/default/isc-dhcp-server nebo /etc/sysconfig/dhcpd.

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

Pokud například chcete, aby démon DHCPD naslouchal na eth0, nastavte jej pomocí následující direktivy.

DHCPDARGS=”eth0”

Uložte soubor a ukončete.

Konfigurace DHCP serveru v CentOS a Ubuntu

Hlavní konfigurační soubor DHCP se nachází na adrese /etc/dhcp/dhcpd.conf, která by měla obsahovat nastavení toho, co dělat, kde co dělat a všechny parametry sítě, které je třeba poskytnout ke klientům.

Tento soubor se v podstatě skládá ze seznamu prohlášení seskupených do dvou širokých kategorií:

  • Globální parametry: určete, jak provést úlohu, zda provést úlohu nebo jaké parametry konfigurace sítě poskytnout klientovi DHCP.
  • Deklarace: definujte topologii sítě, stav, ve kterém se nacházejí klienti, nabízejte adresy pro klienty nebo použijte skupinu parametrů na skupinu deklarací.

Nyní otevřete a upravte konfigurační soubor pro konfiguraci serveru DHCP.

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

Začněte definováním globálních parametrů, které jsou společné pro všechny podporované sítě, v horní části souboru. Budou se vztahovat na všechna prohlášení:

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

Dále je třeba definovat podsíť pro interní podsíť, např. 192.168.1.0/24, jak je znázorněno.

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

Všimněte si, že hostitelé, kteří vyžadují speciální možnosti konfigurace, mohou být uvedeni v příkazech hostitele (viz manuálová stránka dhcpd.conf).

Nyní, když jste nakonfigurovali démona serveru DHCP, musíte službu dočasně spustit a povolit, aby se automaticky spouštěla při příštím spuštění systému, a pomocí následujících příkazů zkontrolovat, zda je v provozu.

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

Dále spuštěním povolte požadavky na démona DHCP na bráně firewall, který naslouchá na portu 67/UDP.

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

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

Konfigurace klientů DHCP

Nakonec musíte otestovat, zda server DHCP funguje správně. Přihlaste se k několika klientským počítačům v síti a nakonfigurujte je tak, aby automaticky přijímaly IP adresy ze serveru.

Upravte příslušný konfigurační soubor pro rozhraní, na kterém budou klienti automaticky přijímat adresy IP.

Nastavení klienta DHCP na CentOS

V systému CentOS byly konfigurační soubory rozhraní umístěny na adrese /etc/sysconfig/network-scripts/.

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

Přidejte možnosti níže:

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

Uložte soubor a restartujte síťovou službu (nebo restartujte systém).

systemctl restart network

Nastavení klienta DHCP na Ubuntu

Na Ubuntu 16.04 můžete nakonfigurovat všechna rozhraní v konfiguračním souboru /etc/network/interfaces.

   
sudo vi /etc/network/interfaces

Přidejte do něj tyto řádky:

auto  eth0
iface eth0 inet dhcp

Uložte soubor a restartujte síťové služby (nebo restartujte systém).

sudo systemctl restart networking

Na Ubuntu 18.04 je síť řízena programem Netplan. Musíte upravit příslušný soubor například v adresáři /etc/netplan/.

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

Poté povolte dhcp4 pod konkrétním rozhraním, například pod ethernety, ens0, a zakomentujte konfigurace související se statickou IP adresou:

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

Uložte změny a spusťte následující příkaz pro provedení změn.

sudo netplan apply 

Další informace naleznete na manuálových stránkách dhcpd a dhcpd.conf.

man dhcpd
man dhcpd.conf

V tomto článku jsme vysvětlili, jak nakonfigurovat server DHCP v distribucích Linuxu CentOS a Ubuntu. Pokud potřebujete více objasnění jakéhokoli bodu, můžete položit otázku prostřednictvím formuláře pro zpětnou vazbu níže nebo se s námi jednoduše podělit o své komentáře.