Solaris 9 12/03 安装指南

配置 WAN Boot 服务器

WAN Boot 服务器是 Web 服务器,可在 WAN Boot 安装期间提供引导和配置数据。有关 WAN Boot 服务器的系统要求列表,请参见表 39–1

本节说明了为 WAN Boot 安装配置 WAN Boot 服务器所需的以下任务。

创建文档根目录

要提供配置文件和安装文件,必须使 WAN Boot 服务器上的 Web 服务器软件可以访问这些文件。使这些文件可访问的一个方法是将它们存储在 WAN Boot 服务器的文档根目录中。

如果要通过文档根目录来提供配置文件和安装文件,则必须创建此文档根目录。有关如何创建文档根目录的信息,请参见 Web 服务器文档。有关如何设计文档根目录的详细信息,请参见在文档根目录中存储安装和配置文件

创建 WAN Boot 最小根文件系统

WAN Boot 使用已被修改的特殊 Solaris 最小根文件系统来执行 WAN Boot 安装。WAN Boot 最小根文件系统包含 Solaris 最小根文件系统中软件的子集。为了执行 WAN Boot 安装,必须将最小根文件系统从 Solaris DVD 或 Solaris Software 1 of 2 CD 复制到 WAN Boot 服务器。请在 setup_install_server 命令中使用 - w 选项将 WAN Boot 最小根文件系统从 Solaris 软件介质复制到系统硬盘。

此过程将使用 SPARC 介质创建 SPARC WAN Boot 最小根文件系统。如果要通过基于 x86 的服务器提供 SPARC WAN Boot 最小根文件系统,则必须在 SPARC 计算机上创建最小根文件系统。创建最小根文件系统后,请将最小根文件系统复制到基于 x86 的服务器上的文档根目录中。

有关 setup_install_server 命令的附加信息,请参见第 12 章,准备使用 CD 介质从网络安装(任务)

SPARC: 创建 WAN Boot 最小根文件系统

此过程假设 WAN Boot 服务器正在运行卷管理器。如果未使用卷管理器,请参见《System Administration Guide: Basic Administration》以获得有关在没有卷管理器的情况下管理可移动介质的信息。

  1. 成为 WAN Boot 服务器上的超级用户。

    系统必须满足以下要求。

    • 包含 CD-ROM 或 DVD-ROM 驱动器

    • 是站点网络和名称服务的一部分

      如果您使用了名称服务,该系统必须已经在名称服务(例如 NIS、NIS+、DNS 或 LDAP)中。如果没有使用名称服务,则必须按照站点策略来发布有关此系统的信息。

  2. 将 Solaris Software 1 of 2 CD 或 Solaris DVD 放入安装服务器的驱动器中。

  3. 为 WAN Boot 最小根文件系统和 Solaris 安装映像创建目录。


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

    指示 mkdir 命令为要创建的目录创建所有必需的父目录。

    wan-dir-path

    在安装服务器上指定要在其中创建 WAN Boot 最小根文件系统的目录。此目录需要容纳大小通常为 250 MB 的最小根文件系统。

    install-dir-path

    在安装服务器上指定 Solaris 软件映像要被复制到的目录。稍后在此过程中可以删除该目录。

  4. 更改到已安装磁盘上的 Tools 目录。


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

    在上面的实例中,cdrom0 是包含 Solaris 操作环境介质的驱动器的路径。

  5. 将 WAN Boot 最小根文件系统和 Solaris 软件映像复制到 WAN Boot 服务器的硬盘。


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

    指定 WAN Boot 最小根文件系统要被复制到的目录

    install-dir-path

    指定 Solaris 软件映像要被复制到的目录


    注意:

    setup_install_server 命令指示您是否有足够的磁盘空间可用于 Solaris 软件 磁盘映像。要确定可用磁盘空间,请使用 df -kl 命令。


    setup_install_server -w 命令可以创建 Solaris 软件的 WAN Boot 最小根文件系统和网络安装映像。

  6. (可选的) 删除网络安装映像。

    无需 Solaris 软件映像即可使用 Solaris Flash 归档文件执行 WAN 安装。如果不打算使用网络安装映像进行其它网络安装,则可以释放磁盘空间。键入以下命令可以删除网络安装映像。


    # rm -rf install-dir-path
    
  7. 通过以下方法之一使 WAN Boot 最小根文件系统可用于 WAN Boot 服务器。

    • 在 WAN Boot 服务器的文档根目录中创建至 WAN Boot 最小根文件系统的符号链接。


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

      在 WAN Boot 服务器的文档根目录中指定要链接至 WAN Boot 最小根文件系统的目录

      /wan-dir-path/miniroot

      指定 WAN Boot 最小根文件系统的路径

    • 将 WAN Boot 最小根文件系统移到 WAN Boot 服务器的文档根目录中。


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

      指定 WAN Boot 最小根文件系统的路径。

      /document-root-directory/miniroot/

      在 WAN Boot 服务器的文档根目录中指定 WAN Boot 最小根文件系统目录的路径。

      miniroot-name

      指定 WAN Boot 最小根文件系统的名称。描述性地命名该文件,例如 miniroot.s9_sparc

在 WAN Boot 服务器上安装 wanboot 程序

WAN Boot 使用特殊的二级引导程序 (wanboot) 安装客户机。wanboot 程序将装入 WAN Boot 最小根文件系统、客户机配置文件以及执行 WAN Boot 安装所需的安装文件中。

要执行 WAN Boot 安装,必须在安装期间为客户机提供 wanboot 程序。可以使用以下方法为客户机提供此程序。

SPARC: 在 WAN Boot 服务器上安装 wanboot 程序

此过程假设 WAN Boot 服务器正在运行卷管理器。如果未使用卷管理器,请参见《System Administration Guide: Basic Administration》以获得有关在没有卷管理器的情况下管理可移动介质的信息。

  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 服务器的文档根目录中创建至 wanboot 程序的符号链接。


      # 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 最小根文件系统移到 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 分层结构的规划信息,请参见/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 分层结构中目录的名称。


实例 40–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
    

(可选)使用 HTTPS 保护数据

要在从 WAN Boot 服务器向客户机传送数据期间保护数据,可以使用基于安全套接字层的 HTTP(即 HTTPS)。要使用安全 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

    wanbootutil 命令的选项用于将 PKCS#12 文件拆分为独立的专用密钥文件和证书文件。

    -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

      wanbootutil 命令的选项用于将 PKCS#12 文件拆分为独立的专用密钥文件和证书文件。

      -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

      将 SSL 专用密钥插入客户机的 keystore

      -k keyfile

      指定在上一步中创建的客户机专用密钥文件的名称

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

      指定客户机的 keystore 的路径

      -o type=rsa

      指定密钥类型为 RSA


实例 40–2 创建用于服务器验证的信任证书

在以下实例中,将使用 PKCS#12 文件在子网 192.168.255.0 上安装客户机 010003BA152A42。此命令样例将从名为 client.p12 的 PKCS#12 文件中提取证书。然后将信任证书的内容放在客户机的 truststore 文件中。


# wanbootutil p12split -i client.p12 \
   -t /etc/netboot/192.168.255.0/010003BA152A42/truststore
# 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 可以具有 3desaes 的值。

  6. 在客户机系统中安装这些密钥。

    有关如何在客户机上安装密钥的说明,请参见在客户机上安装密钥


实例 40–3 为使用 HTTPS 的 WAN Boot 安装创建所需的密钥

以下实例可以为 WAN Boot 服务器创建主 HMAC SHA1 密钥。此实例还可以为子网 192.168.255.0 上的客户机 01832AA440 创建 HMAC SHA1 散列密钥和 3DES 加密密钥。


# wanbootutil keygen -m
# wanbootutil keygen -c -o net=192.168.255.0,cid=010003BA152A42,type=sha1
# wanbootutil keygen -c -o net=192.168.255.0,cid=010003BA152A42,type=3des