DHCP Server su Debian Stretch

Versione del 2 nov 2021 alle 18:05 di Marcomg (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Guida da adottare! Bannermv.png


Introduzione

Quando si configura una Local Area Network (LAN) un client necessita di avere alcune informazioni, come ad esempio l'indirizzo IP dell'interfaccia, l'indirizzo IP di almeno un server dei nomi di dominio e l'indirizzo IP di un server nella LAN che funge da router a internet. Nella configurazione manuale è necessario inserire queste informazioni per ogni nuovo client, con il Dynamic Host Configuration Protocol (DHCP) i computer possono farlo automaticamente. Ciò è particolarmente conveniente per collegare alla rete computer portatili.
Per una semplice configurazione di rete si può impostare un computer (ad esempio quello connesso a internet) come server DHCP e ciascuno degli altri come client DHCP.

Installazione

Come al solito, l'installazione è molto semplice con apt, come utente root eseguire:

apt-get install isc-dhcp-server

Configurazione

Prima di tutto è necessario creare o modificare il file /etc/default/isc-dhcp-server con i permessi di root, eseguendo:

# dpkg-reconfigure isc-dhcp-server

oppure inserendo nel file /etc/default/isc-dhcp-server qualcosa di simile a:

INTERFACES="eth0"

Il file di configurazione principale per un server DHCP è /etc/dhcp/dhcpd.conf. Ricordarsi di creare una copia di backup prima di modificarlo.

Configurazione di base

Per una configurazione di base aggiungere o modificare le seguenti righe in /etc/dhcp/dhcpd.conf, lasciando intatto tutto il resto.


option domain-name "spices.org"; Questa voce fornisce il nome del dominio, in questo caso spices.org (l'autore non è sicuro se ciò sia necessario, ipotizza lo sia se si desidera fare riferimento ai computer della LAN usando il solo nome senza il dominio, vale a dire se si vuole fare riferimento al computer pepper.spices.org solo con pepper).


option domain-name-servers 213.191.92.86, 213.191.74.18; Questa voce fornisce due indirizzi IP del server dei nomi di dominio (DNS), sebbene uno sarebbe sufficiente. Vanno elencati i DNS del proprio provider internet, gli indirizzi qui indicati sono solo di esempio.


subnet 192.168.1.0 netmask 255.255.255.0 {

 range 192.168.1.1 192.168.1.10;
 option routers pepper.spices.org;

} Questa voce definisce la LAN e il router della LAN, la classe di indirizzi IP da 192.168.1.1 a 192.168.1.255 è tipica di una rete intranet. In questo caso è permesso solo l'intervallo da 192.168.1.1 a 192.168.1.10, mentre pepper.spices.org è il server connesso a internet che funge da router.

Per rendere effettivi i cambiamenti bisogna riavviare il demone dhcp, digitare quindi come utente root:


/etc/init.d/dhcp3-server restart Configurazione avanzata Assegnazione di indirizzi statici

Ipotizzando di voler assegnare un certo indirizzo ad una macchina, come ad esempio 192.168.1.5 a cinnamon, si può aggiungere una configurazione di questo tipo:


host cinnamon {

 hardware ethernet 00:0D:87:B3:AE:A6;
 fixed-address 192.168.1.5;

} Questo criptico numero (00:0D:87:B3:AE:A6) è l'indirizzo hardware dell'interfaccia di cinnamon che identifica il client al server, se l'interfaccia è attiva è ottenibile con il comando ifconfig eseguito sul client.

Il nome (cinnamon) è arbitrario e non verrà usato per nient'altro.

Ulteriori informazioni

Consultare la pagina di manuale.


man dhcpd.conf Avviare il server DHCP

Si può testare il proprio server DHCP senza riavviare:

sudo service isc-dhcp-server stop sudo service isc-dhcp-server start sudo ifdown eth0 sudo ifup eth0 Per vedere i messaggi di errore del proprio server DHCP o vedere quando un dispositivo ha ottenuto in IP dal server DHCP:

sudo tail /var/log/syslog Per vedere se il proprio demone del server DHCP è in esecuzione:

ps ax | grep dhcpd Esempi di un semplice server DHCP

Se si desidera che il proprio computer sia il server DHCP di una rete Ethernet, usando l'indirizzo IP 192.168.1.100 per il proprio computer e 192.168.1.101 o uno più alto per gli altri computer, si possono usare le seguenti impostazioni di configurazione:

Contenuto di "/etc/network/interfaces":

  1. Interfaccia loopback di rete (sempre necessaria)

auto lo iface lo inet loopback

  1. Assegnare un IP statico per questo server DHCP attraverso eth0:

auto eth0 iface eth0 inet static

   address 192.168.1.100
   netmask 255.255.255.0
   broadcast 192.168.1.255
   gateway 192.168.1.1

Contenuto di "/etc/resolv.conf":

  1. Uso del server DNS pubblico di Google:

nameserver 8.8.8.8 nameserver 8.8.4.4

  1. (o usare valori piu' veloci forniti dal proprio fornitore di collegamento Internet!)

Contenuto di "/etc/dhcp/dhcpd.conf:

option domain-name "mydebian";

  1. Uso del server DNS pubblico di Google (o usare valori piu' veloci forniti dal proprio fornitore di collegamento Internet!)

option domain-name-servers 8.8.8.8, 8.8.4.4;

  1. Impostare la propria sottorete desiderata:

subnet 192.168.1.0 netmask 255.255.255.0 {

   range 192.168.1.101 192.168.1.254;
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.1.255;
   option routers 192.168.1.100;
   option domain-name-servers home;

} default-lease-time 600; max-lease-time 7200;

  1. Dire che si vuole essere l'unico server DHCP in questa rete:

authoritative; Dopo aver eseguito il server DHCP (come descritto prima oppure riavviando), si dovrebbe essere in grado di collegare gli altri dispositivi alla rete e automaticamente dovrebbero essere assegnati loro gli indirizzi DHCP. Per assicurarsi che un computer sia configurato in modo da ottenere il proprio indirizzo IP usando DHCP, mettere quanto segue in "/etc/network/interfaces":

  1. Interfaccia loopback di rete (sempre necessaria)

auto lo iface lo inet loopback

  1. Ottenere l'indirizzo IP da un qualsiasi server DHCP

auto eth0 iface eth0 inet dhcp (Oppure creare un'impostazione equivalente usando Network Manager o qualsiasi altra cosa tale dispositivo usi per configurare la propria rete)