Tutto su Linux.

In questo tutorial, abbiamo impostato il nostro server DHCP su Ubuntu. Dynamic Host Configuration Protocol (DHCP) è un servizio di rete per l’assegnazione automatica di indirizzi IP ai client su una rete. Segue un’architettura server-client in cui il client richiede un server DHCP per ottenere un indirizzo IP. La maggior parte dei router ha un server DHCP integrato, ma possiamo usare anche il nostro server DHCP.

Indice

Come funziona DHCP?

Quando il computer si avvia non ha un indirizzo IP (supponendo che non abbia configurato l’indirizzo IP statico, che la maggior parte delle macchine non ha). Invia una trasmissione (sull’indirizzo MAC con tutte le F) chiamata DHCP Discover. I server DHCP sono progettati per rispondere a tali trasmissioni.

Quindi inviano il traffico unicast noto come offerta DHCP al client richiedente. Questa offerta DHCP contiene in genere l’indirizzo IP assegnato, l’indirizzo IP del gateway predefinito e l’indirizzo IP del server DNS.

Il client alla ricezione dell’Offerta invia una Richiesta DHCP al server DHCP riconoscendo di aver accettato le informazioni fornitegli dal server.

I server DHCP tengono un registro degli indirizzi IP assegnati per evitare doppie assegnazioni o collisioni di indirizzi IP.

Poiché i server DHCP rispondono alla trasmissione, devono essere presenti sulla rete locale e non dovrebbero esserci più di 1 server DHCP su una rete locale.

Metodi di allocazione per DHCP

Di seguito sono riportati i due metodi di allocazione per un server DHCP:

  • Manuale: In questo metodo, l’indirizzo IP viene fornito sulla base dell’indirizzo MAC. Questo assicura che una particolare macchina ottiene un indirizzo IP fisso come il suo indirizzo IP è poi legato al suo indirizzo MAC. Il server DHCP invia una configurazione costante al client a seconda del suo indirizzo MAC in questo tipo di allocazione.
  • Automatico: in questo metodo, gli indirizzi IP vengono assegnati automaticamente dal server DHCP in base all’ordine di arrivo, primo servito da un pool di indirizzi. Può essere ulteriormente diviso in due categorie in base al tempo di lease – Il tempo per il quale un indirizzo IP viene assegnato a un client.
    • Tempo di lease fisso: quando un client DHCP non è più sulla rete per un periodo specificato, la configurazione è scaduta e rilasciata nuovamente nel pool di indirizzi per l’utilizzo da parte di altri client DHCP. Il client deve rinegoziare per mantenere l’indirizzo IP precedente.
    • Tempo di lease infinito: questo ha l’effetto di assegnare in modo permanente un indirizzo IP a un client.

Passi per impostare il server DHCP su Ubuntu

Ora vedremo come impostare un server DHCP su Ubuntu.

1. Installare un Server DHCP

È possibile installare il Server DHCP utilizzando il comando apt-get come segue:

sudo apt install isc-dhcp-server
Apt Install Server Dhcp
Installazione di Server DHCP utilizzando apt

Nota: È possibile installare un Server DHCP anche su un Desktop edition, piuttosto che la versione server di Ubuntu. Vedi questa risposta StackOverflow per come le edizioni desktop e server sono diverse / simili.

2. Configurare il server DHPC

Il file di configurazione principale del server DHCP DH è /etc/dhcp/dhcpd.conf.

Backup del file di configurazione originale

È sempre una buona idea eseguire il backup dei file di configurazione originali. Nel caso in cui qualcosa vada storto, la configurazione originale può essere facilmente ripristinata. È possibile utilizzare il comando cp o mv comando per creare un backup.

sudo mv /etc/dhcp/dhcpd.conf{,.backup}#Expands to sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup

Il comando precedente crea un file dhcpd.conf.backup utilizzando la funzione di espansione {} di bash.

Creare e modificare il nuovo file di configurazione

È possibile utilizzare l’editor di vostra scelta. Userò l’editor nano:

sudo nano /etc/dhcp/dhcpd.conf

Le opzioni nel file di configurazione dipendono dalla complessità della rete.

Assegnazione di indirizzi IP casuali da un pool

La cosa più comune fatta da un server DHCP è assegnare indirizzi in modo casuale. Le impostazioni per lo stesso sarebbero le seguenti:

# a simple /etc/dhcp/dhcpd.confdefault-lease-time 600;max-lease-time 7200;authoritative;subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2;#option domain-name "mydomain.example";}

Secondo questa configurazione:

  • Il tempo di lease predefinito per un client è di 10 minuti(600 secondi) e il tempo massimo di lease è di 2 ore (7200 secondi).
  • Questo server DHCP è il server ufficiale per la rete locale. (indicato da authoritative).
  • Il Server consegnerà l’indirizzo IP dall’intervallo 192.168.1.100 a 192.168.1.200.
  • Il server “consiglierà” al client di utilizzare 192.168.1.254 come gateway predefinito e 192.168.1.1 e 192.168.1.2 come server DNS.

Puoi anche includere un nome di dominio.

Assegnazione di un indirizzo IP statico a un client

Per garantire che un particolare client ottenga sempre lo stesso indirizzo IP, il server DHCP avrà bisogno dell’indirizzo MAC di quel client. Questa sarebbe la modalità di allocazione manuale parlato in precedenza in questo articolo.

Per ottenere l’indirizzo MAC di un client, possiamo utilizzare il comando ip sulla macchina client:

ip a
Vedere l'indirizzo Mac
Vedere l’indirizzo MAC

(Avrete bisogno di selezionare l’indirizzo MAC dell’interfaccia da cui si sta progettando di connettersi alla rete. Ho scelto quello Wireless.)

Ora che abbiamo l’indirizzo MAC, possiamo metterlo nel file di configurazione:

host archmachine {hardware ethernet e0:91:53:31:af:ab;fixed-address 192.168.1.20;}

Questo riserverà l’indirizzo IP 192.168.1.20 per il client con l’indirizzo MAC e0:91:53:31:af:ab.

Infine, il file di configurazione è simile a questo:

DHCP Conf 1
Configurazione DHCP

È possibile omettere la parte di configurazione IP statico se si desidera assegnare automaticamente gli indirizzi.

3. Associare il server DHCP a un’interfaccia

Il server DHCP può avere molte interfacce. È necessario definire l’interfaccia che dovrebbe ascoltare. È possibile visualizzare le interfacce sul server utilizzando ip a proprio come il client.

L’interfaccia con cui associare è definita nel file /etc/default/isc-dhcp-server. Aprilo usando l’editor di tua scelta. L’interfaccia per il mio server è eth0. Potrebbe essere diverso per il tuo server. Modifica il file come:

INTERFACESv4="eth0"
Impostare l'interfaccia per ascoltare
Impostare l’interfaccia per ascoltare

4. Riavviare il server DHCP

Ora che vengono apportate modifiche alla configurazione, è necessario riavviare il servizio per abilitare tali modifiche. Per fare ciò useremo il comando systemctl :

sudo systemctl restart isc-dhcp-server.service

5. Controllare lo stato del server DHCP

Questo può essere fatto di nuovo usando il comando systemctl :

sudo systemctl status isc-dhcp-server.service
Stato del server DHCP
Stato del server DHCP

Uno stato attivo indica che il server DHCP ha rilevato correttamente la configurazione ed è pronto a distribuire gli indirizzi IP.

Risoluzione dei problemi

Il server DHCP scrive i propri log nel Syslog. Se si scopre che lo stato del servizio è inattivo, è necessario esaminare il file /var/log/syslog. Da lì in poi è possibile cercare il problema specifico menzionato nel Syslog su Internet.

Conclusione

In questo articolo, abbiamo imparato a conoscere DHCP e come installare un server DHCP su una macchina Ubuntu. Avere un server DHCP automatizza l’assegnazione degli indirizzi IP che è molto meglio della configurazione manuale di ciascun client.

You might also like

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.