Ricerca nel sito web

Come configurare il server e il client DHCP su CentOS e Ubuntu


DHCP (abbreviazione di Dynamic Host Configuration Protocol) è un protocollo client/server che consente a un server di assegnare automaticamente un indirizzo IP e altri parametri di configurazione correlati (come la maschera di sottorete e gateway predefinito) a un client su una rete.

DHCP è importante perché impedisce a un amministratore di sistema o di rete di configurare manualmente gli indirizzi IP per i nuovi computer aggiunti alla rete o per i computer spostati da una sottorete a un'altra.

L'indirizzo IP assegnato da un server DHCP a un client DHCP è in “lease”, il tempo di lease normalmente varia a seconda della durata è probabile che il computer client richieda la connessione o la configurazione DHCP.

In questo articolo spiegheremo come configurare un server DHCP nelle distribuzioni CentOS e Ubuntu Linux per assegnare automaticamente l'indirizzo IP a un computer client.

Installazione del server DHCP in CentOS e Ubuntu

Il pacchetto server DCHP è disponibile nei repository ufficiali delle principali distribuzioni Linux, l'installazione è abbastanza semplice, è sufficiente eseguire il seguente comando.

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

Una volta completata l'installazione, configura l'interfaccia su cui desideri che il demone DHCP serva le richieste nel file di configurazione /etc/default/isc-dhcp-server o /etc/sysconfig/dhcpd.

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

Ad esempio, se vuoi che il demone DHCPD ascolti su eth0, impostalo utilizzando la seguente direttiva.

DHCPDARGS=”eth0”

Salvare il file ed uscire.

Configurazione del server DHCP in CentOS e Ubuntu

Il file di configurazione DHCP principale si trova in /etc/dhcp/dhcpd.conf, che dovrebbe contenere le impostazioni su cosa fare, dove fare qualcosa e tutti i parametri di rete da fornire ai clienti.

Questo file consiste fondamentalmente in un elenco di dichiarazioni raggruppate in due grandi categorie:

  • Parametri globali: specifica come eseguire un'attività, se eseguire un'attività o quali parametri di configurazione di rete fornire al client DHCP.
  • Dichiarazioni: definisce la topologia della rete, lo stato in cui si trova un client, offre indirizzi per i client o applica un gruppo di parametri a un gruppo di dichiarazioni.

Ora apri e modifica il file di configurazione per configurare il tuo server 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				

Inizia definendo i parametri globali comuni a tutte le reti supportate, nella parte superiore del file. Si applicheranno a tutte le dichiarazioni:

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

Successivamente, è necessario definire una sottorete per una sottorete interna, ad esempio 192.168.1.0/24 come mostrato.

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

Tieni presente che gli host che richiedono opzioni di configurazione speciali possono essere elencati nelle dichiarazioni host (vedi la pagina man dhcpd.conf).

Ora che hai configurato il demone del server DHCP, devi avviare il servizio nel frattempo e abilitarlo all'avvio automatico al successivo avvio del sistema, e verificare se è attivo e funzionante utilizzando i seguenti comandi.

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

Successivamente, consenti le richieste al demone DHCP sul firewall, che è in ascolto sulla porta 67/UDP, eseguendo.

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

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

Configurazione dei client DHCP

Infine, devi verificare se il server DHCP funziona correttamente. Accedere ad alcuni computer client sulla rete e configurarli per ricevere automaticamente gli indirizzi IP dal server.

Modificare il file di configurazione appropriato per l'interfaccia su cui i client riceveranno automaticamente gli indirizzi IP.

Configurazione del client DHCP su CentOS

Su CentOS, i file di configurazione dell'interfaccia si trovavano in /etc/sysconfig/network-scripts/.

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

Aggiungi le opzioni di seguito:

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

Salvare il file e riavviare il servizio di rete (o riavviare il sistema).

systemctl restart network

Configurazione del client DHCP su Ubuntu

Su Ubuntu 16.04, puoi configurare tutta l'interfaccia nel file di configurazione /etc/network/interfaces.

   
sudo vi /etc/network/interfaces

Aggiungi queste righe al suo interno:

auto  eth0
iface eth0 inet dhcp

Salvare il file e riavviare i servizi di rete (o riavviare il sistema).

sudo systemctl restart networking

Su Ubuntu 18.04, la rete è controllata dal programma Netplan. È necessario modificare ad esempio il file appropriato nella directory /etc/netplan/.

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

Quindi abilita dhcp4 in un'interfaccia specifica, ad esempio in ethernets, ens0, e commenta le configurazioni relative all'IP statico:

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

Salvare le modifiche ed eseguire il comando seguente per rendere effettive le modifiche.

sudo netplan apply 

Per ulteriori informazioni, vedere le pagine man dhcpd e dhcpd.conf.

man dhcpd
man dhcpd.conf

In questo articolo abbiamo spiegato come configurare un server DHCP nelle distribuzioni CentOS e Ubuntu Linux. Se hai bisogno di ulteriori chiarimenti su qualsiasi punto, puoi porre una domanda tramite il modulo di feedback sottostante o semplicemente condividere i tuoi commenti con noi.