Configurazione dei servizi DHCP
Imposta e gestisci i servizi DHCP su Oracle Linux, con istruzioni specifiche per le release di Oracle Linux 8 e 9 e Oracle Linux 10.
Il protocollo DHCP (Dynamic Host Configuration Protocol) consente ai sistemi client di ottenere informazioni sulla configurazione di rete da un server DHCP a ogni connessione alla rete. Il server DHCP è configurato con un intervallo di indirizzi IP e altri parametri di configurazione di rete necessari per i client.
Quando si configura un sistema Oracle Linux come client DHCP, il software client contatta il server DHCP per ottenere i parametri di rete. Poiché DHCP è basato sulla trasmissione, il client deve trovarsi nella stessa sottorete di un server o di un agente di relay. Se un client non si trova nella stessa sottorete del server, è possibile usare un agente di relay DHCP per passare messaggi DHCP tra le sottoreti.
Il server fornisce un leasing per l'indirizzo IP che assegna a un client. Il cliente può richiedere termini di leasing specifici, ad esempio la durata. Se un client rimane connesso alla rete, il software client rinnova automaticamente il leasing prima della scadenza. È possibile configurare il server DHCP in modo che fornisca lo stesso indirizzo IP a un client, in base all'indirizzo MAC della relativa interfaccia di rete.
I vantaggi dell'uso di DHCP includono:
-
Gestione centralizzata degli indirizzi IP
-
Facilità di aggiunta di nuovi client a una rete
-
Riutilizzo degli indirizzi IP, riducendo il numero totale di indirizzi IP necessari
-
Riconfigurazione dello spazio degli indirizzi IP sul server DHCP senza necessità di riconfigurare ciascun client
Oracle Linux 10 utilizza il server DHCP Kea, mentre Oracle Linux 8 e Oracle Linux 9 utilizzano il server DHCP ISC legacy. Selezionare la scheda per la release di Oracle Linux da configurare.
Per maggiori informazioni su DHCP, vedere RFC 2131.
Utilizzare il server DHCP ISC su Oracle Linux 8 e Oracle Linux 9 per configurare i servizi DHCPv4 e DHCPv6.
Oracle Linux 8 e Oracle Linux 9 forniscono il server DHCP ISC tramite il pacchetto
dhcp-server. Le sezioni seguenti spiegano come configurare le interfacce di rete, comprendere le dichiarazioni DHCP, attivare i servizi e recuperare da un database di leasing danneggiato.-
dhcpd(8) -
dhcp-options(5)
Configurazione delle interfacce di rete del server
Configurare i file di servizio del server DHCP in modo che il server possa ascoltare le interfacce di rete IPv4 o IPv6 corrette.
Prima di procedere a una delle procedure seguenti, accertarsi di soddisfare i requisiti indicati di seguito.
- Si dispone dei privilegi di amministrazione appropriati per configurare DHCP.
- Il pacchetto
dhcp-serverè stato installato.In tal caso, installare il pacchetto con il comando seguente:
sudo dnf install dhcp-server
Per impostazione predefinita, il servizio
dhcpdelabora le richieste nelle interfacce di rete che le connettono alle sottoreti definite nel file di configurazione DHCP.Si supponga che un server DHCP disponga di più interfacce. Attraverso la sua interfaccia
enp0s1, il server è collegato alla stessa sottorete dei client che il server è configurato per servire. In questo caso,enp0s1deve essere impostato nel servizio DHCP per consentire al server di monitorare ed elaborare le richieste in entrata in tale interfaccia.Attenersi alla procedura riportata di seguito per configurare le interfacce di rete.
-
Per le reti IPv4, effettuare le operazioni riportate di seguito.
-
Per le reti IPv6, effettuare le operazioni riportate di seguito.
Informazioni sulle dichiarazioni DHCP
Il modo in cui DHCP fornisce servizi ai propri client è definito attraverso parametri e dichiarazioni nel file
/etc/dhcp/dhcpd.confper le reti IPv4 e il file/etc/dhcp/dhcpd6.confper le reti IPv6. Il file può contenere dettagli quali reti client, leasing di indirizzi, pool di indirizzi IP e così via.Nota
In un sistema Oracle Linux appena installato, entrambi i filedhcpd.confedhcpd6.confsono vuoti. Se il server viene configurato per DHCP per la prima volta, è possibile utilizzare i modelli in modo da poter essere guidati nella configurazione dei file. Digitare uno dei comandi seguenti:- Per IPv4
cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf - Per IPv6
cp /usr/share/doc/dhcp-server/dhcpd6.conf.example /etc/dhcp/dhcpd6.conf
Quindi, quando si aprono file, esempi e spiegazioni sono disponibili come riferimento.
Le informazioni nel file di configurazione sono costituite da una combinazione delle seguenti dichiarazioni:
- Impostazioni globali
- Dichiarazioni subnet
- Dichiarazioni di rete condivisa
- Dichiarazioni host
- Dichiarazioni gruppo
Impostazioni globali
I parametri globali definiscono le impostazioni applicabili a tutte le reti supportate o gestite dal server DHCP.
Considerare le seguenti impostazioni applicabili a livello globale in tutta la rete:
- Nome di dominio della rete aziendale:
example.com. - Server DNS della rete:
dns1.example.comedns2.example.com - Tempo di leasing assegnato a tutti i clienti: 12 ore (43200 secondi)
- Tempo massimo di leasing che può essere assegnato: 24 ore (86400 secondi)
In questo caso, configurare le impostazioni globali nel file di configurazione come indicato di seguito.
option domain-name "example.com"; default-lease-time 43200; max-lease-time 86400; authoritative;Il parametro
authoritativeidentifica il server come server ufficiale o primario per i servizi DHCP. Il parametro viene in genere utilizzato in una configurazione con più server DHCP. I server con il parametroauthoritativehanno la priorità di elaborare le richieste sui server senza il parametro.Dichiarazioni subnet
Una dichiarazione
subnetfornisce informazioni dettagliate su una sottorete a cui è collegato direttamente il server DHCP e su dove vengono serviti come client anche i sistemi di tale sottorete.Considerare la seguente configurazione di un server DHCP:
- L'interfaccia
enp0s1del server è direttamente connessa alla rete 192.0.2.0/24. - I sistemi della rete 192.0.2.0/24 sono client DHCP.
- Questa sottorete client presenta la topologia seguente:
- Server DNS della subnet: 192.0.2.1.
- Gateway della subnet: 192.0.2.1.
- Indirizzo di trasmissione: 192.0.2.255.
- Intervallo di indirizzi per i client: da 192.0.2.10 a 192.0.2.100.
- Tempo massimo di locazione per ogni cliente: 86.400 secondi (1 giorno).
In tal caso, inserire la seguente dichiarazione in
dhcp.conf:subnet 192.0.2.0 netmask 255.255.255.0 { range 192.0.2.10 192.0.2.100; option domain-name-servers 192.0.2.1; option routers 192.0.2.1; option broadcast-address 192.0.2.255; max-lease-time 86400; }In un ambiente di rete con DHCPv6, una dichiarazione
subnetnel filedhcpd6.confè simile all'esempio seguente:subnet6 2001:db8:0:1::/64 { range6 2001:db8:0:1::20 2001:db8:0:1::100; option dhcp6.name-servers 2001:db8:0:1::1; max-lease-time 172800; }Dichiarazioni di rete condivisa
È possibile definire una dichiarazione
shared-networkse il server DHCP deve fornire servizi ai client in altre sottoreti non direttamente connesse al server.Si consideri l'esempio seguente, che si espande ma differisce leggermente dallo scenario nella sezione precedente:
- Il server DHCP appartiene alla rete 192.0.2.0/24 ma non fornisce servizi ai sistemi di questa rete.
- Il server elabora le richieste dei client nelle sottoreti remote riportate di seguito.
- 192.168.5.0/24.
- 198.51.100.0/24.
- Le sottoreti remote condividono lo stesso server DNS, ma ogni sottorete ha il proprio router e la propria gamma di indirizzi IP.
In questo caso, inserire le seguenti dichiarazioni in
dhcp.conf:shared-network example { option domain-name-servers 192.168.2.1; ... subnet 192.168.5.0 netmask 255.255.255.0 { range 192.168.5.10 192.168.5.100; option routers 192.168.5.1; } subnet 198.51.100.0 netmask 255.255.255.0 { range 198.51.100.10 198.51.100.100; option routers 198.51.100.1; } ... } subnet 192.0.2.0 netmask 255.255.255.0 { }Nell'esempio precedente, la dichiarazione finale
subnetsi riferisce alla rete del server ed è al di fuori dell'ambitoshared-network. La dichiarazione è chiamata dichiarazione vuota perché definisce la subnet del server. Poiché il server non fornisce servizi a questa subnet, non vengono aggiunte voci aggiunte, ad esempio leasing, intervallo di indirizzi, informazioni DNS e così via. Anche se vuota, la dichiarazione è obbligatoria, altrimenti il serviziodhcpdnon viene avviato.In un ambiente di rete IPv6, la dichiarazione
shared-networknel filedhcpd6.confassomiglia all'esempio seguente:shared-network example { option domain-name-servers 2001:db8:0:1::1:1 ... subnet6 2001:db8:0:1::1:0/120 { range6 2001:db8:0:1::1:20 2001:db8:0:1::1:100 } subnet6 2001:db8:0:1::2:0/120 { range6 2001:db8:0:1::2:20 2001:db8:0:1::2:100 } ... } subnet6 2001:db8:0:1::50:0/120 { }Dichiarazioni host
È possibile definire una dichiarazione
hostse un client deve avere un indirizzo IP statico.Si consideri l'esempio seguente di una stampante client nella rete 192.0.2.0/24 del server. Questa volta il server fornisce servizi DHCP alla sottorete.
- Indirizzo MAC della stampante: 52:54:00:72:2f:6e.
- Indirizzo IP della stampante: 192.0.2.130Importante
L'indirizzo IP fisso di un client deve essere esterno al pool di indirizzi IP dinamici distribuiti ad altri client. Altrimenti, potrebbero verificarsi conflitti di indirizzo.
In questo caso, inserire la seguente dichiarazione in
dhcp.conf:host printer.example.com { hardware ethernet 52:54:00:72:2f:6e; fixed-address 192.0.2.130; }I sistemi vengono identificati dall'indirizzo Ethernet hardware e non dal nome nella dichiarazione
host. Pertanto, il nome host potrebbe cambiare, ma il client continua a ricevere servizi tramite l'indirizzo Ethernet.In un ambiente di rete IPv6, la dichiarazione
hostnel filedhcpd6.confassomiglia all'esempio seguente:host server.example.com { hardware ethernet 52:54:00:72:2f:6e; fixed-address6 2001:db8:0:1::200; }Dichiarazioni gruppo
È possibile definire una dichiarazione
groupper applicare gli stessi parametri a più reti, subnet e host condivisi contemporaneamente.Si consideri l'esempio riportato di seguito.
- Il server DHCP appartiene e serve la sottorete 192.0.2.0/24.
- Un client richiede un indirizzo fisso, mentre il resto dei client utilizza indirizzi IP dinamici dal server.
- Tutti i client utilizzano lo stesso server DNS.
In questo caso, inserire la seguente dichiarazione in
dhcp.conf:group { option domain-name-servers 192.0.2.1; host server1.example.com { hardware ethernet 52:54:00:72:2f:6e; fixed-address 192.0.2.130; } subnet 192.0.2.0 netmask 255.255.255.0 { range 192.0.2.10 192.0.2.100; option routers 192.0.2.1; option broadcast-address 192.0.2.255; max-lease-time 86400; } }In un ambiente di rete IPv6, la dichiarazione
groupnel filedhcpd6.confassomiglia all'esempio seguente:group { option dhcp6.domain-search "example.com"; host server1.example.com { hardware ethernet 52:54:00:72:2f:6e; fixed-address 2001:db8:0:1::200; } host server2.example.com { hardware ethernet 52:54:00:1b:f3:cf; fixed-address 2001:db8:0:1::ba3; } } subnet6 2001:db8:0:1::/64 { range6 2001:db8:0:1::20 2001:db8:0:1::100; option dhcp6.name-servers 2001:db8:0:1::1; max-lease-time 172800; }Attivazione dei servizi DHCP
Aggiungere le impostazioni di configurazione DHCP, quindi abilitare e avviare il servizio DHCPv4 o DHCPv6.
Tutti i servizi DHCP sono definiti nel file
/etc/dhcp/dhcpd.confo/etc/dhcp/dhcpd6.confdel server. Per configurare e quindi attivare i servizi configurati, effettuare le operazioni riportate di seguito.- Per le reti IPv4:
- Aprire il file
/etc/dhcp/dhcpd.conf. - Aggiungere parametri e dichiarazioni al file.
Per istruzioni, vedere Informazioni sulle dichiarazioni DHCP o i commenti e le note nel modello
/usr/share/doc/dhcp-server/dhcpd.conf.example. - Facoltativamente, impostare il servizio
dhcpdper l'avvio automatico al reboot del server.sudo systemctl enable dhcpd - Avviare o riavviare il servizio
dhcpd.sudo systemctl start dhcpd
- Aprire il file
- Per le reti IPv6:
- Aprire il file
/etc/dhcp/dhcpd6.conf. - Aggiungere parametri e dichiarazioni al file.
Per istruzioni, vedere Informazioni sulle dichiarazioni DHCP o i commenti e le note nel modello
/usr/share/doc/dhcp-server/dhcpd6.conf.example. - Facoltativamente, impostare il servizio
dhcpd6per l'avvio automatico al reboot del server.sudo systemctl enable dhcpd6 - Avviare o riavviare il servizio
dhcpd6.sudo systemctl start dhcpd6
- Aprire il file
Recupero da un database leasing danneggiato
Ripristinare un database di leasing DHCP danneggiato dal file di leasing di backup più recente per DHCPv4 o DHCPv6.
Assicurarsi di disporre dei privilegi di amministrazione necessari.
Il servizio
dhcpdmantiene le informazioni sul leasing, ad esempio indirizzi IP, indirizzi MAC e tempi di scadenza del leasing, nei seguenti database a file sequenziale:- Per DHCPv4:
/var/lib/dhcpd/dhcpd.leases. - Per DHCPv6:
/var/lib/dhcpd/dhcpd6.leases.
Per evitare che i file del database di leasing diventino troppo grandi con dati non più validi, il servizio
dhcpdrigenera periodicamente i file mediante il seguente meccanismo:- Il servizio rinomina i file di leasing esistenti:
/var/lib/dhcpd/dhcpd.leasesviene rinominato in/var/lib/dhcpd/dhcpd.leases~./var/lib/dhcpd/dhcpd6.leasesviene rinominato in/var/lib/dhcpd/dhcpd6.leases~.
- Il servizio ricrea i nuovi file
dhcpd.leasesedhcpd6.leases.
Se un file del database di leasing è danneggiato, è necessario ripristinare il database di leasing dall'ultimo backup noto del database.
In genere, il backup più recente di un database di leasing è il file
filename.leases~.Nota
Un'istanza di backup è uno snapshot eseguito in un determinato momento, pertanto potrebbe non riflettere lo stato più recente del sistema.-
Per DHCPv4, completare le seguenti fasi.
-
Per DHCPv6, completare le seguenti fasi.
-
Oracle Linux 10 sostituisce il server DHCP ISC legacy con Kea. Questa scheda spiega come distribuire i servizi Kea DHCPv4 e DHCPv6 ed evidenzia le opzioni client disponibili in questa release.
Kea fornisce le funzionalità server DHCP in Oracle Linux 10. Kea è modulare, quindi è possibile eseguire il servizio
kea-dhcp4okea-dhcp6o entrambi, a seconda dei requisiti di rete.Software server DHCP
Kea è il software per server DHCP disponibile in Oracle Linux 10. Kea sostituisce il server DHCP ISC fornito nelle release precedenti di Oracle Linux. È possibile eseguire il servizio
kea-dhcp4okea-dhcp6per fornire DHCP sulla rete.Per informazioni dettagliate sulla configurazione oltre agli esempi riportati in questo argomento, vedere Kea Administrator Reference Manual.
Software client DHCP
Su un sistema Oracle Linux 10 che opera come client DHCP, NetworkManager gestisce le richieste DHCP. Per informazioni sulla configurazione DHCP in NetworkManager, consultare le seguenti pagine del manuale:
NetworkManager(8)NetworkManager.conf(5)nm-settings-nmcli(5)
Se è necessario un daemon client DHCP oltre a NetworkManager, il pacchetto software
dhcpcdè disponibile nei repository standard di Oracle Linux 10.Impostazione di un servizio DHCP Kea
Prima di installare e configurare un servizio DHCP Kea, verificare che le interfacce di rete che ascolteranno i messaggi DHCP dispongano di indirizzi IP statici.
Raccogliere informazioni sul sistema che eseguirà il servizio DHCP e sulla rete che servirà, ad esempio i nomi delle interfacce, gli indirizzi predefiniti del gateway o del router, gli indirizzi IP del name server e le informazioni sulla subnet e gli intervalli di indirizzi IP previsti.
Per configurare un servizio DHCP Kea, attenersi alla procedura riportata di seguito. Configurazione di un servizio DHCPv4 Kea
Per configurare il servizio kea-dhcp4, effettuare le operazioni riportate di seguito.Configurazione di un servizio DHCPv6 Kea
Per configurare il servizio kea-dhcp6, effettuare le operazioni riportate di seguito.