Ricerca nel sito web

Come installare un server DHCP in CentOS, RHEL e Fedora


DHCP (Dynamic Host Configuration Protocol) è un protocollo di rete che consente a un server di assegnare automaticamente un indirizzo IP e fornire altri parametri di configurazione di rete correlati a un client su una rete, da un pool IP predefinito.

Ciò significa che ogni volta che un client (connesso alla rete) si avvia, ottiene un indirizzo IP “dinamico”, invece di un indirizzo IP “statico” che non cambia mai. L'indirizzo IP assegnato da un server DHCP al client DHCP è in "lease", la durata del lease può variare a seconda della durata della connessione o della configurazione DHCP del client.

In questo tutorial tratteremo come installare e configurare un server DHCP nelle distribuzioni CentOS/RHEL e Fedora.

Configurazione dell'ambiente di test

Utilizzeremo il seguente ambiente di test per questa configurazione.

DHCP Server - CentOS 7 
DHCP Clients - Fedora 25 and Ubuntu 16.04

Come funziona il DHCP?

Prima di proseguire, spieghiamo brevemente come funziona DHCP:

  • Quando un computer client (configurato per utilizzare DHCP) e connesso a una rete è acceso, inoltra un messaggio DHCPDISCOVER al server DHCP.
  • E dopo che il server DHCP ha ricevuto il messaggio di richiesta DHCPDISCOVER, risponde con un messaggio DHCPOFFER.
  • Quindi il client riceve il messaggio DHCPOFFER e invia un messaggio DHCPREQUEST al server indicando che è pronto a ricevere la configurazione di rete offerta in DHCPOFFER forte> messaggio.
  • Ultimo ma non meno importante, il server DHCP riceve il messaggio DHCPREQUEST dal client e invia il messaggio DHCPACK che mostra che ora il client è autorizzato a utilizzare l'indirizzo IP assegnatogli .

Passaggio 1: installazione del server DHCP in CentOS

1. L'installazione di DCHP è abbastanza semplice, è sufficiente eseguire il comando seguente.

yum -y install dhcp

Importante: supponendo che sia presente più di un'interfaccia di rete collegata al sistema, ma si desidera che il server DHCP venga avviato solo su una delle interfacce, impostare il server DHCP per avviare solo su quell'interfaccia come segue.

2. Apri il file /etc/sysconfig/dhcpd, aggiungi il nome dell'interfaccia specifica all'elenco di DHCPDARGS, ad esempio se il l'interfaccia è eth0, quindi aggiungi:

DHCPDARGS=eth0

Salvare il file ed uscire.

Passaggio 2: configurazione del server DHCP in CentOS

3. Per cominciare, per impostare un server DHCP, il primo passo è creare il file di configurazione dhcpd.conf e il file di configurazione DHCP principale è normalmente / etc/dhcp/dhcpd.conf (che è vuoto per impostazione predefinita), conserva tutte le informazioni di rete inviate ai client.

Tuttavia, esiste un file di configurazione di esempio /usr/share/doc/dhcp*/dhcpd.conf.sample, che è un buon punto di partenza per la configurazione di un server DHCP.

Inoltre, esistono due tipi di istruzioni definite nel file di configurazione DHCP, ovvero:

  • parametri: indicano come eseguire un'attività, se eseguire un'attività o quali opzioni di configurazione di rete inviare al client DHCP.
  • dichiarazioni: specifica la topologia della rete, definisce i client, offre indirizzi per i client o applica un gruppo di parametri a un gruppo di dichiarazioni.

Pertanto, inizia copiando il file di configurazione di esempio come file di configurazione principale in questo modo:

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

4. Ora apri il file di configurazione principale e definisci le opzioni del tuo server DHCP:

vi /etc/dhcp/dhcpd.conf 

Inizia impostando i seguenti parametri globali che verranno applicati a tutte le sottoreti (specifica i valori che si applicano al tuo scenario) nella parte superiore del file:

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

5. Ora definisci una sottorete; in questo esempio, configureremo DHCP per la rete LAN 192.168.56.0/24 (ricordati di utilizzare parametri applicabili al tuo scenario):

subnet 192.168.56.0 netmask 255.255.255.0 {
        option routers                  192.168.56.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.56.1;
        range   192.168.56.10   192.168.56.100;
        range   192.168.56.120  192.168.56.200;
}

Passaggio 3: assegnare un IP statico al client DHCP

Puoi assegnare un indirizzo IP statico a un computer client specifico sulla rete, definendo semplicemente la sezione seguente nel file /etc/dhcp/dhcpd.conf, dove devi specificare esplicitamente i suoi indirizzi MAC e quelli fissi IP da assegnare:

host ubuntu-node {
	 hardware  ethernet 00:f0:m4:6y:89:0g;
	 fixed-address 192.168.56.105;
 }

host fedora-node {
	 hardware  ethernet 00:4g:8h:13:8h:3a;
	 fixed-address 192.168.56.110;
 }

Salva il file e chiudilo.

Nota: puoi scoprire o visualizzare l'indirizzo MAC Linux utilizzando il seguente comando.

ifconfig -a eth0 | grep HWaddr

6. Ora avvia temporaneamente il servizio DHCP e abilitalo all'avvio automatico al successivo avvio del sistema, utilizzando i seguenti comandi:

---------- On CentOS/RHEL 7 ---------- 
systemctl start dhcpd
systemctl enable dhcpd

---------- On CentOS/RHEL 6 ----------
service dhcpd start
chkconfig dhcpd on

7. Successivamente, non dimenticare di consentire il servizio DHCP (il demone DHCPPD è in ascolto sulla porta 67/UDP) come di seguito:

---------- On CentOS/RHEL 7 ----------
firewall-cmd --add-service=dhcp --permanent 
firewall-cmd --reload 

---------- On CentOS/RHEL 6 ----------
iptables -A INPUT -p tcp -m state --state NEW --dport 67 -j ACCEPT
service iptables save

Passaggio 4: configurazione dei client DHCP

8. Ora puoi configurare i tuoi client sulla rete per ricevere automaticamente gli indirizzi IP dal server DHCP. Accedere al computer client e modificare il file di configurazione dell'interfaccia Ethernet come segue (non prendere il nome/numero dell'interfaccia):

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

Aggiungi le opzioni di seguito:

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

Salvare il file ed uscire.

9. Puoi anche eseguire le impostazioni utilizzando la GUI su un computer desktop, impostare il metodo su Automatico (DHCP) come mostrato nello screenshot seguente (desktop Ubuntu 16.04).

10. Riavvia quindi i servizi di rete come segue (puoi eventualmente riavviare il sistema):

---------- On CentOS/RHEL 7 ----------
systemctl restart network

---------- On CentOS/RHEL 6 ----------
service network restart

A questo punto, se tutte le impostazioni fossero corrette, i tuoi client dovrebbero ricevere automaticamente gli indirizzi IP dal server DHCP.

Puoi anche leggere:

  1. Come installare e configurare il server DHCP ISC multihomed su Debian Linux
  2. 10 comandi “IP” utili per configurare le interfacce di rete

In questo tutorial, ti abbiamo mostrato come configurare un server DHCP in RHEL/CentOS. Utilizza il modulo commenti qui sotto per scriverci. In un prossimo articolo ti mostreremo come configurare un server DHCP in Debian/Ubuntu. Fino ad allora, rimani sempre connesso a TecMint.