GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare e configurare il server DHCP in Linux

DHCP (acronimo di Dynamic Host Configuration Protocol) assegna dinamicamente indirizzi IP univoci e altre informazioni ai sistemi client. Alcune delle informazioni assegnate da DHCP includono nome host, nome di dominio, indirizzo IP del gateway predefinito e server DNS, ecc. Risparmia all'amministratore di sistema la seccatura di assegnare manualmente indirizzi IP e informazioni correlate a ciascuno dei sistemi client. Di solito, nella configurazione domestica o di una piccola azienda, i router svolgono il ruolo di server DHCP. Tuttavia, in una configurazione di grandi dimensioni, è necessario configurare un server dedicato che funga da server DHCP. In Linux, puoi facilmente configurare un server DHCP e assegnare indirizzi IP ai client.

In questo tutorial, dimostreremo come configurare DHCP in Linux per assegnare automaticamente gli indirizzi IP ai client.

Come funziona il DHCP

Spieghiamo un po' come funziona DHCP:

Considera uno scenario in cui il client e il server DHCP sono collegati alla stessa rete cablata.

  1. Quando una macchina client è accesa, invia un messaggio broadcast DHCPDISCOVER a tutti i dispositivi della rete.
  2. Quando questo messaggio ha raggiunto il server DHCP, restituisce un DHCPOFFER messaggio con un indirizzo IP al client.
  3. Il client invia quindi un DHCPREQUEST al server DHCP per richiedere questo indirizzo IP.
  4. Il server DHCP invia quindi DHCPACK per accettare la richiesta e concedere al cliente un indirizzo IP.

Prerequisiti

  • Minimo due macchine Linux (per server e client DHCP)
  • Utente con privilegi sudo
  • IP statico configurato su server DHCP

Nota:

A scopo dimostrativo, abbiamo utilizzato tre macchine Linux che erano sulla stessa LAN. Puoi pensarli come tutti collegati tra loro tramite interruttore.

Server DHCP

Per il server DHCP, abbiamo utilizzato:

  • Ubuntu 20.04 LTS con IP statico "192.168.9.1" e nome host "ubuntu"

Cliente DHCP

Per il client DHCP, abbiamo utilizzato due macchine:

  • Ubuntu 20.04 con nome host “mypc”
  • Nut 20 con nome host "mint"

Installazione del server DHCP

Innanzitutto, aggiorna l'indice del repository di sistema nel tuo sistema. Emetti il ​​comando seguente in Terminale per farlo:

$ sudo apt update

Ora immetti il ​​seguente comando in Terminale per installare il server DHCP:

$ sudo apt-get install isc-dhcp-server -y

Configurazione del server DHCP

Prima di configurare un sistema Linux come server DHCP, assicurarsi che abbia un indirizzo IP statico configurato in modo che i client possano connettersi facilmente ad esso. In caso contrario, sarà difficile per i client trovare a quale server DHCP connettersi.

Nel /etc/default/isc-dhcp-server file, sarà necessario specificare l'interfaccia su cui il server DHCP ascolterà. Emetti il ​​seguente comando in Terminale per modificare questo file:

$ sudo nano /etc/default/isc-dhcp-server

Nelle INTERFACCEv4 e ntry, specifica l'interfaccia che vuoi che il server DHCP ascolti come ens33, eth0, eth1, ecc.

INTERFACESv4="interface_name"

Nel nostro scenario, l'interfaccia è ens33 , quindi la voce cambierebbe in:

INTERFACESv4="ens33"

Dopo aver configurato il file, salvalo e chiudilo.

Ora configureremo il server DHCP utilizzando il suo file di configurazione predefinito che si trova in /etc/dhcp/dhcpd.conf .

Modifica /etc/dhcp/dhcpd.conf file come segue:

$ sudo nano /etc/dhcp/dhcpd.conf

Decommenta la riga seguente rimuovendo il # simbolo prima di esso.

authoritative;

Inoltre, aggiungi le seguenti righe nel file:

default-lease-time 600;

max-lease-time 7200;

# subnet

subnet 192.168.9.0 netmask 255.255.255.0 {

# range of subnet

range 192.168.9.5 192.168.9.15;

# gateway address

option routers 192.168.9.1;

# DNS server address

option domain-name-servers 8.8.8.8, 8.8.4.4;

}

Dopo aver configurato il file, salvalo e chiudilo.

Assegna un indirizzo IP statico ai client dal server DHCP

Il server DHCP invia indirizzi IP dinamici ai client per impostazione predefinita. Tuttavia, puoi anche configurarlo per assegnare un indirizzo IP fisso o statico ai client. Gli indirizzi fissi sono necessari per alcuni dispositivi di rete come stampanti, router o quando è necessario connettere in remoto un dispositivo dall'esterno. Per assegnare un indirizzo IP statico a una macchina specifica, avrai bisogno del suo indirizzo MAC.

Supponiamo di voler assegnare un client con indirizzo MAC 00:0c:29:c1:d5:d4 un IP fisso 192.168.1.13 ogni volta.

Modifica /etc/dhcp/dhcpd.conf file e aggiungi la voce host contenente l'indirizzo MAC del client e l'indirizzo IP fisso che desideri assegnare al client:

host mint {

hardware ethernet 00:0c:29:c1:d5:d4;

fixed-address 192.168.9.13;

}

Nota: L'indirizzo IP fisso non deve essere compreso nell'intervallo dell'IP dinamico.

Ora, ogni volta che il client con l'indirizzo MAC corrispondente (00:0c:29:c1:d5:d4) invia un messaggio DHCPDISCOVER al server DHCP, riceverà lo stesso indirizzo IP 192.168.9.13.

Riavvia il servizio DHCP

Una volta terminate le configurazioni, riavviare il servizio del server DHCP. Emetti il ​​comando seguente in Terminale per farlo:

$ sudo systemctl restart isc-dhcp-server.service

Ora verifica lo stato del server DHCP usando il comando seguente:

$ sudo systemctl status isc-dhcp-server.service

L'output seguente mostra che il servizio DHCP è attivo e funziona correttamente senza errori.

Configurazione client DHCP

Ora configureremo due macchine client. A un client verrà assegnato un IP casuale dall'intervallo di sottorete definito nel file di configurazione. All'altro client verrà assegnato l'IP statico.

Per impostazione predefinita, l'indirizzamento IP dinamico è configurato nel sistema operativo Ubuntu. Tuttavia, se utilizza l'indirizzo IP statico, puoi configurarlo per ottenere un indirizzo IP dal server DHCP.

Client 1- Ottieni l'indirizzo IP dinamico dal server DHCP

Innanzitutto, trova il nome dell'interfaccia di rete utilizzando il seguente comando:

$ ifconfig

Una volta trovato il nome dell'interfaccia, immetti il ​​seguente comando in Terminale per configurare l'interfaccia di rete:

$ sudo nano /etc/network/interfaces

Inserisci le seguenti righe nel file:

auto <interface_name>

iface <interface_name>inet dhcp

Nel nostro caso, sarebbe:

auto ens33

iface ens33 inet dhcp

Salva e chiudi il file e riavvia il servizio di gestione della rete utilizzando il seguente comando in Terminale:

$ sudo systemctl restart network-manager.service

Ora esegui il comando ifconfig per verificare l'indirizzo IP del tuo client.

$ ifconfig

Puoi vedere nel seguente output che il client ha ricevuto l'indirizzo IP 192.168.9.5 che appartiene all'intervallo di sottorete definito nella configurazione del server DHCP.

Per trovare l'indirizzo IP del server DHCP, emettere il seguente comando in Terminale:

$ sudo grep -R “DHCPOFFER” /var/sys/log

Dall'output, puoi verificare che l'indirizzo IP sia assegnato da 192.168.9.1 che è l'indirizzo IP del nostro server DHCP.

Nel caso non ci sia un indirizzo IP ottenuto dalla macchina client dal server DHCP, utilizzare i seguenti comandi per rilasciare/rinnovare l'indirizzo IP:

$ sudo dhclient -r 

$ sudo dhclient -v

Ora esegui ifconfig comando per verificare l'indirizzo IP del client. Questa volta si spera che il client riceva l'indirizzo IP dal server DHCP.

Client 2- Ottieni un indirizzo IP statico dal server DHCP

Per la nostra seconda macchina client, abbiamo aggiunto la voce dell'indirizzo IP statico/fisso nel file di configurazione del server DHCP. Sul computer client, configurare prima l'interfaccia per acquisire l'indirizzo IP dal server DHCP.

Trova il nome della tua interfaccia di rete usando il seguente comando:

$ ifconfig

Una volta trovato il nome dell'interfaccia, immetti il ​​seguente comando in Terminale per configurare l'interfaccia di rete:

$ sudo nano /etc/network/interfaces

Inserisci le seguenti righe nel file:

auto <interface_name>
iface <interface_name>inet dhcp

Nel nostro caso, sarebbe:

auto ens33

iface ens33 inet dhcp

Ora salva e chiudi il file e riavvia il servizio di gestione della rete utilizzando il seguente comando in Terminale:

$ sudo systemctl restart network-manager.service

Ora esegui il comando ifconfig per verificare l'indirizzo IP del tuo client.

$ ifconfig

È possibile vedere nel seguente output che il client ha ricevuto l'indirizzo IP fisso 192.168.9.13 dal server DHCP. Questo è lo stesso indirizzo IP fisso che abbiamo aggiunto nel file di configurazione DHCP.

Per trovare l'indirizzo IP del server DHCP, emettere il seguente comando in Terminale:

$ sudo grep -R “DHCPOFFER” /var/sys/log

Dall'output, puoi verificare che gli indirizzi IP siano assegnati da 192.168.9.1 che è il nostro server DHCP.

Nel caso non ci sia un indirizzo IP ottenuto dalla macchina client dal server DHCP, utilizzare i seguenti comandi per rilasciare/rinnovare l'indirizzo IP:

$ sudo dhclient –r -v

$ sudo dhclient -v

Ora esegui ifconfig comando per verificare l'indirizzo IP del client. Questa volta si spera che il client riceva l'indirizzo IP dal server DHCP.

Visualizza gli indirizzi IP assegnati dal server DHCP

Dal server DHCP, puoi anche verificare gli indirizzi dinamici da esso assegnati ai client.

Nella macchina del server DHCP, eseguire il comando seguente in Terminale per elencare gli indirizzi assegnati dal server DHCP:

$ dhcp-lease-list

Nell'output seguente, vedrai solo gli indirizzi IP assegnati dinamicamente dal server DHCP a un client. Ricorda, non elencherà gli indirizzi IP statici emessi dal server DHCP.

In questo articolo hai imparato come installare e configurare il server DHCP nel sistema Linux e assegnare indirizzi IP dinamici e fissi ai client. Bastano pochi semplici passaggi per configurare il server DHCP in una macchina Linux. Una volta configurato, assegnerà automaticamente gli indirizzi IP di assegnazione e le relative informazioni a ciascuna macchina della rete.


Ubuntu
  1. Come installare e configurare OpenVPN Access Server

  2. Come installare e configurare il server DHCP su Ubuntu 20.04

  3. Come installare e configurare il server Redis in Ubuntu

  4. Come installare e configurare samba su Ubuntu Linux?

  5. Come installare e configurare server e client NTP Linux

Come installare e configurare il server DHCP su Centos 8

Come installare e configurare il server LAMP su Ubuntu

Come installare e configurare il server OpenLDAP su Ubuntu 16.04

Come installare e configurare VNC su Ubuntu Server 20.04

Come installare e configurare un server NFS su un sistema Linux

Come installare e configurare il server DNS in Linux