DHCP (D dinamico H ost C controllo P rotocol), come tutti sapete è un protocollo di rete che assegna automaticamente indirizzi IP alle macchine client nella rete. Elimina il noioso lavoro di assegnazione manuale dell'indirizzo IP a ogni macchina in una rete di grandi dimensioni. Inoltre, rimuove il conflitto che si verifica a causa dell'assegnazione errata dello stesso indirizzo IP a più macchine. Possiamo definire intervalli IP nella configurazione del server DHCP. Insieme all'indirizzo IP, possiamo anche definire altre informazioni come subnet mask, gateway predefinito, informazioni sul server DNS, ecc. e queste informazioni vengono quindi distribuite ai computer client attraverso la rete.
In questo articolo, vedremo come installare un server DHCP in Ubuntu e configurare un client per ottenere automaticamente l'indirizzo IP da quel server DHCP. Useremo Ubuntu 18.04 LTS descrivendo la procedura menzionata in questo articolo. Puoi seguire la stessa procedura anche nelle versioni precedenti di Ubuntu.
Installazione del server DHCP
Prima di procedere all'installazione di un server DHCP, aggiorna i pacchetti eseguendo il seguente comando in Terminale:
$ sudo apt get update
Quindi esegui il seguente comando nel Terminale per installare il server DCHP:
$ sudo apt-get install isc-dhcp-server -y
Attendi qualche istante fino al completamento dell'installazione.
Configurazione del server DHCP
Al termine dell'installazione del server DHCP, ci sposteremo verso la sua configurazione. L'indirizzo IP del nostro server DHCP è 192.168.110.1. Per trovare l'indirizzo IP del tuo server DHCP, digita il seguente comando in Terminale:
$ ip a
Il file di configurazione DHCP si trova in /etc/dhcp/dhcpd.conf. Possiamo aprire questo file eseguendo il seguente comando in Terminale
$ sudo nano /etc/dhcp/dhcpd.conf
Definizione della sottorete
Aggiungi le seguenti righe nel file di configurazione per definire la sottorete, l'intervallo di indirizzi IP, i server dei nomi di dominio e di dominio come di seguito:
Per definire la sottorete, aggiungi le seguenti righe:
subnet 192.168.110.0 netmask 255.255.255.0 {
Quando definisci le informazioni sulla sottorete (intervallo, gateway predefinito, server dei nomi di dominio), assicurati di terminare le righe con un punto e virgola (;)
e li racchiusi tra parentesi graffe { }
.
Per specificare l'intervallo di indirizzi affittati, aggiungere la riga seguente. La gamma definisce l'insieme del pool di indirizzi IP, da cui gli indirizzi IP vengono allocati ai client DHCP
range 192.168.110.5 192.168.1.10;
Per specificare il gateway predefinito, aggiungi la seguente riga:
option routers 192.168.110.1;
Per specificare i server dei nomi di dominio, aggiungi la seguente riga:
option domain-name-servers 8.8.8.8, 8.8.4.4;
Apporta le modifiche secondo i valori della tua rete.
Configurazione globale DHCP
Ecco i passaggi di base di cui abbiamo bisogno per configurare le impostazioni globali per configurare un server DHCP.
1. Per specificare il tempo di locazione predefinito e massimo, trova i parametri tempo di locazione predefinito e tempo massimo di locazione nel file di configurazione e modificarne i valori.
default-lease-time 600; max-lease-time 7200;
INTERFACESv4="eth0"
3. Per rendere il server DHCP il server DHCP ufficiale per i client, decommentare la riga seguente nel file di configurazione (rimuovendo il # carattere):
$ authoritative;
Questa è la configurazione di base di cui abbiamo bisogno per eseguire un server DHCP. Una volta terminato, salva e chiudi il file di configurazione.
Gestisci i servizi DHCP
Una volta terminata la configurazione, è possibile utilizzare i seguenti comandi per gestire il server DHCP:
Per verificare se il servizio funziona correttamente, controlla lo stato del servizio DHCP eseguendo il comando seguente in Terminale:
$ sudo systemctl status isc-dhcp-server.service
Di seguito è riportato lo screenshot che mostra lo stato del server DHCP. Puoi vedere attivo (in esecuzione) evidenziato in verde per verificare che il server DHCP funzioni correttamente:
Ci sono altri comandi che possiamo usare per avviare, arrestare e riavviare il servizio DHCP.
Per avviare il servizio DHCP, eseguire il comando seguente in Terminale:
$ sudo systemctl start isc-dhcp-server.service
Per interrompere il servizio DHCP, esegui il seguente comando in Terminale:
$ sudo systemctl stop isc-dhcp-server.service
Per riavviare il servizio DHCP, eseguire il comando seguente in Terminale:
$ sudo systemctl restart isc-dhcp-server.service
Configurazione del client DHCP
Sarà necessario configurare le impostazioni di rete nel computer client per ottenere un indirizzo IP da un server DHCP. Qui useremo un altro Ubuntu 18.04 LTS come computer client.
Nel computer client, apri Impostazioni applicazione dal menu Dash di Ubuntu.
Quindi seleziona la Rete scheda dal riquadro sinistro dell'applicazione Impostazioni. Quindi apri le impostazioni dell'adattatore facendo clic sull'icona a forma di ingranaggio davanti ad essa. Assicurati che sia acceso.
Si aprirà la finestra delle impostazioni dell'adattatore. Seleziona IPv4 scheda dal menu in alto. Quindi seleziona Automatico (DHCP) opzione. Quindi fai clic su Applica per salvare le modifiche.
Quindi riavvia i servizi di rete eseguendo il seguente comando in Terminale:
$ sudo systemctl restart NetworkManager.service
Ora avvia il Terminale e digita il seguente comando per trovare l'indirizzo IP del sistema.
$ ip a
Vedrai un indirizzo IP che sarà dall'intervallo che abbiamo definito nella configurazione del server DHCP. Se il client continua a non ottenere l'indirizzo IP dal server DHCP, riavvia il sistema.
Elenca gli indirizzi affittati
Per scoprire quali indirizzi sono stati assegnati ai client dal server DHCP, apri la macchina che hai configurato come server DHCP e digita il seguente comando in Terminale:
$ dhcp-lease-list
Il lease è la quantità di tempo durante la quale un indirizzo IP viene assegnato a un computer.
Da questo elenco, puoi verificare il nostro client DHCP con il MAC:00:0c:29:d4:cf:69 ha fornito l'indirizzo IP 192.168.110.5 dal server DHCP.
Ora l'installazione è stata completata e abbiamo un server DHCP attivo e funzionante. Ora possiamo utilizzare questo server DHCP per assegnare indirizzi IP.