Solaris 9 9/04 安裝指南

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

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

範例網站設定

圖 45–1 顯示此範例的網站設定。

圖 45–1 用於 WAN Boot 安裝的範例網站

上下文將描述該圖形。

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

建立文件根目錄

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

建立 WAN Boot Miniroot

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

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


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

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


wanserver-1# mv /export/install/sol_9_sparc/miniroot/miniroot \
  /opt/apache/htdocs/miniroot/miniroot.s9_sparc

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

若要在 WAN Boot 伺服器上安裝 wanboot 程式,請將此程式從 Solaris 9 9/04 軟體媒體複製至 WAN Boot 伺服器的文件根目錄。

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


wanserver-1# cd /cdrom/cdrom0/s0/Solaris_9/Tools/Boot/platform/sun4u/
wanserver-1# cp wanboot /opt/apache/htdocs/wanboot/wanboot.s9_sparc

建立 /etc/netboot 階層結構

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

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


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 9 9/04 作業環境的系統上,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 伺服器上檢視啟動訊息和安裝訊息,請將 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-9-sparc。 它是主系統的精確副本, 儲存在 sol-9–sparc.flar 中。 您可以將該歸檔檔案儲存在 WAN Boot 伺服器上文件根目錄的 flash/archives 子目錄中。


wanserver-1# flar create -n sol-9-sparc /opt/apache/htdocs/flash/archives/sol-9-sparc.flar

建立 sysidcfg 檔案

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


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

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

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 9 軟體。

# profile keywords         profile values
# ----------------         -------------------
install_type               flash_install
archive_location           https://192.168.198.2/htdocs/flash/sol_9_sparc/archive1.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。可使用 network 規則關鍵字指定自訂 JumpStart 程式應用來安裝 client-1 的設定檔。


network 192.168.198.210 - wanclient_1_prof - 

rules 檔案指示自訂 JumpStart 程式使用 wanclient_1_prof,在 wanclient-1 上安裝 Solaris 9 作業環境。

命名此規則檔案為 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,且儲存在 WAN Boot 伺服器上的 /etc/netboot 階層結構中。 sysidcfg 檔案和自訂 JumpStart 檔案都位於文件根目錄的 Solaris Flash 子目錄 flash 中。

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

建立 wanboot.conf 檔案

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

wanclient-1 的以下 wanboot.conf 檔案包含用於 WAN 安裝 (使用安全的 HTTP) 的配置資訊。 此檔案還指示 WAN Boot 使用 HMAC SHA1 隨機密鑰和 3DES 加密密鑰來保護資料。

boot_file=/wanboot/wanboot.s9_sparc
root_server=https://www.example.com/cgi-bin/wanboot-cgi
root_file=/miniroot/miniroot.s9_sparc
signature_type=sha1
encryption_type=3des
server_authentication=yes
client_authentication=no
resolve_hosts=
boot_logger=
system_conf=sys.conf

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

boot_file=/wanboot/wanboot.s9_sparc

wanboot 程式名為 wanboot.s9_sparc, 位於 wanserver-1 上文件根目錄中的 wanboot 目錄內。

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

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

root_file=/miniroot/miniroot.s9_sparc

WAN Boot miniroot 名為 miniroot.s9_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

系統配置檔 (用於指定 sysid.cfg 檔案和 JumpStart 檔案的位置) 位於 wanserver-1/etc/netboot 階層結構中的 sys.conf 檔案內。

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

檢查 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。

檢查 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, 256 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.9 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 程式找不到所有必需的安裝資訊,系統可能會提示您在指令行中提供遺漏的資訊。