Translation(s): Deutsch - English - Français - Italiano - Português (Brasil) - Русский - 简体中文


/!\ ToDo: Notare che questa pagina è obsoleta. ISC ha reso deprecata la suite ISC DHCP e suggerisce di usare Kea in sostituzione. Questa pagina dovrebber essere aggiornata per riflettere tale cosa.

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

Installare il pacchetto 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:

root# systemctl restart isc-dhcp-server.service

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 per le opzioni avanzate.

user> 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/":

# Interfaccia loopback di rete (sempre necessaria)
auto lo
iface lo inet loopback

# 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":

# Uso del server DNS pubblico di Google:
nameserver 8.8.8.8
nameserver 8.8.4.4
# (o usare valori piu' veloci forniti dal proprio fornitore di collegamento Internet!)

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

option domain-name "mydebian";
# 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;
# 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;
# 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":

# Interfaccia loopback di rete (sempre necessaria)
auto lo
iface lo inet loopback

# 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)

Collegamenti


CategoryNetwork CategorySoftware CategorySystemAdministration