Il protocollo DHCP (Dynamic Host Configuration Protocol) permette di configurare automaticamente i sistemi host in una rete TCP/IP durante il boot. DHCP utilizza un meccanismo di client e server. I server memorizzano e gestiscono le informazioni di configurazione per i client e forniscono tali informazioni ai client su richiesta. Le informazioni includono l'indirizzo IP del client e informazioni sui servizi di rete disponibili per il client.
Uno dei vantaggi principali offerti da DHCP è la capacità di gestire le assegnazioni degli indirizzi IP tramite leasing. Questo metodo permette di ritirare gli indirizzi IP non utilizzati e di riassegnarli ad altri client. Ciò permette di utilizzare per il sito un numero minore di indirizzi IP rispetto a quello che sarebbe necessario se a tutti i client fosse assegnato un indirizzo permanente.
Con DHCP è possibile installare l'ambiente operativo Solaris su determinati sistemi client della rete. Possono infatti avvalersi di questa funzionalità solo i sistemi Sun Enterprise Ultra e x86 che soddisfano i requisiti hardware per l'esecuzione di Solaris.
A seguire vengono illustrate le attività da eseguire per consentire ai client di ottenere i parametri di installazione utilizzando il protocollo DHCP.
Tabella 7–3 Preconfigurazione delle informazioni di configurazione del sistema con il servizio DHCP - Mappa delle attività
Operazione |
Descrizione |
Istruzioni |
---|---|---|
Impostare un server di installazione. |
Impostare un server Solaris per il supporto dei client su cui installare l'ambiente operativo Solaris dalla rete. | |
Impostare i sistemi client per l'installazione di Solaris in rete usando DHCP. |
Usare add_install_client -d per aggiungere il supporto dell'installazione in rete con DHCP per una classe di client (ad esempio, sistemi di un determinato tipo) o un ID client particolare. |
Uso del DVD di Solaris: Aggiunta di sistemi da installare dalla rete con l'immagine di un DVD Uso del CD di Solaris: Aggiunta di sistemi da installare dalla rete con l'immagine di un CD |
Preparare la rete per l'uso del servizio DHCP. |
Decidere la configurazione del server DHCP. |
“Planning for DHCP Service (Task)” in System Administration Guide: IP Services |
Configurare il server DHCP. |
Avvalersi di DHCP Manager per configurare il server DHCP |
“Configuring DHCP Service (Task)” in System Administration Guide: IP Services |
Creare le opzioni DHCP per i parametri di installazione e le macro che includono le opzioni. |
Usare DHCP Manager o dhtadm per creare nuove opzioni di fornitori e macro che il server DHCP possa utilizzare per trasmettere le informazioni di installazione ai client. |
Creazione di opzioni DHCP e macro per i parametri di installazione di Solaris |
Quando si aggiungono i client con lo script add_install_client -d sul server di installazione, lo script riporta le informazioni di configurazione DHCP nell'output standard. Tali informazioni vengono utilizzare alla creazione delle opzioni e delle macro necessarie per trasmettere ai client le informazioni dell'installazione di rete.
Per installare i client DHCP dalla rete, occorre creare le opzioni della categoria dei fornitori per la trasmissione delle informazioni necessarie all'installazione dell'ambiente operativo Solaris. Tabella 7–4 mostra le opzioni da creare e le proprietà necessarie per la loro creazione. Le classi di fornitori elencate nella tabella seguente determinano quali classi di client possono utilizzare l'opzione. Le classi sono elencate unicamente a titolo esemplificativo. Occorre specificare classi di client che indichino i client che si devono effettivamente installare dalla rete. Vedere “Working With DHCP Options (Task Map)” in System Administration Guide: IP Services per informazioni su come determinare la classe di client corretta.
Per informazioni in dettaglio sulle opzioni DHCP, vedere “DHCP Option Information” in System Administration Guide: IP Services.
Tabella 7–4 Values for Creating Vendor Category Options for Solaris Clients
Nome |
Codice |
Tipo di dati |
Granularità |
Massimo |
Classi di fornitori dei client * |
Descrizione |
---|---|---|---|---|---|---|
Le opzioni della seguente categoria di fornitori sono richieste per abilitare un server DHCP al supporto dei client di installazione di Solaris. Tali opzioni sono utilizzate negli script di avvio dei client di Solaris. |
||||||
SrootIP4 |
2 |
Indirizzo IP |
1 |
1 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Indirizzo IP del server root |
SrootNM |
3 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Nome host del server radice |
SrootPTH |
4 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Percorso della directory radice del client sul server radice |
SinstIP4 |
10 |
Indirizzo IP |
1 |
1 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Indirizzo IP del server di installazione JumpStart |
SinstNM |
11 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Nome host del server di installazione |
SinstPTH |
12 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Percorso dell'immagine di installazione sul server di installazione |
Le opzioni seguenti possono essere utilizzate dagli script di avvio del client, ma non sono strettamente necessarie. |
||||||
SrootOpt |
1 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Opzioni di attivazione NFS dal file system radice del client |
SbootFIL |
7 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Percorso del file di boot del client |
SbootRS |
9 |
NUMERO |
2 |
1 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Dimensioni di lettura NFS usate dal programma di boot standalone al caricamento del kernel |
SsysidCF |
13 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Percorso del file sysidcfg, nel formato server:/percorso |
SjumpsCF |
14 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Percorso del file di configurazione JumpStart nel formato server:/percorso |
16 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Percorso del file di boot standalone o percorso del file di boot WAN. Per il file di boot standalone, usare il formato seguente. tftp://inetboot.sun4u Per il file di boot WAN, il formato è invece: http://host.dominio/percorso-file Questa opzione può essere utilizzata in modo da escludere le impostazioni BootFile e siaddr per recuperare il file di boot standalone. Protocolli supportati: tftp (inetboot), http (wanboot). Ad esempio, usare il formato seguente: tftp://inetboot.sun4u |
|
17 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Indirizzo IP e numero di porta del server proxy utilizzati nella rete. Questa opzione è necessaria solo quando il client esegue il boot dalla WAN e la rete locale usa un server proxy. Ad esempio, usare il formato seguente: 198.162.10.5:8080 |
|
Le opzioni seguenti non sono attualmente utilizzate dagli script di avvio dei client di Solaris. Si possono usare solo se si modificano gli script di avvio. |
||||||
SswapIP4 |
5 |
Indirizzo IP |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Indirizzo IP del server di swap |
SswapPTH |
6 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Percorso del file di swap del client sul server di swap |
Stz |
8 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Fuso orario del client |
Sterm |
15 |
Testo ASCII |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
Tipo di terminale |
Una volta create le opzioni, si possono creare le macro che includono tali opzioni. La tabella seguente riporta esempi di macro che si possono creare a supporto dell'installazione di Solaris per i client.
Tabella 7–5 Esempi di macro per il supporto dell'installazione di rete
Nome della macro |
Contiene le opzioni e le macro: |
---|---|
Solaris |
SrootIP4, SrootNM, SinstIP4, SinstNM |
sparc |
SrootPTH, SinstPTH |
sun4u |
Macro Solaris e sparc |
i86pc |
Macro Solaris, SrootPTH, SinstPTH, SbootFIL |
SUNW.i86pc |
Macro i86pc |
SUNW.Sun-Blade-1000 |
Macro sun4u, SbootFIL |
SUNW.Sun-Fire-880 |
Macro sun4u, SbootFIL |
Macro indirizzo di rete xxx.xxx.xxx.xxx |
L'opzione BootSrvA può essere aggiunta alle macro di indirizzi già esistenti. Il valore di BootSrvA deve indicare il server tftboot. |
I nomi delle macro elencati nella tabella precedente corrispondono alle classi di fornitori dei client da installare dalla rete. Tali nomi sono esemplificativi dei client che potrebbero essere presenti in rete. Vedere “Working With DHCP Options (Task Map)” in System Administration Guide: IP Services per informazioni sulla determinazione della classe di client di un fornitore.
Opzioni e macro si possono creare avvalendosi dei metodi seguenti.
Scrivere uno script che crei le opzioni e le macro usando il comando dhtadm. Vedere Scrittura di uno script che utilizza dhtadm per creare opzioni e macro per informazioni sulla scrittura degli script che creano tali opzioni e macro.
Creare le opzioni e le macro in DHCP Manager. Vedere Uso di DHCP Manager per creare opzioni e macro di installazione per le istruzioni di creazione delle opzioni e delle macro in DHCP Manager.
Si può creare uno script con la Korn shell adattando l'esempio in Esempio 7–1 in modo da creare tutte le opzioni elencate nella Tabella 7–4 e alcune utili macro. Accertarsi di modificare tutti gli indirizzi IP e i valori contenuti tra virgolette in modo che corrispondano agli indirizzi IP corretti, ai nomi dei server e ai percorsi per la rete. Inoltre si dovrebbe modificare la chiave Vendor= per indicare la classe di client presenti. Usare le informazioni indicate da add_install_client -d per ottenere i dati necessari ad adattare lo script.
# Load the Solaris vendor specific options. We'll start out supporting # the Sun-Blade-1000, Sun-Fire-880, and i86 platforms. Changing -A to -M would replace # the current values, rather than add them. dhtadm -A -s SrootOpt -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,1,ASCII,1,0' dhtadm -A -s SrootIP4 -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,2,IP,1,1' dhtadm -A -s SrootNM -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,3,ASCII,1,0' dhtadm -A -s SrootPTH -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,4,ASCII,1,0' dhtadm -A -s SswapIP4 -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,5,IP,1,0' dhtadm -A -s SswapPTH -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,6,ASCII,1,0' dhtadm -A -s SbootFIL -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,7,ASCII,1,0' dhtadm -A -s Stz -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,8,ASCII,1,0' dhtadm -A -s SbootRS -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,9,NUMBER,2,1' dhtadm -A -s SinstIP4 -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,10,IP,1,1' dhtadm -A -s SinstNM -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,11,ASCII,1,0' dhtadm -A -s SinstPTH -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,12,ASCII,1,0' dhtadm -A -s SsysidCF -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,13,ASCII,1,0' dhtadm -A -s SjumpsCF -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,14,ASCII,1,0' dhtadm -A -s Sterm -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,15,ASCII,1,0' dhtadm -A -s SbootURI -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,16,ASCII,1,0' dhtadm -A -s SHTTPproxy -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,17,ASCII,1,0' # Load some useful Macro definitions. # Define all Solaris-generic options under this macro named Solaris. dhtadm -A -m Solaris -d \ ':SrootIP4=10.21.0.2:SrootNM="blue2":SinstIP4=10.21.0.2:SinstNM="red5":' # Define all sparc-platform specific options under this macro named sparc. dhtadm -A -m sparc -d \ ':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":' # Define all sun4u architecture-specific options under this macro named sun4u. # (Includes Solaris and sparc macros.) dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:' # Solaris on IA32-platform-specific parameters are under this macro named i86pc. dhtadm -A -m i86pc -d \ ':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\ :SbootFIL="/platform/i86pc/kernel/unix":' # Solaris on IA32 machines are identified by the "SUNW.i86pc" class. All # clients identifying themselves as members of this class will see these # parameters in the macro called SUNW.i86pc, which includes the i86pc macro. dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:' # Sun-Blade-1000 platforms identify themselves as part of the # "SUNW.Sun-Blade-1000" class. # All clients identifying themselves as members of this class # will see these parameters. dhtadm -A -m SUNW.Sun-Blade-1000 -d \ ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":\ Include=sun4u:' # Sun-Fire-880 platforms identify themselves as part of the "SUNW.Sun-Fire-880" class. # All clients identifying themselves as members of this class will see these parameters. dhtadm -A -m SUNW.Sun-Fire-880 -d \ ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:' # Add our boot server IP to each of the network macros for our topology served by our # DHCP server. Our boot server happens to be the same machine running our DHCP server. dhtadm -M -m 10.20.64.64 -e BootSrvA=10.21.0.2 dhtadm -M -m 10.20.64.0 -e BootSrvA=10.21.0.2 dhtadm -M -m 10.20.64.128 -e BootSrvA=10.21.0.2 dhtadm -M -m 10.21.0.0 -e BootSrvA=10.21.0.2 dhtadm -M -m 10.22.0.0 -e BootSrvA=10.21.0.2 # Make sure we return host names to our clients. dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_ # The client with this MAC address is a diskless client. Override the root settings # which at the network scope setup for Install with our client's root directory. dhtadm -A -m 0800201AC25E -d \ ':SrootIP4=10.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/10.23.128.12":' |
Come superutente, eseguire dhtadm in modalità batch. Specificare il nome dello script per aggiungere le opzioni e le macro a dhcptab. Ad esempio, se il nome dello script è netinstalloptions, digitare il comando seguente:
# dhtadm -B netinstalloptions |
I client con classi di fornitori elencate nella stringa Vendor= possono ora utilizzare DHCP per l'installazione dalla rete.
Per maggiori informazioni sull'uso del comando dhtadm, vedere dhtadm(1M). Per maggiori informazioni sul file dhcptab, vedere dhcptab(4).
DHCP Manager permette di creare le opzioni elencate in Tabella 7–4 e le macro elencate in Tabella 7–5.
Nella procedura seguente si presume che il server DHCP sia già stato configurato. Qualora il server DHCP non sia stato ancora configurato, vedere “Planning for DHCP Service (Task)” in System Administration Guide: IP Services.
Diventare superutente sul sistema server DHCP.
Avviare DHCP Manager.
# /usr/sadm/admin/bin/dhcpmgr & |
Compare la finestra di DHCP Manager.
Selezionare la scheda Opzioni in DHCP Manager.
Scegliere Crea dal menu Modifica.
Si apre la finestra di dialogo Crea opzione.
Digitare il nome della prima opzione, quindi i relativi valori appropriati.
Usare Tabella 7–4 per controllare i nomi e i valori delle opzioni da creare. Notice that the vendor client classes are only suggested values. Occorre creare classi che indichino i tipi di client effettivi per i quali ricavare i parametri di installazione di Solaris dal servizio DHCP. Vedere “Working With DHCP Options (Task Map)” in System Administration Guide: IP Services per informazioni su come determinare la classe di client corretta.
Una volta immessi tutti i valori, fare clic su OK.
Nella scheda Opzioni, selezionare l'opzione appena creata.
Selezionare Duplica dal menu Modifica.
Si apre la finestra di dialogo Duplica opzione.
Digitare il nome dell'altra opzione, quindi modificare i valori di conseguenza.
I valori di codice, tipo di dati, granularità e massimo sono quelli che necessiteranno più probabilmente di una modifica. Vedere la Tabella 7–4 per ricavare i valori.
Ripetere da Punto 7 a Punto 9 finché non sono state create tutte le opzioni.
Ora si possono creare le macro per trasmettere le opzioni ai client per l'installazione di rete, come descritto nella procedura seguente.
Non è ncessario aggiungere queste opzioni al file /etc/dhcp/inittab del client di Solaris perché vi sono già incluse.
Nella procedura seguente si presume che il server DHCP sia già stato configurato. Qualora il server DHCP non sia stato ancora configurato, vedere “Planning for DHCP Service (Task)” in System Administration Guide: IP Services.
Selezionare la scheda Macro in DHCP Manager.
Scegliere Crea dal menu Modifica.
Si apre la finestra di dialogo Crea macro.
Digitare il nome della macro.
Vedere Tabella 7–5 per i nomi delle macro che si possono utilizzare.
Fare clic sul pulsante Seleziona.
Si apre la finestra di dialogo Seleziona opzione.
Selezionare Vendor nell'elenco Categoria.
Le opzioni di fornitori create compariranno in elenco.
Selezionare un'opzione da aggiungere alla macro e fare clic su OK.
Digitare un valore per l'opzione.
Vedere Tabella 7–4 per il tipo di dati dell'opzione e fare riferimento alle informazioni riportate da add_install_client -d.
Ripetere da Punto 6 a Punto 7 per ogni opzione da includere.
Per includere un'altra macro, digitare Include come nome dell'opzione e digitare il nome della macro come valore dell'opzione.
Fare clic su OK al completamento della macro.