本章提供了一個透過廣域網 (WAN) 設定和安裝用戶端系統的範例。 本章中的範例將介紹如何透過 HTTPS 連接執行安全的 WAN Boot 安裝。
圖 45–1 顯示此範例的網站設定。
此範例網站具有下列特徵。
伺服器 wanserver-1 已配置為 WAN Boot 伺服器和安裝伺服器。
wanserver-1 的 IP 位址為 192.168.198.2。
wanserver-1 的網域名稱為 www.example.com。
wanserver-1 執行的是 Solaris 9 9/04 作業環境。
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 9 9/04 作業環境一起安裝的新系統。
若要儲存安裝檔案和資料,請在 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/ |
使用 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 程式,請將此程式從 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 |
在 WAN Boot 伺服器上的 /etc/netboot 目錄下,建立 wanclient-1 的子目錄。 安裝期間,WAN Boot 安裝程式會從 /etc/netboot 目錄中擷取配置資訊和安全性資訊。
wanclient-1 位於子網路 192.168.198.0 上,用戶端 ID 為 010003BA152A42。若要為 wanclient-1 建立 /etc/netboot 的適當子目錄,請執行下列工作。
建立 /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 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 伺服器上檢視啟動訊息和安裝訊息,請將 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-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 |
若要預先配置 wanclient-1 系統,請在 sysidcfg 檔案中指定關鍵字和值。 將該檔案儲存在 wanserver-1 上文件根目錄的 flash 子目錄中。
下面是 wanclient-1 之 sysidcfg 檔案的範例。 透過編輯名稱服務,已預先配置了這些系統的主機名稱、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
下列清單描述了此範例的一些關鍵字和值。
該設定檔在複製系統上安裝 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。可使用 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/
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 檔案指定以下配置。
wanboot 程式名為 wanboot.s9_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.s9_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。
系統配置檔 (用於指定 sysid.cfg 檔案和 JumpStart 檔案的位置) 位於 wanserver-1 上 /etc/netboot 階層結構中的 sys.conf 檔案內。
在此範例中,您將 wanboot.conf 檔案儲存在 wanserver-1 上的 /etc/netboot/192.168.198.0/010003BA152A42 目錄中。
透過在用戶端系統上鍵入下列指令,來確定用戶端 OBP 是否支援 WAN Boot。
# eeprom | grep network-boot-arguments network-boot-arguments: data not available |
在先前的範例中,network-boot-arguments: data not available 輸出表示用戶端 OBP 支援 WAN Boot。
若要使用 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, 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. |
設定了下列變數。
用戶端 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 程式找不到所有必需的安裝資訊,系統可能會提示您在指令行中提供遺漏的資訊。