Solaris 10 10/09 安裝指南:網路安裝

第 14 章 SPARC: 使用 WAN Boot 進行安裝 (範例)

本章提供了一個透過廣域網 (WAN) 設定和安裝用戶端系統的範例。本章中的範例將介紹如何透過 HTTPS 連接執行安全的 WAN Boot 安裝。

範例網站設定

圖 14–1 顯示本範例的網站設定。

圖 14–1 WAN Boot 安裝的範例網站

上下文將描述該圖形。

此範例網站具有下列特徵。

建立文件根目錄

若要儲存安裝檔案和資料,請在 wanserver-1 上的文件根目錄 (/opt/apache/htdocs) 中設定下列目錄。

建立 WAN Boot Miniroot

使用帶有 -w 選項的 setup_install_server(1M),將 WAN Boot miniroot 和 Solaris 軟體影像複製至 wanserver-1/export/install/Solaris_10 目錄中。

將 Solaris Software 媒體插入已連接至 wanserver-1 的媒體磁碟機中。鍵入下列指令。


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

將 WAN Boot miniroot 移至 WAN Boot 伺服器中的文件根目錄 (/opt/apache/htdocs/) 下。


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

檢查 WAN Boot 支援的用戶端 OBP

透過在用戶端系統上鍵入下列指令,來確定用戶端 OBP 是否支援 WAN Boot。


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

在先前的範例中,network-boot-arguments: data not available 輸出表示用戶端 OBP 支援 WAN Boot。

在 WAN Boot 伺服器上安裝 wanboot 程式

若要在 WAN Boot 伺服器上安裝 wanboot 程式,請將此程式由 Solaris Software 媒體複製至 WAN Boot 伺服器的文件根目錄中。

將 Solaris DVD 或 Solaris Software - 1 CD 插入已連接至 wanserver-1 的媒體磁碟機中,並鍵入下列指令。


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

建立 /etc/netboot 階層

在 WAN Boot 伺服器上的 /etc/netboot 目錄下,建立 wanclient-1 子目錄。安裝期間,WAN Boot 安裝程式會從此目錄中擷取配置資訊和安全性資訊。

wanclient-1 位於子網路 192.168.198.0 上,其用戶端 ID 為 010003BA152A42。若要在 /etc/netboot 下,為 wanclient-1 建立適當的子目錄,請執行下列工作。


wanserver-1# cd /
wanserver-1# mkdir /etc/netboot/
wanserver-1# chmod 700 /etc/netboot
wanserver-1# chown nobody:admin /etc/netboot
wanserver-1# exit
wanserver-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

wanboot-cgi 程式複製至 WAN Boot 伺服器

在執行目前的 Solaris 發行版本的系統上,wanboot-cgi 程式位於 /usr/lib/inet/wanboot/ 目錄下。若要啟用 WAN Boot 伺服器傳送安裝資料,請將 wanboot-cgi 程式複製至 Web 伺服器軟體目錄內的 cgi-bin 目錄中。


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

(可選擇) 配置 WAN Boot 伺服器為記錄伺服器

預設所有 WAN Boot 的記錄訊息,都會顯示在用戶端系統上。此種預設的行為可讓您快速地除錯任何的安裝問題。

若要在 WAN Boot 伺服器上檢視啟動訊息和安裝訊息,請將 bootlog-cgi 程序檔複製至 wanserver-1 上的 cgi-bin 目錄。


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

配置 WAN Boot 伺服器以使用 HTTPS

若要在 WAN Boot 安裝中使用 HTTPS,您必須啟用 Web 伺服器軟體中的 SSL 支援,還必須在 WAN Boot 伺服器上安裝數位憑證。此範例假定 wanserver-1 上的 Apache Web 伺服器已配置為使用 SSL。此範例還假定已經在 wanserver-1 上安裝了數位憑證及憑證授權單位,它們會建立 wanserver-1 的身份。

如需有關如何將您的 Web 伺服器軟體配置為使用 SSL 的範例,請參閱 Web 伺服器說明文件。

向用戶端提供可信任的憑證

透過要求該伺服器向用戶端證實自己的身份,可以保護藉由 HTTPS 從伺服器傳送至用戶端的資料。若要啟用伺服器認證,請您向用戶端提供一個可信任的憑證。可信任的憑證可使用戶端在安裝期間確認伺服器的身份。

若要向用戶端提供一個可信任的憑證,請假定使用者身份與 Web 伺服器使用者身份相同。然後,分割憑證以擷取可信任的憑證。然後,將可信任的憑證插入用戶端之 /etc/netboot 階層內的 truststore 檔案中。

在此範例中,您擔當 Web 伺服器使用者身份 nobody。然後,分割名為 cert.p12 的伺服器 PKCS#12 憑證,並將可信任的憑證插入 wanclient-1/etc/netboot 目錄中。


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

(可選擇) 對用戶端驗證使用私密金鑰和憑證

為了在安裝期間進一步保護資料,您可能會要求 wanclient-1wanserver-1 驗證自己的身份。若要在 WAN Boot 安裝中啟用用戶端驗證,請將用戶端憑證和私密金鑰插入 /etc/netboot 階層的用戶端子目錄中。

若要向用戶端提供私密金鑰與憑證,請執行下列作業。

在此範例中,您擔當 Web 伺服器使用者身份 nobody。然後,分割名為 cert.p12 的伺服器 PKCS#12 憑證。將憑證插入 wanclient-1/etc/netboot 階層中。然後,將命名為 wanclient.key 的私密金鑰插入用戶端的 keystore 檔案中。


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

建立伺服器金鑰和用戶端金鑰

為了保護在伺服器和用戶端之間傳送的資料,請您建立雜湊金鑰和加密金鑰。伺服器使用雜湊金鑰來保護 wanboot 程式的完整性。伺服器使用加密金鑰來對配置資料和安裝資料進行加密。用戶端使用雜湊金鑰來檢查所下載之 wanboot 程式的完整性。用戶端使用加密金鑰以在安裝期間對資料進行解密。

首先,假定使用者身份與 Web 伺服器使用者身份相同。在此範例中,Web 伺服器使用者身份為 nobody


wanserver-1# su nobody
Password:

接著,使用 wanbootutil keygen 指令建立 wanserver-1 的 HMAC SHA1 主金鑰。


wanserver-1# wanbootutil keygen -m

然後,建立 wanclient-1 的雜湊金鑰和加密金鑰。


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

以上指令建立 wanclient-1 的 HMAC SHA1 雜湊機金鑰和 3DES 加密金鑰。192.168.198.0 指定 wanclient-1 的子網路,010003BA152A42 指定 wanclient-1 的用戶端 ID。

建立 Solaris Flash 歸檔

在此範例中,您將透過複製 wanserver-1 主系統來建立 Solaris Flash 歸檔。此歸檔名為 sol_10_sparc,且完全由主系統複製而來。它是主系統的精確副本,歸檔儲存於 sol_10_sparc.flar 中。您可以將該歸檔儲存在 WAN Boot 伺服器上文件根目錄的 flash/archives 子目錄中。


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

建立 sysidcfg 檔案

若要預先配置 wanclient-1 系統,請在 sysidcfg 檔案中指定關鍵字和值。將該檔案儲存在 wanserver-1 上文件根目錄的適當子目錄中。


範例 14–1 client-1 系統的 sysidcfg 檔案

下面是 wanclient-1sysidcfg 檔案的範例。透過編輯命名服務,已預先配置了這些系統的主機名稱、IP 位址和網路遮罩。此檔案位於 /opt/apache/htdocs/flash/ 目錄中。

network_interface=primary {hostname=wanclient-1
                           default_route=192.168.198.1
                           ip_address=192.168.198.210
                           netmask=255.255.255.0
                           protocol_ipv6=no}
timezone=US/Central
system_locale=C
terminal=xterm
timeserver=localhost
name_service=NIS {name_server=matter(192.168.254.254)
                  domain_name=leti.example.com
                  }
security_policy=none

建立用戶端的設定檔

對於 wanclient-1 系統,請建立名為 wanclient_1_prof 的設定檔。wanclient_1_prof 檔案包含以下項目,這些項目定義了要在 wanclient-1 系統上安裝的目前的 Solaris 發行版本軟體。

# profile keywords         profile values
# ----------------         -------------------
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

下列清單說明此範例的一些關鍵字和值。

install_type

該設定檔在複製系統上安裝 Solaris Flash 歸檔。與初始安裝中一樣,將會覆寫所有檔案。

archive_location

wanserver-1 中擷取壓縮的 Solaris Flash 歸檔。

partitioning

檔案系統片段是由 filesys 關鍵字所決定,其值為 explicit。根 (/) 的大小依 Solaris Flash 歸檔的大小而定。swap 的大小會依需要設定,它安裝在 c0t1d0s1 上。/export/home 則視剩餘的磁碟空間而定。/export/home 安裝在 c0t1d0s7 上。

建立與驗證 rules 檔案

自訂 JumpStart 程式使用 rules 檔案,為 wanclient-1 系統選取正確的安裝設定檔。建立名為 rules 的文字檔案。然後,將關鍵字和值增加到此檔案中。

wanclient-1 系統的 IP 位址是 192.168.198.210,同時網路遮罩是 255.255.255.0。請利用 network 規則關鍵字,指定自訂 JumpStart 程式應用以安裝 wanclient-1 的設定檔。


network 192.168.198.0 - wanclient_1_prof - 

rules 檔案指示自訂 JumpStart 程式使用 wanclient_1_prof,在 wanclient-1 上安裝目前的 Solaris 發行版本軟體。

命名此規則檔案為 wanclient_rule

建立設定檔和 rules 檔案之後,請執行 check 程序檔,以確認這些檔案有效。


wanserver-1# ./check -r wanclient_rule

如果 check 程序檔未發現任何錯誤,該程序檔會建立 rules.ok 檔案。

rules.ok 檔案儲存在 /opt/apache/htdocs/flash/ 目錄中。

建立系統配置檔

建立系統配置檔,該檔案會列出 sysidcfg 檔案和自訂 JumpStart 檔案在安裝伺服器上的位置。將此檔案儲存在 WAN Boot 伺服器可以存取的目錄中。

在以下範例中,wanboot-cgi 程式會查找 WAN Boot 伺服器上文件根目錄中的 sysidcfg 檔案和自訂 JumpStart 檔案。WAN Boot 伺服器的網域名稱為 https://www.example.com。由於 WAN Boot 伺服器已配置為使用安全的 HTTP,因此在安裝期間,資料和檔案會受保護。

在本範例中,系統配置檔命名為 sys-conf.s10–sparc,並且儲存在 WAN Boot 伺服器上的 /etc/netboot 階層中。sysidcfg 和自訂 JumpStart 檔案位於文件根目錄的 flash 子目錄中。

SsysidCF=https://www.example.com/flash/
SjumpsCF=https://www.example.com/flash/

建立 wanboot.conf 檔案

WAN Boot 使用包含在 wanboot.conf 檔案中的配置資訊來安裝用戶端機器。在文字編輯程式中建立 wanboot.conf 檔案。將此檔案儲存在 WAN Boot 伺服器上 /etc/netboot 階層結構中相應的用戶端子目錄內。

下列是 wanclient-1wanboot.conf 檔案,它包含使用安全的 HTTP 進行 WAN 安裝時的配置資訊。此檔案還指示 WAN Boot 使用 HMAC SHA1 雜湊金鑰和 3DES 加密金鑰來保護資料。

boot_file=/wanboot/wanboot.s10_sparc
root_server=https://www.example.com/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

wanboot.conf 檔案指定以下配置。

boot_file=/wanboot/wanboot.s10_sparc

wanboot 程式的名稱是 wanboot.s10_sparc。該程式位於 wanserver-1 上文件根目錄內的 wanboot 目錄中。

root_server=https://www.example.com/cgi-bin/wanboot-cgi

wanserver-1 中的 wanboot-cgi 程式位於 https://www.example.com/cgi-bin/wanboot-cgi。URL 的 https 部分表示此 WAN Boot 安裝使用安全的 HTTP。

root_file=/miniroot/miniroot.s10_sparc

WAN Boot miniroot 的名稱是 miniroot.s10_sparc。位於 wanserver-1 上文件根目錄中的 miniroot 目錄內。

signature_type=sha1

使用 HMAC SHA1 雜湊金鑰來簽署 wanboot 程式和 WAN Boot 檔案系統。

encryption_type=3des

使用 3DES 金鑰來加密 wanboot 程式和 WAN Boot 檔案系統。

server_authentication=yes

安裝期間驗證該伺服器。

client_authentication=no

安裝期間不驗證該用戶端。


備註 –

如果您要執行(可選擇) 對用戶端驗證使用私密金鑰和憑證中的作業,請將此參數設定為 client_authentication=yes


resolve_hosts=

執行 WAN 安裝無需其他主機名稱。wanboot-cgi 程式要求的所有主機名稱都在 wanboot.conf 檔案和用戶端憑證中指定。

boot_logger=

啟動和安裝記錄訊息顯示在系統主控台上。如果您已配置了(可選擇) 配置 WAN Boot 伺服器為記錄伺服器中的記錄伺服器,然後也想要在 WAN Boot 伺服器上顯示 WAN Boot 訊息,請將此參數設定為 boot_logger=https://www.example.com/cgi-bin/bootlog-cgi

system_conf=sys-conf.s10–sparc

系統配置檔 (指定 sysidcfg 的位置) 與 JumpStart 檔案位於 wanserver-1/etc/netboot 階層內的 sys-conf.s10–sparc 檔案中。

在此範例中,您將 wanboot.conf 檔案儲存在 wanserver-1 上的 /etc/netboot/192.168.198.0/010003BA152A42 目錄中。

檢查 OBP 中的 net 裝置別名

若要使用 boot net 從 WAN 啟動用戶端,必須將 net 裝置別名設定為該用戶端的主要網路裝置。在用戶端 ok 提示符號處,鍵入 devalias 指令,確認已將 net 別名設定為主要網路裝置 /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

在上述輸出範例中,為主要網路裝置 /pci@1f,0/pci@1,1/network@c,1 指定的別名為 net。無需重設此別名。

在用戶端上安裝金鑰

建立伺服器金鑰和用戶端金鑰中,您會建立雜湊金鑰和加密金鑰以在安裝期間保護資料。若要啟用用戶端以解密在安裝期間從 wanserver-1 傳送的資料,請將這些金鑰安裝在 wanclient-1 上。

wanserver-1 上,會顯示金鑰值。


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

以上範例使用了以下資訊。

net=192.168.198.0

指定用戶端子網路的 IP 位址

cid=010003BA152A42

指定用戶端 ID

b482aaab82cb8d5631e16d51478c90079cc1d463

指定用戶端的 HMAC SHA1 雜湊金鑰值

9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

指定用戶端的 3DES 加密金鑰值

如果要在安裝中使用 AES 加密金鑰,請將 type=3des 變更為 type=aes 以顯示加密金鑰值。

wanclient-1 上的 ok 提示符號處,安裝這些金鑰。


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

以上指令執行下列作業。

安裝用戶端

您可以在 ok 提示符號處設定 wanclient-1 的網路啟動引數,然後啟動用戶端,從而執行無需干預的安裝。


ok setenv network-boot-arguments host-ip=192.168.198.210,
router-ip=192.168.198.1,subnet-mask=255.255.255.0,hostname=wanclient-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.

設定了下列變數。

該用戶端透過 WAN 進行安裝。如果 wanboot 程式找不到所有必需的安裝資訊,系統可能會提示您在指令行中提供遺漏的資訊。