Guida all'installazione di Solaris 10 8/07: installazioni di rete

Capitolo 13 SPARC: Installazione con il metodo boot WAN (esempi)

Questo capitolo fornisce un esempio di configurazione e installazione dei sistemi client in una rete geografica o WAN (Wide Area Network). Gli esempi illustrati descrivono come eseguire un'installazione boot WAN sicura con un collegamento HTTPS.

Configurazione del sito di riferimento

La Figura 13–1 mostra la configurazione del sito a cui fa riferimento l'esempio descritto.

Figura 13–1 Sito di esempio per l'installazione boot WAN

Il contesto descrive l'immagine.

Questo sito di esempio presenta le seguenti caratteristiche:

Creazione della directory radice dei documenti

Per memorizzare i file e i dati di installazione, definire le seguenti directory nella directory radice dei documenti (/opt/apache/htdocs) su server_wan-1.

Creazione della miniroot di boot WAN

Usare il comando setup_install_server(1M) con l'opzione -w per copiare la miniroot di boot WAN e l'immagine del software di Solaris nella directory /export/install/Solaris_10 di server_wan-1.

Inserire i supporti del Solaris nell'unità collegata al server_wan-1. Digitare i seguenti comandi:


server_wan-1# mkdir -p /export/install/cdrom0
server_wan-1# cd /cdrom/cdrom0/s0/Solaris_10/Tools
server_wan-1# ./setup_install_server -w /export/install/cdrom0/miniroot \
/export/install/cdrom0

Spostare la miniroot di boot WAN nella directory radice dei documenti (/opt/apache/htdocs/) del server di boot WAN.


server_wan-1# mv /export/install/cdrom0/miniroot/miniroot \
/opt/apache/htdocs/miniroot/miniroot.s10_sparc

Controllo del supporto del boot WAN da parte dell'OBP del client

Determinare se la OBP del client supporta il boot WAN digitando il seguente comando sul client.


# eeprom | grep network-boot-arguments
network-boot-arguments: data not available

Nell'esempio precedente, il risultato network-boot-arguments: datanot available indica che la OBP del client supporta le installazioniboot WAN.

Installazione del programma wanboot sul server di boot WAN

Per installare il programma wanboot sul server di boot WAN, copiare il programma dai supporti del Solaris alla directory radice dei documenti del server di boot WAN.

Inserire il DVD di Solaris o il CD Solaris Software - 1 nell'unità collegata a server_wan-1 e digitare i seguenti comandi.


server_wan-1# cd /cdrom/cdrom0/s0/Solaris_10/Tools/Boot/platform/sun4u/
server_wan-1# cp wanboot /opt/apache/htdocs/wanboot/wanboot.s10_sparc

Creazione della struttura gerarchica /etc/netboot

Creare le sottodirectory di client_wan-1 della directory /etc/netboot sul server di boot WAN. Durante l'installazione, è da questa directory che i programmi di installazione boot WAN richiamano le informazioni di configurazione e sicurezza.

client_wan-1 si trova nella sottorete 192.168.198.0, e ha un ID client 010003BA152A42. Per creare la sottodirectory appropriata di /etc/netboot per client_wan-1, procedere come segue.


server_wan-1# cd /
server_wan-1# mkdir /etc/netboot/
server_wan-1# chmod 700 /etc/netboot
server_wan-1# chown nobody:admin /etc/netboot
server_wan-1# exit
server_wan-1# su nobody
Password:
nobody# mkdir -p /etc/netboot/192.168.198.0/010003BA152A42
nobody# chmod 700 /etc/netboot/192.168.198.0
nobody# chmod 700 /etc/netboot/192.168.198.0/010003BA152A42

Copiare il programma wanboot-cgi sul server di boot WAN

Sui sistemi che eseguono la versione corrente di Solaris, il programma wanboot-cgi è ubicato nella directory /usr/lib/inet/wanboot/. Per abilitare il server di boot WAN alla trasmissione dei dati di installazione, copiare il programma wanboot-cgi nella directory cgi-bin all'interno della directory del server Web.


server_wan-1# cp /usr/lib/inet/wanboot/wanboot-cgi \
/opt/apache/cgi-bin/wanboot-cgi
server_wan-1# chmod 755 /opt/apache/cgi-bin/wanboot-cgi

(Opzionale) Configurazione del server di boot WAN come server di log

Nell'impostazione predefinita, i messaggi relativi al boot WAN vengono visualizzati sul sistema client. Questo comportamento permette di identificare e correggere rapidamente gli eventuali problemi di installazione.

Per visualizzare i messaggi di boot e installazione sul server di boot WAN, copiare lo script bootlog-cgi nella directory cgi-bin su server_wan-1.


server_wan-1# cp /usr/lib/inet/wanboot/bootlog-cgi /opt/apache/cgi-bin/
server_wan-1# chmod 755 /opt/apache/cgi-bin/bootlog-cgi

Configurazione del server di boot WAN per l'uso di HTTPS

Per usare HTTPS nell'installazione boot WAN, è necessario abilitare il supporto di SSL nel server Web. Occorre inoltre installare un certificato digitale sul server di boot WAN. In questo esempio si presume che il server Web Apache su server_wan-1 sia già configurato per l'uso di SSL. In questo esempio si presume inoltre che un certificato digitale e un'autorità di certificazione che stabiliscono l'identità di server_wan-1 siano già installate su server_wan-1.

Per reperire esempi sulla configurazione del server Web per l'uso di SSL, vedere la documentazione del server Web.

Fornitura del certificato digitale al client

Richiedendo al server di autenticarsi presso il client, si proteggono i dati trasmessi dal server al client tramite HTTPS. Per consentire l'autenticazione del server, occorre fornire un certificato digitale trusted al client, che permette a quest'ultimo di verificare l'identità del server durante l'installazione.

Per fornire il certificato trusted al client, assumere lo stesso ruolo dell'utente del server Web. Quindi, suddividere il certificato in modo da estrarre un certificato trusted. Quindi inserire il certificato nel file truststore del client, all'interno della struttura gerarchica /etc/netboot.

In questo esempio, l'utente assume il ruolo dell'utente del server Web (nobody). Quindi, suddivide il certificato PKCS#12 del server cert.p12 e inserisce il certificato trusted nella directory /etc/netboot di client_wan-1.


server_wan-1# su nobody
Password:
server_wan-1# wanbootutil p12split -i cert.p12 -t \
/etc/netboot/192.168.198.0/010003BA152A42/truststore

(Opzionale) Uso della chiave privata e del certificato per l'autenticazione del client

A ulteriore protezione dei dati durante l'installazione, è auspicabile richiedere che anche client_wan-1 esegua la propria autenticazione presso server_wan-1. Per abilitare l'autenticazione del client nell'installazione boot WAN, inserire un certificato per il client e una chiave privata nella sottodirectory del client della struttura gerarchica /etc/netboot.

Per fornire una chiave privata e un certificato al client, procedere come segue.

In questo esempio, l'utente assume il ruolo dell'utente del server Web (nobody). Quindi, suddivide il certificato PKCS#12 cert.p12 del server. Il certificato va inserito nella struttura gerarchica /etc/netboot di client_wan-1, quindi si inserisce la chiave privata client_wan.key nel file keystore del client.


server_wan-1# su nobody
Password:
server_wan-1# wanbootutil p12split -i cert.p12 -c \
/etc/netboot/192.168.198.0/010003BA152A42/certstore -k wanclient.key
server_wan-1# wanbootutil keymgmt -i -k wanclient.key \
-s  /etc/netboot/192.168.198.0/010003BA152A42/keystore \
-o type=rsa

Creazione di chiavi per il server e il client

Per proteggere i dati trasmessi tra il server e il client, è possibile creare una chiave di hashing e una chiave di cifratura. Il server utilizza la chiave di hashing per proteggere l'integrità del programma wanboot, mentre la chiave di cifratura consente di cifrare i dati di configurazione e installazione. Il client utilizza a sua volta la chiave di hashing per controllare l'integrità del programma wanboot scaricato, mentre la chiave di cifratura consente di decifrare i dati durante l'installazione.

Per prima cosa, assumere lo stesso ruolo dell'utente del server Web. In questo esempio, il ruolo dell'utente del server Web è nobody.


server_wan-1# su nobody
Password:

Quindi, usare il comando wanbootutil keygen per creare una chiave master HMAC SHA1 per server_wan-1.


server_wan-1# wanbootutil keygen -m

Poi creare una chiave di hashing e una chiave di cifratura per client_wan-1.


server_wan-1# wanbootutil keygen -c -o net=192.168.198.0,cid=010003BA152A42,type=sha1
server_wan-1# wanbootutil keygen -c -o net=192.168.198.0,cid=010003BA152A42,type=3des

Il comando precedente crea una chiave di hashing HMAC SHA1 e una chiave di cifratura 3DES per client_wan-1. 192.168.198.0 specifica la sottorete di client_wan-1, mentre 010003BA152A42 specifica l'ID di client_wan-1.

Creazione dell'archivio Solaris Flash

In questo esempio, l'archivio Solaris Flash viene creato per clonazione dal sistema master di server_wan-1. L'archivio, denominato sol_10_sparc, viene copiato esattamente dal sistema master in modo da costituire un esatto duplicato del sistema master. L'archivio viene memorizzato in sol_10_sparc.flar. L'archivio va salvato nella sottodirectory flash/archives della directory radice dei documenti sul server di boot WAN.


server_wan-1# flarcreate -n sol_10_sparc \
/opt/apache/htdocs/flash/archives/sol_10_sparc.flar

Creazione del file sysidcfg

Per preconfigurare il sistema client_wan-1, specificare le parole chiave e i valori nel file sysidcfg. Salvare quindi il file nella sottodirectory appropriata della directory radice dei documenti di server_wan-1.


Esempio 13–1 File sysidcfg per il sistema client-1

Il seguente è un esempio di file sysidcfg per client_wan-1. Nome host, indirizzo IP e maschera di sottorete di questi sistemi sono stati preconfigurati modificando il servizio di denominazione. Questo file si trova nella directory /opt/apache/htdocs/flash/.

network_interface=primary {hostname=client_wan-1
                           default_route=192.168.198.1
                           ip_address=192.168.198.210
                           netmask=255.255.255.0
                           protocol_ipv6=no}
timezone=CET
system_locale=it
terminal=xterm
timeserver=localhost
name_service=NIS {name_server=matter(192,168,254,254)
                  domain_name=leti.esempio.it
                  }
security_policy=none

Creazione del profilo del client

Per il sistema client_wan-1, creare un profilo denominato client_wan_1_prof. Il file client_wan_1_prof contiene le voci seguenti, che definiscono il software la versione corrente di Solaris da installare sul sistema client_wan-1:

# parole chiave            valori
# ----------------         -------------------
install_type               flash_install
archive_location           https://192.168.198.2/flash/archives/cdrom0.flar
partitioning               explicit
filesys                    c0t1d0s0 4000 /
filesys                    c0t1d0s1 512 swap
filesys                    c0t1d0s7 free /export/home

L'elenco seguente descrive alcune parole chiave e valori dell'esempio.

install_type

Il profilo installa un archivio Solaris Flash sul sistema clone. Tutti i file verranno sovrascritti, come in un'installazione iniziale.

archive_location

L'archivio Solaris Flash compresso viene recuperato da server_wan-1.

partitioning

Le slice dei file system sono determinate dalle parole chiave filesys, con valore explicit. Le dimensioni di root (/) si basano sulle dimensioni dell'archivio di Solaris Flash. La partizione di swap è impostata sulla dimensione necessaria e deve essere installata su c0t1d0s1. /export/home utilizza lo spazio su disco rimanente. /export/home è installata su c0t1d0s7.

Creazione e convalida del file rules

I programmi di installazione JumpStart personalizzata usano il file rules per selezionare il profilo di installazione giusto per il sistema client_wan-1. Creare un file di testo denominato rules. Aggiungervi le parole chiave e i valori.

L'indirizzo IP di client_wan-1 è 192.168.198.210, la maschera di sottorete è 255.255.255.0. Usare la parola chiave network per specificare il profilo che il programma JumpStart personalizzato deve utilizzare per installare client_wan-1.


network 192.168.198.0 - client_wan_1_prof - 

Il file rules comunica ai programmi JumpStart di usare client_wan_1_prof per l'installazione di la versione corrente di Solaris su client_wan-1.

Denominare il file regole_client_wan.

Una volta creato il profilo e il file rules, eseguire lo script check per verificare che i file siano validi.


server_wan-1# ./check -r wanclient_rule

Se lo script check non rileva errori, viene creato il file rules.ok.

Salvare il file rules.ok nella directory /opt/apache/htdocs/flash/.

Creazione del file di configurazione del sistema

Creare un file di configurazione del sistema che elenchi le posizioni del file sysidcfg e dei file dell'installazione JumpStart personalizzata sul server di installazione. Salvare il file in una directory accessibile al server di boot WAN.

Nell'esempio seguente, il programma wanboot-cgi ricerca il file sysidcfg e i file dell'installazione JumpStart personalizzata nella directory radice dei documenti del server di boot WAN. Il nome di dominio del server di boot WAN è https://www.esempio.it. Il server di boot WAN è configurato per l'uso di HTTPS, in modo che i dati e i file siano protetti durante l'installazione.

In questo esempio, il file di configurazione del sistema è sys-conf.s10–sparc ed è salvato nella struttura gerarchica /etc/netboot sul server di boot WAN. I file sysidcfg e di installazione JumpStart personalizzata sono ubicati nella sottodirectory flash della directory radice dei documenti.

SsysidCF=https://www.esempio.it/flash/
SjumpsCF=https://www.esempio.it/flash/

Creazione del file wanboot.conf

La procedura di boot WAN utilizza le informazioni di configurazione incluse nel file wanboot.conf per installare il sistema client. Creare il file wanboot.conf in un editor di testo. Salvare il file nella sottodirectory appropriata del client nella struttura gerarchica /etc/netboot sul server di boot WAN.

Il file wanboot.conf seguente per client_wan-1 include le informazioni di configurazione per un'installazione WAN con HTTPS. Questo file istruisce inoltre il boot WAN di usare una chiave di hashing HMAC SHA1 e una chiave di cifratura 3DES per proteggere i dati.

boot_file=/wanboot/wanboot.s10_sparc
root_server=https://www.esempio.it/cgi-bin/wanboot-cgi
root_file=/miniroot/miniroot.s10_sparc
signature_type=sha1
encryption_type=3des
server_authentication=yes
client_authentication=no
resolve_hosts=
boot_logger=
system_conf=sys-conf.s10–sparc

Il file wanboot.conf specifica la configurazione seguente:

boot_file=/wanboot/wanboot.s10_sparc

Il nome del programma wanboot è wanboot.s10_sparc e si trova nella directory wanboot della directory radice dei documenti su server_wan-1.

root_server=https://www.esempio.it/cgi-bin/wanboot-cgi

La posizione del programma wanboot-cgi su server_wan-1 è https://www.esempio.it/cgi-bin/wanboot-cgi. La parte https dell'URL indica che questa installazione boot WAN usa HTTPS.

root_file=/miniroot/miniroot.s10_sparc

Il nome della miniroot di boot WAN è miniroot.s10_sparc. La miniroot si trova nella directory miniroot all'interno della directory radice dei documenti su server_wan-1.

signature_type=sha1

Il programma wanboot e il file system di boot WAN sono “firmati” per mezzo di una chiave di hashing HMAC SHA1.

encryption_type=3des

La cifratura del programma wanboot e del file system di boot WAN è eseguita con una chiave 3DES.

server_authentication=yes

Il server è autenticato durante l'installazione.

client_authentication=no

Il client non è autenticato durante l'installazione.


Nota –

Se sono state eseguite le operazioni descritte in (Opzionale) Uso della chiave privata e del certificato per l'autenticazione del client, impostare questo parametro come client_authentication=yes


resolve_hosts=

Per eseguire l'installazione WAN non sono necessari altri nomi host. Tutti i nomi host richiesti dal programma wanboot-cgi sono specificati nel file wanboot.conf e nel certificato del client.

boot_logger=

I messaggi di log dell'installazione e del boot vengono visualizzati sulla console del sistema. Se il server di log è stato configurato secondo quanto indicato nella sezione (Opzionale) Configurazione del server di boot WAN come server di log e si desidera che i messaggi di boot WAN compaiano anche sul server di boot WAN, impostare questo parametro su boot_logger=https://www.esempio.it/cgi-bin/bootlog-cgi.

system_conf=sys-conf.s10–sparc

Il file di configurazione del sistema che specifica le posizioni del file sysidcfg e dei file JumpStart si trova nel file sys-conf.s10–sparc nella struttura gerarchica /etc/netboot su server_wan-1.

In questo esempio, il file wanboot.conf viene salvato nella directory /etc/netboot/192.168.198.0/010003BA152A42 su server_wan-1.

Controllo dell'alias di dispositivo net in OBP

Per eseguire il boot del client dalla WAN con boot net, l'alias di dispositivo net deve essere impostato sul dispositivo di rete principale del client. Al prompt ok del client, digitare il comando devalias per verificare che l'alias net sia impostato sul dispositivo principale della rete /pci@1f,0/pci@1,1/network@c,1.


ok devalias
screen                   /pci@1f,0/pci@1,1/SUNW,m64B@2
net                      /pci@1f,0/pci@1,1/network@c,1
net2                     /pci@1f,0/pci@1,1/network@5,1
disk                     /pci@1f,0/pci@1/scsi@8/disk@0,0
cdrom                    /pci@1f,0/pci@1,1/ide@d/cdrom@0,0:f
keyboard                 /pci@1f,0/pci@1,1/ebus@1/su@14,3083f8
mouse                    /pci@1f,0/pci@1,1/ebus@1/su@14,3062f8

Nell'esempio di output precedente, il dispositivo principale di rete /pci@1f,0/pci@1,1/network@c,1 è assegnato all'alias net. Non è necessario ripristinare l'alias.

Installazione delle chiavi sul client

Nella sezione Creazione di chiavi per il server e il client si è proceduto a creare la chiave di hashing e la chiave di cifratura per proteggere i dati durante l'installazione. Per abilitare il client alla decifrazione dei dati trasmessi da server_wan-1 durante l'installazione, installare queste chiavi su client_wan-1.

Visualizzare i valori delle chiavi su server_wan-1.


server_wan-1# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=sha1
b482aaab82cb8d5631e16d51478c90079cc1d463
server_wan-1# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=3des
9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

L'esempio precedente usa le seguenti informazioni:

net=192.168.198.0

Specifica l'indirizzo IP della sottorete del client

cid=010003BA152A42

Specifica l'ID del client

b482aaab82cb8d5631e16d51478c90079cc1d463

Specifica il valore della chiave di hashing HMAC SHA1 del client

9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

Specifica il valore della chiave di cifratura 3DES del client

Se nell'installazione si fa uso di una chiave di cifratura AES, modificare type=3des in type=aes per visualizzare il valore della chiave di cifratura.

Al prompt ok di client_wan-1, installare le chiavi.


ok set-security-key wanboot-hmac-sha1  b482aaab82cb8d5631e16d51478c90079cc1d463
ok set-security-key wanboot-3des  9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

I comandi precedenti eseguono le seguenti operazioni:

Installazione del client

Per eseguire un'installazione non presidiata, impostare le variabili degli argomenti del boot di rete per client_wan-1 al prompt ok, quindi eseguire il boot del client.


ok setenv network-boot-arguments host-ip=192.168.198.210,
router-ip=192.168.198.1,subnet-mask=255.255.255.0,hostname=client_wan-1,
file=http://192.168.198.2/cgi-bin/wanboot-cgi
ok boot net - install
Resetting ...




Sun Blade 100 (UltraSPARC-IIe), No Keyboard
Copyright 1998-2003 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.x.build_28, 512 MB memory installed, Serial #50335475.
Ethernet address 0:3:ba:e:f3:75, Host ID: 83000ef3.



Rebooting with command: boot net - install
Boot device: /pci@1f,0/network@c,1  File and args: - install



<time unavailable> wanboot progress: wanbootfs: Read 68 of 68 kB (100%) 
<time unavailable> wanboot info: wanbootfs: Download complete
Fri Jun 20 09:16:06 wanboot progress: miniroot: Read 166067 of 166067 kB (100%)
Fri Jun 20Tue Apr 15 09:16:06 wanboot info: miniroot: Download complete
SunOS Release 5.10 Version WANboot10:04/11/03 64-bit
Copyright 1983-2003 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Configuring devices.

Vengono definite le seguenti variabili:

Il client viene installato nella WAN. Se il programma wanboot non individua tutte le informazioni di installazione necessarie, occorre intervenire con un prompt dalla riga di comando per fornire tutte le informazioni mancanti.