WAN Boot 服务器是 Web 服务器,它可以在 WAN Boot 安装期间提供引导和配置数据。 有关 WAN Boot 服务器的系统要求列表,请参见表 42–1。
本节说明了为 WAN Boot 安装配置 WAN Boot 服务器时所需执行的以下任务。
要使用配置文件和安装文件,您必须使 WAN Boot 服务器上的 Web 服务器软件可以访问这些文件。 使这些文件能被访问的方法之一是将它们存储在 WAN Boot 服务器的文档根目录中。
如果要通过文档根目录来使用配置文件和安装文件,那么必须创建该目录。 有关如何创建文档根目录的信息,请参见 Web 服务器文档。 有关如何设计文档根目录的详细信息,请参见在文档根目录中存储安装和配置文件。
WAN Boot 使用已修改的特殊 Solaris 最小根文件系统来执行 WAN Boot 安装。 WAN Boot 最小根文件系统包含 Solaris 最小根文件系统中的一个软件子集。 要执行 WAN Boot 安装,必须将最小根文件系统从 Solaris DVD 或 Solaris Software 1 of 2 CD 复制到 WAN Boot 服务器。 请使用带有 -w 选项的 setup_install_server 命令将 WAN Boot 最小根文件系统从 Solaris 软件介质复制到系统硬盘。
此过程将使用 SPARC 介质创建 SPARC WAN Boot 最小根文件系统。 如果要通过基于 x86 的服务器使用 SPARC WAN Boot 最小根文件系统,那么您必须在 SPARC 计算机上创建最小根文件系统。 创建最小根文件系统后,请将其复制到基于 x86 的服务器上的文档根目录中。
有关 setup_install_server 命令的详细信息,请参见第 15 章,准备使用 CD 介质从网络安装(任务)。
此过程假设 WAN Boot 服务器正在运行卷管理器。 如果您未使用卷管理器,请参见 System Administration Guide: Devices and File Systems, 以获得有关在没有卷管理器的情况下管理可移动介质的信息。
成为 WAN Boot 服务器上的超级用户。
系统必须满足以下要求。
包含 CD-ROM 驱动器或 DVD-ROM 驱动器
是站点网络和名称服务的一部分
如果您使用了名称服务,那么该系统必须已包含在名称服务(如 NIS、NIS+、DNS 或 LDAP)中。 如果您未使用名称服务,那么必须按照站点策略来发布有关此系统的信息。
将 Solaris Software 1 of 2 CD 或 Solaris DVD 插入安装服务器的驱动器中。
为 WAN Boot 最小根文件系统和 Solaris 安装映像创建目录。
# mkdir -p wan-dir-path install-dir-path |
指示 mkdir 命令为要创建的目录创建所有必需的父目录。
指定安装服务器上要用来创建 WAN Boot 最小根文件系统的目录。 该目录需要容纳最小根文件系统(通常为 250 MB)。
指定安装服务器上 Solaris 软件映像将被复制到其中的目录。 在此过程中,该目录稍后可以删除。
更改到已装载磁盘上的 Tools 目录。
# cd /cdrom/cdrom0/s0/Solaris_9/Tools |
在上面的实例中,cdrom0 是指向包含 Solaris 操作环境介质的驱动器的路径。
将 WAN Boot 最小根文件系统和 Solaris 软件映像复制到 WAN Boot 服务器的硬盘。
# ./setup_install_server -w wan-dir-path install-dir-path |
指定 WAN Boot 最小根文件系统将被复制到其中的目录
指定 Solaris 软件映像将被复制到其中的目录
setup_install_server 命令会报告是否有足够的磁盘空间可用于 Solaris Software 磁盘映像。 要确定可用磁盘空间,请使用 df -kl 命令。
setup_install_server -w 命令可以创建 WAN Boot 最小根文件系统和 Solaris 软件的网络安装映像。
(可选的) 删除网络安装映像。
使用 Solaris Flash 归档文件执行 WAN 安装时无需 Solaris 软件映像。 如果该网络安装映像不再用于其它网络安装,请执行此操作以释放磁盘空间。 请键入以下命令,以删除网络安装映像。
# rm -rf install-dir-path |
通过以下方法之一使 WAN Boot 最小根文件系统可用于 WAN Boot 服务器。
在 WAN Boot 服务器的文档根目录中创建指向 WAN Boot 最小根文件系统的符号链接。
# cd /document-root-directory/miniroot # ln -s /wan-dir-path/miniroot . |
指定 WAN Boot 服务器的文档根目录中,要链接到 WAN Boot 最小根文件系统的目录。
指定指向 WAN Boot 最小根文件系统的路径。
将 WAN Boot 最小根文件系统移到 WAN Boot 服务器上的文档根目录中。
# mv /wan-dir-path/miniroot /document-root-directory/miniroot/miniroot-name |
指定指向 WAN Boot 最小根文件系统的路径。
指定 WAN Boot 服务器的文档根目录中,指向 WAN Boot 最小根文件系统目录的路径。
指定 WAN Boot 最小根文件系统的名称。 请描述性地命名该文件,例如 miniroot.s9_sparc。
WAN Boot 使用特殊的二级引导程序 (wanboot) 来安装客户机。 wanboot 程序将装入执行 WAN Boot 安装所需的 WAN Boot 最小根文件系统、客户机配置文件以及安装文件。
要执行 WAN Boot 安装,必须在安装期间为客户机提供 wanboot 程序。 可以使用以下方法为客户机提供此程序。
如果客户机的 PROM 支持 WAN Boot,那么您可以将此程序从 WAN Boot 服务器传送至客户机。 要检查客户机的 PROM 是否支持 WAN Boot,请参见检查客户机 OBP 的 WAN Boot 支持 。
如果客户机的 PROM 不支持 WAN Boot,那么您必须通过本地 CD 为客户机提供此程序。 如果客户机的 PROM 不支持 WAN Boot,请执行在 WAN Boot 服务器上创建 /etc/netboot 分层结构 ,以继续准备安装。
此过程假设 WAN Boot 服务器正在运行卷管理器。 如果您未使用卷管理器,请参见 System Administration Guide: Devices and File Systems, 以获得有关在没有卷管理器的情况下管理可移动介质的信息。
成为安装服务器上的超级用户。
将 Solaris Software 1 of 2 CD 或 Solaris DVD 插入安装服务器的驱动器中。
更改到 Solaris Software 1 of 2 CD 或 Solaris DVD 上的 sun4u 平台目录中。
# cd /cdrom/cdrom0/s0/Solaris_9/Tools/Boot/platform/sun4u/ |
将 wanboot 程序复制到安装服务器。
# cp wanboot /document-root-directory/wanboot/wanboot-name |
指定 WAN Boot 服务器的文档根目录。
指定 wanboot 程序的名称。 请描述性地命名此文件,例如 wanboot.s9_sparc。
通过以下方法之一使 wanboot 程序可用于 WAN Boot 服务器。
在 WAN Boot 服务器的文档根目录中创建指向 wanboot 程序的符号链接。
# cd /document-root-directory/wanboot # ln -s /wan-dir-path/wanboot . |
指定 WAN Boot 服务器的文档根目录中,要链接到 wanboot 程序的目录。
指定指向 wanboot 程序的路径。
将 WAN Boot 最小根文件系统移到 WAN Boot 服务器上的文档根目录中。
# mv /wan-dir-path/wanboot /document-root-directory/wanboot/wanboot-name |
指定指向 wanboot 程序的路径。
指定 WAN Boot 服务器的文档根目录中,指向 wanboot 程序目录的路径。
指定 wanboot 程序的名称。 请描述性地命名此程序,例如 wanboot.s9_sparc。
在安装期间,WAN Boot 将参考 Web 服务器上的 /etc/netboot 分层结构的内容,以获得有关如何执行安装的指令。 此目录包含 WAN Boot 安装所需的配置信息、专用密钥、数字证书和认证机构。 在安装期间,wanboot-cgi 程序首先将此信息转换到 WAN Boot 文件系统中, 然后将 WAN Boot 文件系统传送至客户机。
您可以在 /etc/netboot 目录中创建子目录,以定制 WAN 安装的范围。 请使用以下目录结构,以定义如何在您要安装的客户机之间共享配置信息。
特定网络的配置 – 如果仅希望特定子网上的计算机共享配置信息,请将要共享的配置文件存储在 /etc/netboot 的某个子目录中。 该子目录应遵循以下命名惯例。
/etc/netboot/net-ip |
在此实例中,net-ip 是客户机子网的 IP 地址。
特定客户机的配置 – 如果仅希望某个特定客户机使用引导文件系统,请将引导文件系统文件存储在 /etc/netboot 的某个子目录中。 该子目录应遵循以下命名惯例。
/etc/netboot/net-ip/client-ID |
在此实例中,net-ip 是子网的 IP 地址。 client-ID 可以是 DHCP 服务器指定的客户机 ID,也可以是用户指定的客户机 ID。
有关如何设计 /etc/netboot 分层结构的详细规划信息,请参见在 /etc/netboot 分层结构中存储配置和安全信息 。
成为 WAN Boot 服务器上的超级用户。
创建 /etc/netboot 目录。
# mkdir /etc/netboot |
# chmod 700 /etc/netboot |
将 /etc/netboot 目录的属主更改为 Web 服务器属主。
# chown web-server-user:web-server-group /etc/netboot/ |
指定 Web 服务器进程的用户属主
指定 Web 服务器进程的组属主
退出超级用户角色。
# exit |
假设用户角色为 Web 服务器属主。
创建 /etc/netboot 目录的客户机子目录。
# mkdir -p /etc/netboot/net-ip/client-ID |
指示 mkdir 命令为要创建的目录创建所有必需的父目录
指定客户机子网的网络 IP 地址。
指定客户机 ID。 客户机 ID 可以是用户自定义的 ID,也可以是 DHCP 客户机 ID。 client-ID 目录必须是 net-ip 目录的子目录。
将 /etc/netboot 分层结构中各个目录的权限更改为 700。
# chmod 700 /etc/netboot/dir-name |
指定 /etc/netboot 分层结构中的目录名称。
以下实例显示了如何为子网 192.168.255.0 上的客户机 010003BA152A42 创建 /etc/netboot 分层结构。在此实例中,Web 服务器进程的属主是用户 nobody 和组 admin。
本实例中的命令执行以下任务。
创建 /etc/netboot 目录。
将 /etc/netboot 目录的权限更改为 700。
将 /etc/netboot 目录的拥有权更改为 Web 服务器进程的属主。
假设用户角色为 Web 服务器用户。
创建 /etc/netboot 的子目录,并以子网 (192.168.255.0) 命名。
创建子网目录的子目录,以客户机 ID 命名。
将 /etc/netboot 子目录的权限更改为 700。
# 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 |
wanboot-cgi 程序用于创建数据流,以将以下文件从 WAN Boot 服务器传送至客户机。
wanboot 程序
WAN Boot 文件系统
WAN Boot 最小根文件系统
安装 Solaris 9 12/03 或兼容版本时,将在系统上安装 wanboot-cgi 程序。 要允许 WAN Boot 服务器使用该程序,请将此程序复制到 WAN Boot 服务器的 cgi-bin 目录中。
成为 WAN Boot 服务器上的超级用户。
将 wanboot-cgi 程序复制到 WAN Boot 服务器。
# cp /usr/lib/inet/wanboot/wanboot-cgi /WAN-server-root/cgi-bin/wanboot-cgi |
指定 WAN Boot 服务器上 Web 服务器软件的根目录。
在 WAN Boot 服务器上,将 CGI 程序的权限更改为 755。
# chmod 755 /WAN-server-root/cgi-bin/wanboot-cgi |
如果要在非客户机的系统上记录引导和安装日志消息,必须设置一个日志服务器。 在安装期间,如果使用具有 HTTPS 的日志服务器,必须将 WAN Boot 服务器配置为日志服务器。
要配置日志服务器,请按以下步骤执行操作。
将 bootlog-cgi 脚本复制到日志服务器的 CGI 脚本目录中。
# cp /usr/lib/inet/wanboot/bootlog-cgi \ log-server-root/cgi-bin |
指定日志服务器的 Web 服务器目录中的 cgi-bin 目录。
将 bootlog-cgi 脚本的权限更改为 755。
# chmod 755 log-server-root/cgi-bin/bootlog-cgi |
设置 wanboot.conf 文件中的 boot_logger 参数值。
在 wanboot.conf 文件中,指定日志服务器上的 bootlog-cgi 脚本的 URL。
有关设置 wanboot.conf 文件中的参数的详细信息,请参见创建 wanboot.conf 文件 。
在安装期间,引导和安装日志消息记录在日志服务器的 /tmp 目录中。 日志文件的文件名为 bootlog.hostname,其中 hostname 是客户机的主机名。
以下实例将 WAN Boot 服务器配置为日志服务器。
# cp /usr/lib/inet/wanboot/bootlog-cgi /opt/apache/cgi-bin/ # chmod 755 /opt/apache/cgi-bin/bootlog-cgi |
要在从 WAN Boot 服务器到客户机的传送期间保护数据,可以使用安全套接字层上的 HTTP (HTTPS)。 要使用安全 WAN Boot 安装配置 中介绍的更安全的安装配置,必须允许 Web 服务器使用 HTTPS。
要允许 WAN Boot 服务器上的 Web 服务器软件使用 HTTPS,必须执行以下任务。
激活 Web 服务器软件中的安全套接字层 (SSL) 支持。
启用 SSL 支持和客户机认证的进程随 Web 服务器的不同而不同。 本文档未说明如何在 Web 服务器上启用这些安全功能。 有关这些功能的信息,请参见以下文档。
有关在 SunONE Web 服务器和 iPlanet Web 服务器上激活 SSL 的信息,请分别参见 http://docs.sun.com 上的 Sun ONE 文档集和 iPlanet 文档集。
有关在 Apache Web 服务器上激活 SSL 的信息,请参见 http://httpd.apache.org/docs-project/ 上的 Apache 文档项目。
如果您使用的 Web 服务器软件未在前面的列表中列出,请参见相应 Web 服务器软件的文档。
在 WAN Boot 服务器上安装数字证书。
有关与 WAN Boot 一起使用数字证书的信息,请参见使用数字证书进行服务器和客户机认证 。
为客户机提供信任证书。
有关如何创建信任证书的说明,请参见使用数字证书进行服务器和客户机认证 。
创建散列密钥和加密密钥。
有关如何创建密钥的说明,请参见创建散列密钥和加密密钥 。
(可选)配置 Web 服务器软件,以支持客户机认证。
有关如何配置 Web 服务器,以支持客户机认证的信息,请参见 Web 服务器的文档。
WAN Boot 安装方法可以使用 PKCS#12 文件,以通过带有服务器认证/客户机和服务器认证的 HTTPS 来执行安装。 有关使用 PKCS#12 文件的要求和原则,请参见数字证书要求 。
要在 WAN Boot 安装中使用 PKCS#12 文件,请执行以下任务。
将 PKCS#12 文件拆分为独立的 SSL 专用密钥文件和信任证书文件。
将信任证书插入 /etc/netboot 分层结构中客户机的 truststore 文件中。 信任证书将指示客户机信任服务器。
(可选)将 SSL 专用密钥文件的内容插入 /etc/netboot 分层结构中客户机的 keystore 文件中。
wanbootutil 命令提供了执行前面列表中的任务的选项。
拆分 PKCS#12 文件之前,请在 WAN Boot 服务器上创建 /etc/netboot 分层结构的相应子目录。
有关 /etc/netboot 分层结构的概述信息,请参见在 /etc/netboot 分层结构中存储配置和安全信息 。
有关如何创建 /etc/netboot 分层结构的说明,请参见在 WAN Boot 服务器上创建 /etc/netboot 分层结构 。
假设用户角色为 WAN Boot 服务器上的 Web 服务器用户。
从 PKCS#12 文件中提取信任证书。 将证书插入 /etc/netboot 分层结构中客户机的 truststore 文件中。
# wanbootutil p12split -i p12cert \ -t /etc/netboot/net-ip/client-ID/truststore |
wanbootutil 命令的选项,用于将 PKCS#12 文件拆分为独立的专用密钥文件和证书文件。
指定要拆分的 PKCS#12 文件的名称。
将证书插入客户机的 truststore 文件中。 net-ip 是客户机子网的 IP 地址。 client-ID 可以是用户自定义的 ID,也可以是 DHCP 客户机 ID。
(可选的) 确定是否需要客户机认证。
如果是,请继续执行以下步骤。
如果否,请执行创建散列密钥和加密密钥 。
将客户机证书插入客户机的 certstore 中。
# wanbootutil p12split -i p12cert -c \ /etc/netboot/net-ip/client-ID/certstore -k keyfile |
wanbootutil 命令的选项,用于将 PKCS#12 文件拆分为独立的专用密钥文件和证书文件。
指定要拆分的 PKCS#12 文件的名称。
将客户机证书插入客户机的 certstore 中。 net-ip 是客户机子网的 IP 地址。 client-ID 可以是用户自定义的 ID,也可以是 DHCP 客户机 ID。
指定通过拆分 PKCS#12 文件而创建的客户机 SSL 专用密钥文件的名称。
将专用密钥插入客户机的 keystore 中。
# wanbootutil keymgmt -i -k keyfile \ -s /etc/netboot/net-ip/client-ID/keystore -o type=rsa |
将 SSL 专用密钥插入客户机的 keystore 中
指定在上一步中创建的客户机专用密钥文件的名称
指定指向客户机的 keystore 的路径
指定密钥类型为 RSA
在以下实例中,您将使用 PKCS#12 文件安装位于子网 192.168.255.0 上的客户机 010003BA152A42。此命令样例从 PKCS#12 文件 client.p12 中提取了一个证书, 然后将信任证书的内容放入客户机的 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 目录中。
假设用户角色为 WAN Boot 服务器上的 Web 服务器用户。
创建主 HMAC SHA1 密钥。
# wanbootutil keygen -m |
创建 WAN Boot 服务器的主 HMAC SHA1 密钥
从主密钥中创建客户机的 HMAC SHA1 散列密钥。
# wanbootutil keygen -c -o [net=net-ip,{cid=client-ID,}]type=sha1 |
从主密钥中创建客户机的散列密钥。
指示包含 wanbootutil keygen 命令的附加选项。
指定客户机子网的 IP 地址。 如果不使用 net 选项,密钥将存储在 /etc/netboot/keystore 文件中,可被所有 WAN Boot 客户机使用。
指定客户机 ID。 客户机 ID 可以是用户自定义的 ID,也可以是 DHCP 客户机 ID。 cid 选项之前必须有一个有效的 net= 值。 如果未指定带有 net 选项的 cid 选项,密钥将存储在 /etc/netboot/net-ip/keystore 文件中。 net-ip 子网上的所有 WAN Boot 客户机均可使用此密钥。
指示 wanbootutil keygen 公用程序创建客户机的 HMAC SHA1 散列密钥。
确定是否要创建客户机的加密密钥。
您需要创建加密密钥以通过 HTTPS 执行 WAN Boot 安装。 在客户机与 WAN Boot 服务器建立 HTTPS 连接之前,WAN Boot 服务器会将加密数据和信息传送至客户机。 在安装期间,加密密钥使客户机解密此信息,然后使用其中的信息。
如果要通过带有服务器认证的 HTTPS 执行更安全的 WAN 安装,请继续。
如果只是要检查 wanboot 程序的完整性,那么您无需创建加密密钥。 请执行步骤 6。
创建客户机的加密密钥。
# wanbootutil keygen -c -o [net=net-ip,{cid=client-ID,}]type=key-type |
创建客户机的加密密钥。
指示包含 wanbootutil keygen 命令的附加选项。
指定客户机的网络 IP 地址。 如果不使用 net 选项,密钥将存储在 /etc/netboot/keystore 文件中,可被所有 WAN Boot 客户机使用。
指定客户机 ID。 客户机 ID 可以是用户自定义的 ID,也可以是 DHCP 客户机 ID。 cid 选项之前必须有一个有效的 net= 值。 如果未指定带有 net 选项的 cid 选项,密钥将存储在 /etc/netboot/net-ip/keystore 文件中。 net-ip 子网上的所有 WAN Boot 客户机均可使用此密钥。
指示 wanbootutil keygen 公用程序创建客户机的加密密钥。 key-type 可以具有 3des 的值,也可以具有 aes 的值。
在客户机系统上安装密钥。
有关如何在客户机上安装密钥的说明,请参见在客户机上安装密钥 。
以下实例创建了 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 |