本章提供了一個透過廣域網 (WAN) 設定和安裝用戶端系統的範例。本章中的範例將介紹如何透過 HTTPS 連接執行安全的 WAN Boot 安裝。
圖 14–1 顯示本範例的網站設定。
此範例網站具有下列特徵。
伺服器 wanserver-1 將配置為 WAN Boot 伺服器和安裝伺服器。
wanserver-1 的 IP 位址為 192.168.198.2。
wanserver-1 的網域名稱為 www.example.com。
wanserver-1 正在執行目前的 Solaris 發行版本。
wanserver-1 執行的是 Apache Web 伺服器。wanserver-1 上的 Apache 軟體已配置為支援 HTTPS。
要安裝的用戶端名為 wanclient-1。
wanclient-1 是 UltraSPARCII 系統。
wanclient-1 的用戶端 ID 為 010003BA152A42。
wanclient-1 的 IP 位址為 192.168.198.210。
用戶端子網路的 IP 位址為 192.168.198.0。
用戶端系統 wanclient-1 具有網際網路存取權限,但不直接連接至包含 wanserver-1 的網路。
wanclient-1 是新的系統,將會安裝目前的 Solaris 發行版本軟體。
若要儲存安裝檔案和資料,請在 wanserver-1 上的文件根目錄 (/opt/apache/htdocs) 中設定下列目錄。
Solaris Flash 目錄
wanserver-1# mkdir -p /opt/apache/htdocs/flash/ |
WAN Boot miniroot 目錄
wanserver-1# mkdir -p /opt/apache/htdocs/miniroot/ |
wanboot 程式目錄
wanserver-1# mkdir -p /opt/apache/htdocs/wanboot/ |
使用帶有 -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 |
透過在用戶端系統上鍵入下列指令,來確定用戶端 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 程式,請將此程式由 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 |
在 WAN Boot 伺服器上的 /etc/netboot 目錄下,建立 wanclient-1 子目錄。安裝期間,WAN Boot 安裝程式會從此目錄中擷取配置資訊和安全性資訊。
wanclient-1 位於子網路 192.168.198.0 上,其用戶端 ID 為 010003BA152A42。若要在 /etc/netboot 下,為 wanclient-1 建立適當的子目錄,請執行下列工作。
建立 /etc/netboot 目錄。
將 /etc/netboot 目錄的權限變更為 700。
將 /etc/netboot 目錄的所有權變更為 Web 伺服器程序的所有者。
假定使用者身份與 Web 伺服器使用者身份相同。
在 /etc/netboot 下建立名稱與子網路 (192.168.198.0) 一致的子目錄。
在子網路目錄下建立名稱與用戶端 ID 一致的子目錄。
將 /etc/netboot 子目錄的權限變更為 700。
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 |
在執行目前的 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 伺服器上檢視啟動訊息和安裝訊息,請將 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,您必須啟用 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-1 向 wanserver-1 驗證自己的身份。若要在 WAN Boot 安裝中啟用用戶端驗證,請將用戶端憑證和私密金鑰插入 /etc/netboot 階層的用戶端子目錄中。
若要向用戶端提供私密金鑰與憑證,請執行下列作業。
假定使用者身份與 Web 伺服器使用者身份相同。
將 PKCS#12 檔案分割成私密金鑰和用戶端憑證
將憑證插入用戶端的 certstore 檔案中
將私密金鑰插入用戶端的 keystore 檔案中
在此範例中,您擔當 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。
在此範例中,您將透過複製 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 |
若要預先配置 wanclient-1 系統,請在 sysidcfg 檔案中指定關鍵字和值。將該檔案儲存在 wanserver-1 上文件根目錄的適當子目錄中。
下面是 wanclient-1 之 sysidcfg 檔案的範例。透過編輯命名服務,已預先配置了這些系統的主機名稱、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
下列清單說明此範例的一些關鍵字和值。
該設定檔在複製系統上安裝 Solaris Flash 歸檔。與初始安裝中一樣,將會覆寫所有檔案。
從 wanserver-1 中擷取壓縮的 Solaris Flash 歸檔。
檔案系統片段是由 filesys 關鍵字所決定,其值為 explicit。根 (/) 的大小依 Solaris Flash 歸檔的大小而定。swap 的大小會依需要設定,它安裝在 c0t1d0s1 上。/export/home 則視剩餘的磁碟空間而定。/export/home 安裝在 c0t1d0s7 上。
自訂 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/
WAN Boot 使用包含在 wanboot.conf 檔案中的配置資訊來安裝用戶端機器。在文字編輯程式中建立 wanboot.conf 檔案。將此檔案儲存在 WAN Boot 伺服器上 /etc/netboot 階層結構中相應的用戶端子目錄內。
下列是 wanclient-1 的 wanboot.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 檔案指定以下配置。
wanboot 程式的名稱是 wanboot.s10_sparc。該程式位於 wanserver-1 上文件根目錄內的 wanboot 目錄中。
wanserver-1 中的 wanboot-cgi 程式位於 https://www.example.com/cgi-bin/wanboot-cgi。URL 的 https 部分表示此 WAN Boot 安裝使用安全的 HTTP。
WAN Boot miniroot 的名稱是 miniroot.s10_sparc。位於 wanserver-1 上文件根目錄中的 miniroot 目錄內。
使用 HMAC SHA1 雜湊金鑰來簽署 wanboot 程式和 WAN Boot 檔案系統。
使用 3DES 金鑰來加密 wanboot 程式和 WAN Boot 檔案系統。
安裝期間驗證該伺服器。
安裝期間不驗證該用戶端。
如果您要執行(可選擇) 對用戶端驗證使用私密金鑰和憑證中的作業,請將此參數設定為 client_authentication=yes。
執行 WAN 安裝無需其他主機名稱。wanboot-cgi 程式要求的所有主機名稱都在 wanboot.conf 檔案和用戶端憑證中指定。
啟動和安裝記錄訊息顯示在系統主控台上。如果您已配置了(可選擇) 配置 WAN Boot 伺服器為記錄伺服器中的記錄伺服器,然後也想要在 WAN Boot 伺服器上顯示 WAN Boot 訊息,請將此參數設定為 boot_logger=https://www.example.com/cgi-bin/bootlog-cgi。
系統配置檔 (指定 sysidcfg 的位置) 與 JumpStart 檔案位於 wanserver-1 上 /etc/netboot 階層內的 sys-conf.s10–sparc 檔案中。
在此範例中,您將 wanboot.conf 檔案儲存在 wanserver-1 上的 /etc/netboot/192.168.198.0/010003BA152A42 目錄中。
若要使用 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 |
以上範例使用了以下資訊。
指定用戶端子網路的 IP 位址
指定用戶端 ID
指定用戶端的 HMAC SHA1 雜湊金鑰值
指定用戶端的 3DES 加密金鑰值
如果要在安裝中使用 AES 加密金鑰,請將 type=3des 變更為 type=aes 以顯示加密金鑰值。
在 wanclient-1 上的 ok 提示符號處,安裝這些金鑰。
ok set-security-key wanboot-hmac-sha1 b482aaab82cb8d5631e16d51478c90079cc1d463 ok set-security-key wanboot-3des 9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04 |
以上指令執行下列作業。
在 wanclient-1 上安裝值為 b482aaab82cb8d5631e16d51478c90079cc1d463 的 HMAC SHA1 雜湊金鑰
在 wanclient-1 上安裝值為 9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04 的 3DES 加密金鑰
您可以在 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. |
設定了下列變數。
用戶端 IP 位址設定為 192.168.198.210
用戶端的路由器 IP 位址設定為 192.168.198.1
用戶端的子網路遮罩設定為 255.255.255.0
用戶端的主機名稱設定為 wanclient-1
wanboot-cgi 程式位於 http://192.168.198.2/cgi-bin/wanboot-cgi
該用戶端透過 WAN 進行安裝。如果 wanboot 程式找不到所有必需的安裝資訊,系統可能會提示您在指令行中提供遺漏的資訊。