本章提供通过广域网 (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 可以访问 Internet,但是未直接连接到包含 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。要为 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 发行版的系统上,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 分层结构中插入证书。然后在客户机的 keystore 文件中插入名为 wanclient.key 的私钥。
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。Miniroot 位于 wanserver-1 上的文档根目录的 miniboot 目录中。
通过使用 HMAC SHA1 散列密钥为 wanboot 程序和 WAN Boot 文件系统签名。
wanboot 程序和 WAN Boot 文件系统使用 3DES 密钥进行加密。
在安装过程中认证服务器。
在安装过程中不认证客户机。
如果您执行(可选)将私钥和证书用于客户机认证中的任务,则将该参数设置为 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 程序没有找到所需的所有安装信息,则可能会提示您在命令行输入缺少的信息。