Solaris 9 9/04 安裝指南

配置 WAN Boot 伺服器

WAN Boot 伺服器是一種 Web 伺服器,在 WAN Boot 安裝期間提供啟動與配置資料。 如需 WAN Boot 伺服器的系統需求清單,請參閱表 42–1

本節介紹的以下工作,用於為 WAN Boot 安裝配置 WAN Boot 伺服器。

建立文件根目錄

若要提供配置檔案和安裝檔案,則必須使 WAN Boot 伺服器上的 Web 伺服器軟體可以存取這些檔案。 使這些檔案可存取的一種方法是將其儲存在 WAN Boot 伺服器的根目錄中。

若要將配置檔案和安裝檔案置於根目錄中,則必須建立此目錄。 請參閱 Web 伺服器說明文件,以獲取有關如何建立文件根目錄的資訊。 如需有關如何設計文件根目錄的詳細資訊,請參閱在文件根目錄下儲存安裝與配置檔案

建立 WAN Boot miniroot

WAN Boot 使用已修改的特殊 Solaris miniroot 來執行 WAN Boot 安裝。 WAN Boot miniroot 含有 Solaris miniroot 中軟體的子集。 若要執行 WAN Boot 安裝,則必須將 Solaris DVD 或 Solaris Software 1 of 2 CD 中的 miniroot 複製到 WAN Boot 伺服器中。 使用 setup_install_server 指令的 -w 選項將 Solaris 軟體媒體的 WAN Boot miniroot 複製到您的系統硬碟上。

此程序使用 SPARC 媒體建立 SPARC WAN Boot miniroot。 如果要在基於 x86 的伺服器上提供 SPARC WAN Boot miniroot,則必須在 SPARC 機器上建立此 miniroot。 建立 miniroot 後,將其複製到基於 x86 的伺服器的根目錄中。

如需有關 setup_install_server 指令的其他資訊,請參閱第 15章, 準備使用 CD 媒體從網路安裝 (工作)

SPARC: 建立 WAN Boot miniroot

此程序假定 WAN Boot 伺服器上正在執行容體管理程式。 如果伺服器上未執行容體管理程式,請參閱System Administration Guide: Devices and File Systems以取得有關不使用容體管理程式管理可移除媒體的資訊。

  1. 成為 WAN Boot 伺服器上的超級使用者。

    系統必須滿足以下需求:

    • 包含 CD-ROM 光碟機或 DVD-ROM 光碟機

    • 是網站的網路服務和名稱服務的一部分。

      如果您使用名稱服務,則系統必須已經使用相同的名稱服務,例如,NIS、NIS+、DNS 或 LDAP。 如果您並未使用名稱服務,則必須遵循網站的策略來分配關於此系統的資訊。

  2. 將 Solaris Software 1 of 2 CD 或 Solaris DVD 插入安裝伺服器的磁碟機中。

  3. 為 WAN Boot miniroot 和 Solaris 安裝影像建立目錄。


    # mkdir -p wan-dir-path install-dir-path
    
    -p

    指示 mkdir 指令為要建立的目錄建立所有必要的父目錄。

    wan-dir-path

    在安裝伺服器上,指定建立 WAN Boot miniroot 的目錄。 此目錄需要容納大小通常為 250 MB 的 miniroot。

    install-dir-path

    在安裝伺服器上,指定要將 Solaris 軟體影像複製至哪個目錄。 稍後可在此程序中移除該目錄。

  4. 變更至已裝載磁碟上的 Tools 目錄。


    # cd /cdrom/cdrom0/s0/Solaris_9/Tools
    

    在上例中,cdrom0 是包含 Solaris 作業環境媒體的磁碟機的路徑。

  5. 將 WAN Boot miniroot 和 Solaris 軟體影像複製到 WAN Boot 伺服器的硬碟上。


    # ./setup_install_server -w wan-dir-path install-dir-path
    
    wan-dir-path

    指定要將 WAN Boot miniroot 複製至哪個目錄。

    install-dir-path

    指定要將 Solaris 軟體影像複製至哪個目錄。


    註解 –

    setup_install_server 指令指出您是否有足夠的磁碟空間來儲存 Solaris Software 的磁碟影像。 若要決定可用的磁碟空間,請使用 df -kl 指令。


    setup_install_server -w 指令可建立 WAN Boot miniroot 和 Solaris 軟體的網路安裝影像。

  6. (選擇性的) 移除網路安裝影像。

    執行具有 Solaris Flash 歸檔檔案的 WAN 安裝無需 Solaris 軟體影像。 如果您沒有計劃使用網路安裝影像進行其他網路安裝,則可釋放影像所佔用的磁碟空間。 鍵入以下指令以移除網路安裝影像。


    # rm -rf install-dir-path
    
  7. 使用以下方式之一使 WAN Boot miniroot 能為 WAN Boot 所用。

    • 在 WAN Boot 伺服器的文件根目錄中建立一個至 WAN Boot miniroot 的符號連結。


      # cd /document-root-directory/miniroot
      # ln -s /wan-dir-path/miniroot .
      
      document-root-directory/miniroot

      在 WAN Boot 伺服器的文件根目錄中指定您要連結至 WAN Boot miniroot 的目錄。

      /wan-dir-path/miniroot

      指定 WAN Boot miniroot 的路徑。

    • 將 WAN Boot miniroot 移到 WAN Boot 伺服器的文件根目錄中。


      # mv /wan-dir-path/miniroot /document-root-directory/miniroot/miniroot-name
      
      wan-dir-path/miniroot

      指定 WAN Boot miniroot 的路徑。

      /document-root-directory/miniroot/

      指定 WAN Boot 伺服器文件根目錄中 WAN Boot miniroot 目錄的路徑。

      miniroot-name

      指定 WAN Boot miniroot 的名稱。 描述性地命名檔案,例如 miniroot.s9_sparc

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

WAN Boot 使用一個特殊的第二等級啟動程式 (wanboot) 來安裝用戶端。 wanboot 程式會載入執行 WAN Boot 安裝所必要的 WAN Boot miniroot、用戶端配置檔和安裝檔案。

若要執行 WAN Boot 安裝,則必須在安裝時向用戶端提供 wanboot 程式。 您可以用下列方式向用戶端提供此程式。

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

此程序假定 WAN Boot 伺服器上正在執行容體管理程式。 如果伺服器上未執行容體管理程式,請參閱System Administration Guide: Devices and File Systems以取得有關不使用容體管理程式管理可移除媒體的資訊。

  1. 成為安裝伺服器上的超級使用者。

  2. 將 Solaris Software 1 of 2 CD 或 Solaris DVD 插入安裝伺服器的磁碟機中。

  3. 變更至 Solaris Software 1 of 2 CD 上或 Solaris DVD 上的 sun4u 平台目錄。


    # cd /cdrom/cdrom0/s0/Solaris_9/Tools/Boot/platform/sun4u/
    
  4. wanboot 程式複製到安裝伺服器上。


    # cp wanboot /document-root-directory/wanboot/wanboot-name
    
    document-root-directory

    指定 WAN Boot 伺服器的文件根目錄。

    wanboot-name

    指定 wanboot 程式的名稱。 描述性地命名此檔案,例如,wanboot.s9_sparc

  5. 使用以下方式之一使 wanboot 程式能為 WAN Boot 伺服器所用。

    • 在 WAN Boot 伺服器的文件根目錄中建立一個至 wanroot 程式的符號連結。


      # cd /document-root-directory/wanboot
      # ln -s /wan-dir-path/wanboot .
      
      document-root-directory/wanboot

      在 WAN Boot 伺服器的文件根目錄中指定您要連結至 wanboot 程式的目錄。

      /wan-dir-path/wanboot

      指定 wanboot 程式的路徑。

    • 將 WAN Boot miniroot 移到 WAN Boot 伺服器的文件根目錄中。


      # mv /wan-dir-path/wanboot /document-root-directory/wanboot/wanboot-name
      
      wan-dir-path/wanboot

      指定 wanboot 程式的路徑。

      /document-root-directory/wanboot/

      在 WAN Boot 伺服器的文件根目錄中指定 wanboot 程式目錄的路徑。

      wanboot-name

      指定 wanboot 程式的名稱。 描述性地命名檔案,例如,wanboot.s9_sparc

在 WAN Boot 伺服器上建立 /etc/netboot 階層結構

在安裝過程中,WAN Boot 將參考 Web 伺服器的 /etc/netboot 階層結構的內容,以取得有關如何執行安裝的說明。 該目錄包含 WAN Boot 安裝所必要的配置資訊、私密密鑰、數位證書和證書管理中心。 在安裝過程中,wanboot-cgi 程式會將此資訊轉換入 WAN Boot 檔案系統中。 然後,wanboot-cgi 程式會將 WAN Boot 檔案系統傳送給用戶端。

您可以在 /etc/netboot 目錄中建立子目錄以自訂 WAN 安裝的範圍。 使用下列目錄結構可以定義如何在要安裝的用戶端之間共用配置資訊。

如需有關如何設計 /etc/netboot 階層結構的詳細規劃資訊,請參閱/etc/netboot 階層中儲存配置與安全資訊

建立 /etc/netboot 階層結構
  1. 成為 WAN Boot 伺服器上的超級使用者。

  2. 建立 /etc/netboot 目錄。


    # mkdir /etc/netboot
    
  3. /etc/netboot 目錄的許可權變更為 700。


    # chmod 700 /etc/netboot
    
  4. /etc/netboot 目錄的所有者變更為 Web 伺服器所有者。


    # chown web-server-user:web-server-group /etc/netboot/
    
    web-server-user

    指定 Web 伺服器程序的使用者所有者

    web-server-group

    指定 Web 伺服器程序的群組所有者

  5. 退出超級使用者身份。


    # exit
    
  6. 取得 Web 伺服器所有者的使用者身份。

  7. 建立 /etc/netboot 目錄的用戶端子目錄。


    # mkdir -p /etc/netboot/net-ip/client-ID
    
    -p

    指示 mkdir 指令為要建立的目錄建立所有必要的父目錄。

    (可選擇) net-ip

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

    (可選擇) client-ID

    指定用戶端 ID。 用戶端 ID 可以是使用者定義的值或 DHCP 用戶端 ID。 client-ID 必須為 net-ip 目錄的子目錄。

  8. 對於 /etc/netboot 階層結構中的每個目錄,將其許可權變更為 700。


    # chmod 700 /etc/netboot/dir-name
    
    dir-name

    指定 /etc/netboot 階層結構中目錄的名稱。


範例 43–1 在 WAN Boot 伺服器上建立 /etc/netboot 階層結構

下列範例說明如何為子網路 192.168.255.0 上的用戶端 010003BA152A42 建立 /etc/netboot 階層結構。在此範例中,使用者 nobody 和群組 admin 擁有 Web 伺服器程序。

此範例中的指令執行以下工作。


# cd /
# mkdir /etc/netboot/
# chmod 700 /etc/netboot
# chown nobody:admin /etc/netboot
# exit
server# su nobody
Password:
nobody# mkdir -p /etc/netboot/192.168.255.0/010003BA152A42
nobody# chmod 700 /etc/netboot/192.168.255.0
nobody# chmod 700 /etc/netboot/192.168.255.0/010003BA152A42

將 WAN Boot CGI 程式複製到 WAN Boot 伺服器中

wanboot-cgi 程式會產生資料串流,該串流會將以下檔案從 WAN Boot 伺服器傳送至用戶端。

當您安裝 Solaris 9 12/03 作業環境或相容版本時,wanboot-cgi 程式即會安裝在系統上。 若要使 WAN Boot 伺服器能夠使用此程式,請將此程式複製到 WAN Boot 伺服器的 cgi-bin 目錄中。

wanboot-cgi 程式複製到 WAN Boot 伺服器上
  1. 成為 WAN Boot 伺服器上的超級使用者。

  2. wanboot-cgi 程式複製到 WAN Boot 伺服器上。


    # cp /usr/lib/inet/wanboot/wanboot-cgi /WAN-server-root/cgi-bin/wanboot-cgi
    
    /WAN-server-root

    在 WAN Boot 伺服器上,指定 Web 伺服器軟體的根目錄。

  3. 在 WAN Boot 伺服器上,將 CGI 程式的許可權變更為 755。


    # chmod 755 /WAN-server-root/cgi-bin/wanboot-cgi
    

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

如果您要在一個非用戶端的系統上記錄啟動和安裝日誌訊息,則必須安裝一部記錄伺服器。 如果要在安裝時使用帶有 HTTPS 的記錄伺服器,則必須將 WAN Boot 伺服器配置為記錄伺服器。

若要配置記錄伺服器,請依照下列步驟執行。

配置記錄伺服器
  1. bootlog-cgi 程序檔複製到記錄伺服器的 CGI 程序檔目錄中。


    # cp /usr/lib/inet/wanboot/bootlog-cgi \
      log-server-root/cgi-bin
    
    log-server-root/cgi-bin

    在記錄伺服器的 Web 伺服器目錄中指定 cgi-bin 目錄

  2. bootlog-cgi 程序檔的許可權變更為 755。


    # chmod 755 log-server-root/cgi-bin/bootlog-cgi
    
  3. wanboot.conf 檔案中設定 boot_logger 參數的值。

    wanboot.conf 檔案中,指定記錄伺服器上 bootlog-cgi 程序檔的 URL。

    如需有關在 wanboot.conf 檔案中設定參數的更多資訊,請參閱建立 wanboot.conf 檔案

    在安裝過程中,啟動和安裝訊息記錄在記錄伺服器的 /tmp 目錄中。 日誌檔命名為 bootlog.hostname,其中 hostname 為用戶端的主機名稱。


範例 43–2 為透過 HTTPS 進行的 WAN Boot 安裝配置記錄伺服器

以下範例將 WAN Boot 伺服器配置為一部記錄伺服器。


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

(可選擇) 使用 HTTPS 保護資料

若要在從 WAN Boot 伺服器向用戶端傳輸資料期間保護您的資料,可以透過安全套接層 (HTTPS) 使用 HTTP。 若要使用安全 WAN Boot 安裝配置 中所描述的更安全的安裝配置,您必須啟用 Web 伺服器,才能使用 HTTPS。

若要使 WAN Boot 伺服器上的 Web 伺服器軟體能使用 HTTPS,您必須執行以下工作。

在伺服器和用戶端認證時使用數位證書

WAN Boot 安裝方法可以使用 PKCS#12 檔案,透過具有伺服器認證或者同時具有伺服器認證與用戶端認證的 HTTPS 來執行安裝。 如需有關使用 PKCS#12 檔案的需求與準則,請參閱數位證書需求

若要在 WAN Boot 安裝中使用 PKCS#12 檔案,請執行以下工作。

wanbootutil 指令提供了用以執行上述清單中工作的選項。

在分割 PKCS#12 檔案之前,在 WAN Boot 伺服器上建立 /etc/netboot 階層結構的相應子目錄。

建立可信賴的證書和用戶端私密密鑰
  1. 假定在 WAN Boot 伺服器上使用者身份與 Web 伺服器使用者身份相同。

  2. 從 PKCS#12 檔案中擷取可信賴的證書。 在 /etc/netboot 階層結構中的用戶端的 truststore 檔案內插入證書。


    # wanbootutil p12split -i p12cert \
      -t /etc/netboot/net-ip/client-ID/truststore
    
    p12split

    可將 PKCS#12 檔案分割為單獨的私密密鑰檔案和證書檔案的 wanbootutil 指令的選項。

    -i p12cert

    指定要分割的 PKCS#12 檔案之名稱。

    -t /etc/netboot/net-ip/client-ID/truststore

    在用戶端的 truststore 檔案中插入證書。 net-ip 是用戶端子網路的 IP 位址。 client-ID 可以是使用者定義的 ID,也可以是 DHCP 用戶端 ID。

  3. (選擇性的) 決定是否要求進行用戶端認證。

    1. 在用戶端的 certstore 中插入用戶端證書。


      # wanbootutil p12split -i p12cert -c \
        /etc/netboot/net-ip/client-ID/certstore -k keyfile
      
      p12split

      可將 PKCS#12 檔案分割為單獨的私密密鑰檔案和證書檔案的 wanbootutil 指令的選項。

      -i p12cert

      指定要分割的 PKCS#12 檔案之名稱。

      -c /etc/netboot/net-ip/client-ID/certstore

      在用戶端的 certstore 中插入用戶端的證書。 net-ip 是用戶端子網路的 IP 位址。 client-ID 可以是使用者定義的 ID,也可以是 DHCP 用戶端 ID。

      -k keyfile

      指定透過分割 PKCS#12 檔案所建立的用戶端 SSL 私密密鑰檔案之名稱。

    2. 在用戶端的 keystore 中插入私密密鑰。


      # wanbootutil keymgmt -i -k keyfile \
         -s /etc/netboot/net-ip/client-ID/keystore -o type=rsa
      
      keymgmt -i

      在用戶端的 keystore 中插入 SSL 私密密鑰。

      -k keyfile

      指定在上一步驟中建立的用戶端私密密鑰檔案之名稱

      -s /etc/netboot/net-ip/client-ID/keystore

      指定用戶端的 keystore 的路徑。

      -o type=rsa

      指定密鑰的類型為 RSA


範例 43–3 為伺服器認證建立可信賴的證書

在下列範例中,將使用 PKCS#12 檔案在子網路 192.168.255.0 上安裝用戶端 010003BA152A42。該指令範例從名為 client.p12 的 PKCS#12 檔案中擷取證書。 然後該指令會將可信賴的證書的內容置於用戶端的 truststore 檔案中。

在執行這些指令之前,您必須先假定使用者身份與 Web 伺服器使用者身份相同。 在此範例中,Web 伺服器使用者身份為 nobody


server# su nobody
Password:
nobody# wanbootutil p12split -i client.p12 \
   -t /etc/netboot/192.168.255.0/010003BA152A42/truststore
nobody# chmod 600 /etc/netboot/192.168.255.0/010003BA152A42/truststore

建立隨機密鑰和加密密鑰

如果要使用 HTTPS 來傳送資料,則必須建立一個 HMAC SHA1 隨機密鑰和一個加密密鑰。 如果您計劃透過一個半私有網路進行安裝,您可能不想對安裝資料進行加密。 您可以使用 HMAC SHA1 隨機密鑰來檢查 wanboot 程式的完整性。 如需有關隨機密鑰和加密密鑰的摘要資訊,請參閱在 WAN Boot 安裝期間保護資料

透過使用 wanbootutil keygen 指令,可以產生這些密鑰並將其儲存在相應的 /etc/netboot 目錄中。

建立隨機密鑰和加密密鑰
  1. 假定在 WAN Boot 伺服器上使用者身份與 Web 伺服器使用者身份相同。

  2. 建立主 HMAC SHA1 密鑰。


    # wanbootutil keygen -m
    
    keygen -m

    為 WAN Boot 伺服器建立主 HMAC SHA1 密鑰

  3. 由主密鑰建立用戶端的 HMAC SHA1 隨機密鑰。


    # wanbootutil keygen -c -o [net=net-ip,{cid=client-ID,}]type=sha1
    
    -c

    由主密鑰建立用戶端的隨機密鑰。

    -o

    指出 wanbootutil keygen 指令中包含了其他的選項。

    (可選擇) net=net-ip

    指定用戶端的子網路的 IP 位址。 如果您不使用 net 選項,則密鑰會儲存在 /etc/netboot/keystore 檔案中,所有的 WAN Boot 用戶端均可使用它。

    (可選擇) cid=client-ID

    指定用戶端 ID。 用戶端 ID 可以是使用者定義的 ID,也可以是 DHCP 用戶端 ID。 cid 選項前必須有一個有效的 net= 值。 如果您未用 net 選項指定 cid 選項,則密鑰會儲存在 /etc/netboot/net-ip/keystore 檔案中。 net-ip 子網路上的所有 WAN Boot 用戶端均可使用該密鑰。

    type=sha1

    指示 wanbootutil keygen 公用程式為用戶端建立一個 HMAC SHA1 隨機密鑰。

  4. 決定是否需要為用戶端建立加密密鑰。

    您需要建立加密密鑰,以透過 HTTPS 執行 WAN Boot 安裝。 在用戶端建立與 WAN Boot 伺服器的 HTTPS 連接前,WAN Boot 伺服器會將已加密的資料和資訊傳送給用戶端。 加密密鑰可使用戶端解密此資訊,並在安裝中使用此資訊。

    • 如果您正在執行的是一個透過 HTTPS、且進行伺服器認證的更加安全的 WAN 安裝,請繼續。

    • 如果您只想檢查 wanboot 程式的完整性,則無需建立加密密鑰。 移至步驟 6

  5. 建立用戶端的加密密鑰。


    # wanbootutil keygen -c -o [net=net-ip,{cid=client-ID,}]type=key-type
    
    -c

    建立用戶端的加密密鑰。

    -o

    指出 wanbootutil keygen 指令中包含了其他的選項。

    (可選擇) net=net-ip

    指定用戶端的網路 IP 位址。 如果您不使用 net 選項,則密鑰會儲存在 /etc/netboot/keystore 檔案中,所有的 WAN Boot 用戶端均可使用它。

    (可選擇) cid=client-ID

    指定用戶端 ID。 用戶端 ID 可以是使用者定義的 ID 或 DHCP 用戶端 ID。 cid 選項前必須有一個有效的 net= 值。 如果您未用 net 選項指定 cid 選項,則密鑰會儲存在 /etc/netboot/net-ip/keystore 檔案中。 net-ip 子網路上的所有 WAN Boot 用戶端均可使用該密鑰。

    type=key-type

    指示 wanbootutil keygen 公用程式為用戶端建立一個加密密鑰。 可賦予 key-type 一個 3des 值或 aes 值。

  6. 在用戶端系統上安裝密鑰。

    如需有關如何在用戶端上安裝密鑰的說明,請參閱在用戶端上安裝密鑰


範例 43–4 為透過 HTTPS 進行的 WAN Boot 安裝建立必要的密鑰

以下範例為 WAN Boot 伺服器建立了一個主 HMAC SHA1 密鑰。 此範例還為子網路 192.168.255.0 上的用戶端 010003BA152A42 建立 HMAC SHA1 隨機密鑰和 3DES 加密密鑰。

在執行這些指令之前,您必須先假定使用者身份與 Web 伺服器使用者身份相同。 在此範例中,Web 伺服器使用者身份為 nobody


server# su nobody
Password:
nobody# wanbootutil keygen -m
nobody# wanbootutil keygen -c -o net=192.168.255.0,cid=010003BA152A42,type=sha1
nobody# wanbootutil keygen -c -o net=192.168.255.0,cid=010003BA152A42,type=3des