Solaris 10 11/06 インストールガイド (ネットワークインストール)

第 13 章 SPARC: WAN ブートによるインストール (例)

この章では、広域ネットワーク (WAN) 経由でクライアントシステムの設定とインストールを行う例を示します。この例では、HTTPS 接続を介してセキュリティー保護された WAN ブートインストールを実行する方法について説明します。

サイトの設定例

図 13–1 は、この例で使用するサイトの設定を示しています。

図 13–1 WAN ブートインストール用のサイト例

この図については本文中で説明しています。

このサイト例には次のような特徴があります。

ドキュメントルートディレクトリの作成

インストールファイルとデータを保存するために、wanserver-1 のドキュメントルートディレクトリ (/opt/apache/htdocs) に次のディレクトリを作成します。

WAN ブートミニルートの作成

setup_install_server(1M)-w オプションを指定して実行することで、WAN ブートミニルートと Solaris ソフトウェアイメージを、wanserver-1/export/install/Solaris_10 ディレクトリにコピーします。

wanserver-1 に接続されているメディアドライブに Solaris SOFTWARE のメディアを挿入します。次のコマンドを入力します。


wanserver-1# mkdir -p /export/install/cdrom0
wanserver-1# cd /cdrom/cdrom0/s0/Solaris_10/Tools
wanserver-1# ./setup_install_server -w /export/install/cdrom0/miniroot \
/export/install/cdrom0

WAN ブートサーバーのドキュメントルートディレクトリ (/opt/apache/htdocs/) に、WAN ブートミニルートを移動します。


wanserver-1# mv /export/install/cdrom0/miniroot/miniroot \
/opt/apache/htdocs/miniroot/miniroot.s10_sparc

クライアント OBP での WAN ブート対応の確認

クライアントシステムに次のコマンドを入力して、クライアントの OBP が WAN ブートに対応しているかどうかを調べます。


# eeprom | grep network-boot-arguments
network-boot-arguments: data not available

上の例では、出力に network-boot-arguments: data not available が表示されているので、クライアントOBP は WAN ブートに対応しています。

WAN ブートサーバーへの wanboot プログラムのインストール

wanboot プログラムを WAN ブートサーバーにインストールするには、Solaris SOFTWARE のメディアから WAN ブートサーバーのドキュメントルートディレクトリに、このプログラムをコピーします。

wanserver-1 に接続されているメディアドライブに Solaris DVD または Solaris SOFTWARE - 1 CD を挿入し、次のコマンドを入力します。


wanserver-1# cd /cdrom/cdrom0/s0/Solaris_10/Tools/Boot/platform/sun4u/
wanserver-1# cp wanboot /opt/apache/htdocs/wanboot/wanboot.s10_sparc

/etc/netboot ディレクトリの作成

WAN ブートサーバーの /etc/netboot ディレクトリに、wanclient-1 のサブディレクトリを作成します。WAN ブートインストールプログラムは、インストール時に、このディレクトリから構成情報とセキュリティー情報を取得します。

wanclient-1 は、サブネット 192.168.198.0 上にあり、010003BA152A42 というクライアント ID を持っています。/etc/netbootwanclient-1 用の適切なサブディレクトリを作成するには、次の作業を実行します。


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

WAN ブートサーバーへの wanboot-cgi プログラムのコピー

Solaris 10 11/06 OS が稼働しているシステムでは、wanboot-cgi プログラムは /usr/lib/inet/wanboot/ ディレクトリに置かれています。WAN ブートサーバーからインストールデータを転送できるようにするには、Web サーバーソフトウェアのディレクトリにある cgi-bin ディレクトリに wanboot-cgi プログラムをコピーします。


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 ブートサーバーをログサーバーとして構成

デフォルトでは、WAN ブートログメッセージはすべて、クライアントシステムに表示されます。このデフォルトの動作により、インストールの問題をすばやくデバッグできます。

WAN ブートサーバー上でブートメッセージおよびインストールメッセージを表示するには、wanserver-1cgi-bin ディレクトリに bootlog-cgi スクリプトをコピーします。


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

HTTPS を使用するための WAN ブートサーバーの構成

WAN ブートインストールで HTTPS を使用するには、Web サーバーソフトウェアの SSL サポートを有効にする必要があります。また、WAN ブートサーバーにデジタル証明書をインストールすることも必要です。この例では、wanserver-1 上の Apache Web サーバーが SSL を使用するように構成されていると仮定しています。この例ではまた、wanserver-1 の識別情報を確立するデジタル証明書および認証局が、すでに wanserver-1 にインストールされていると仮定しています。

SSL を使用するように Web サーバーソフトウェアを構成する方法については、Web サーバーのマニュアルを参照してください。

クライアントに対する信頼できる証明書の提供

クライアントに対して身分証明を行うようサーバーに要求することで、HTTPS を介してサーバーからクライアントに転送されるデータを保護できます。サーバー認証を有効にするには、信頼できる証明書をクライアントに提供します。信頼できる証明書に従って、クライアントはインストール時にサーバーの識別情報を確認します。

信頼できる証明書をクライアントに提供するには、Web サーバーユーザーと同じユーザー役割になる必要があります。その後、証明書を分割して、信頼できる証明書を抽出します。次に、/etc/netboot ディレクトリにあるクライアントの truststore ファイルに、信頼できる証明書を挿入します。

この例では、Web サーバーユーザー役割 nobody になります。続いて、cert.p12 という名前の、サーバーの PKCS#12 証明書を分割して、/etc/netboot ディレクトリにある wanclient-1 用のディレクトリに、信頼できる証明書を挿入します。


wanserver-1# su nobody
Password:
wanserver-1# wanbootutil p12split -i cert.p12 -t \
/etc/netboot/192.168.198.0/010003BA152A42/truststore

(省略可能) クライアント認証用の非公開鍵と証明書の使用

インストール時にデータをさらに保護するために、wanserver-1 に対して身分証明を行うよう wanclient-1 に要求することもできます。WAN ブートインストールでクライアント認証を有効にするには、/etc/netboot ディレクトリのクライアントのサブディレクトリに、クライアントの証明書と非公開鍵を挿入します。

クライアントに非公開鍵と証明書を提供するには、次の手順に従います。

この例では、Web サーバーユーザー役割 nobody になります。続いて、cert.p12 という名前の、サーバーの PKCS#12 証明書を分割します。/etc/netboot ディレクトリにある wanclient-1 用のサブディレクトリに、証明書を挿入します。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 です。

Solaris フラッシュアーカイブの作成

この例では、wanserver-1 マスターシステムのクローンを作成することで、Solaris フラッシュアーカイブを作成します。このアーカイブは sol_10_sparc という名前で、マスターシステムから正確にコピーされます。アーカイブはマスターシステムの完全な複製です。アーカイブは sol_10_sparc.flar に格納されます。WAN ブートサーバーのドキュメントルートディレクトリの flash/archives サブディレクトリにこのアーカイブを保存します。


wanserver-1# flarcreate -n sol_10_sparc \
/opt/apache/htdocs/flash/archives/sol_10_sparc.flar

sysidcfg ファイルの作成

wanclient-1 システムを事前設定するには、キーワードと値を sysidcfg ファイルに指定します。wanserver-1 のドキュメントルートディレクトリの適切なサブディレクトリにこのファイルを保存します。


例 13–1 client-1 システム用の sysidcfg ファイル

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 10 11/06 ソフトウェアをインストールするように定義しています。

# 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

この例で使用されているキーワードと値の一部について、次のリストで説明します。

install_type

このプロファイルにより、Solaris フラッシュアーカイブがクローンシステムにインストールされます。すべてのファイルは、初期インストールにより上書きされます。

archive_location

圧縮された Solaris フラッシュアーカイブが wanserver-1 から取得されます。

partitioning

値が explicit であるため、ファイルシステムスライスは filesys キーワードによって指定します。ルート (/) のサイズは Solaris フラッシュアーカイブのサイズに基づいて割り当てています。swap は、必要なサイズを割り当てた上で、c0t1d0s1 上にインストールされるように設定しています。/export/home のサイズは残りのディスク容量に基づいて決定されます。/export/homec0t1d0s7 上にインストールされます。

rules ファイルの作成と妥当性検査

カスタム JumpStart プログラムでは、wanclient-1 システム用の正しいインストールプロファイルを選択するために、rules ファイルが使用されます。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 ファイルは、wanclient_1_prof を使って wanclient-1 に Solaris 10 11/06 ソフトウェアをインストールするよう、カスタム JumpStart プログラムに指示します。

このルールファイルに wanclient_rule という名前を付けます。

プロファイルと rules ファイルを作成したあと、check スクリプトを実行して、ファイルの妥当性を検査します。


wanserver-1# ./check -r wanclient_rule

check スクリプトによってエラーが検出されない場合は、rules.ok ファイルが作成されます。

rules.ok ファイルを /opt/apache/htdocs/flash/ ディレクトリに保存します。

システム構成ファイルの作成

システム構成ファイルを作成して、インストールサーバー上の sysidcfg ファイルとカスタム JumpStart ファイルの場所を記述します。WAN ブートサーバーがアクセスできるディレクトリに、このファイルを保存します。

次の例では、wanboot-cgi プログラムは、WAN ブートサーバーのドキュメントルートディレクトリ内で sysidcfg ファイルとカスタム JumpStart ファイルを検索します。WAN ブートサーバーのドメイン名は https://www.example.com です。WAN ブートサーバーは HTTPS を使用するように構成されているため、インストール時にデータとファイルが保護されます。

この例では、システム構成ファイルは sys-conf.s10–sparc という名前で、WAN ブートサーバーの /etc/netboot ディレクトリ内に保存されます。sysidcfg ファイルとカスタム JumpStart ファイルは、ドキュメントルートディレクトリの flash サブディレクトリに置かれています。

SsysidCF=https://www.example.com/flash/
SjumpsCF=https://www.example.com/flash/

wanboot.conf ファイルの作成

WAN ブートは、wanboot.conf ファイルに記述されている構成情報を使ってクライアントマシンのインストールを行います。テキストエディタを使って wanboot.conf ファイルを作成します。WAN ブートサーバー上の /etc/netboot ディレクトリにある該当のクライアントのサブディレクトリに、このファイルを保存します。

次の wanclient-1 用の wanboot.conf ファイルには、HTTPS を使って WAN インストールを行うための構成情報が記述されています。このファイルは WAN ブートに対して、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 ファイルで指定されている構成は次のとおりです。

boot_file=/wanboot/wanboot.s10_sparc

wanboot プログラムの名前は wanboot.s10_sparc です。このプログラムは、wanserver-1 のドキュメントルートディレクトリ内の wanboot ディレクトリに置かれています。

root_server=https://www.example.com/cgi-bin/wanboot-cgi

wanserver-1 上の wanboot-cgi プログラムの場所は https://www.example.com/cgi-bin/wanboot-cgi です。URL の https という部分は、この WAN ブートインストールで HTTPS を使用することを示しています。

root_file=/miniroot/miniroot.s10_sparc

WAN ブートミニルートの名前は miniroot.s10_sparc です。ミニルートは、wanserver-1 のドキュメントルートディレクトリ内の miniroot ディレクトリに置かれています。

signature_type=sha1

wanboot プログラムと WAN ブートファイルシステムは、HMAC SHA1 ハッシュキーで署名されます。

encryption_type=3des

wanboot プログラムと WAN ブートファイルシステムは、3DES 暗号化鍵で暗号化されます。

server_authentication=yes

インストール時にサーバー認証が行われます。

client_authentication=no

インストール時にクライアント認証は行われません。


注 –

「(省略可能) クライアント認証用の非公開鍵と証明書の使用」の作業を実行した場合、このパラメータの設定は client_authentication=yes としてください


resolve_hosts=

WAN インストールの実行に必要な追加のホスト名はありません。wanboot-cgi プログラムに必要なホスト名はすべて、wanboot.conf ファイルとクライアント証明書に指定されています。

boot_logger=

ブートログメッセージとインストールログメッセージがシステムコンソール上に表示されます。「(省略可能) WAN ブートサーバーをログサーバーとして構成」でログサーバーを構成済みの場合で、WAN ブートサーバー上にも WAN ブートメッセージを表示するときは、このパラメータを boot_logger=https://www.example.com/cgi-bin/bootlog-cgi と設定します。

system_conf=sys-conf.s10–sparc

sysidcfg ファイルとカスタム JumpStart ファイルの場所を指定するシステム構成ファイルは、sys-conf.s10–sparc という名前で、wanserver-1/etc/netboot ディレクトリに置かれています。

この例では、wanserver-1/etc/netboot/192.168.198.0/010003BA152A42 ディレクトリに wanboot.conf ファイルを保存します。

OBP の net デバイス別名の確認

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,1net 別名に割り当てられています。別名を設定し直す必要はありません。

クライアントに対するキーのインストール

「サーバーとクライアントのキーの作成」で、インストール時にデータを保護するためのハッシュキーと暗号化鍵を作成しました。インストール時に 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

上記の例では、次の情報が使用されています。

net=192.168.198.0

クライアントのサブネットの IP アドレスを指定します。

cid=010003BA152A42

クライアント ID を指定します。

b482aaab82cb8d5631e16d51478c90079cc1d463

クライアントの HMAC SHA1 ハッシュキーの値です。

9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

クライアントの 3DES 暗号化鍵の値です。

インストールで AES 暗号化鍵を使用する場合、この暗号化鍵の値を表示するには、type=3destype=aes に変更します。

wanclient-1ok プロンプトで、キーをインストールします。


ok set-security-key wanboot-hmac-sha1  b482aaab82cb8d5631e16d51478c90079cc1d463
ok set-security-key wanboot-3des  9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

上記のコマンドは、次の処理を実行します。

クライアントのインストール

自動インストールを実行するには、wanclient-1ok プロンプトでネットワークブート引数を設定してから、クライアントをブートします。


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.

次の変数が設定されます。

クライアントのインストールが WAN 経由で実行されます。wanboot プログラムに必要なインストール情報が見つからない場合は、不足している情報の入力を求めるプロンプトが表示されることがあります。