この章では、広域ネットワーク (WAN) 経由でクライアントシステムの設定とインストールを行う例を示します。この例では、HTTPS 接続を介してセキュリティー保護された WAN ブートインストールを実行する方法について説明します。
図 13–1 は、この例で使用するサイトの設定を示しています。
このサイト例には次のような特徴があります。
サーバー wanserver-1 は、WAN ブートサーバーおよびインストールサーバーとして構成されます。
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 は、インターネットにアクセスできますが、wanserver-1 が置かれているネットワークには直接接続されていません。
wanclient-1 に対して、新たに Solaris 最新リリースソフトウェアをインストールします。
インストールファイルとデータを保存するために、wanserver-1 のドキュメントルートディレクトリ (/opt/apache/htdocs) に次のディレクトリを作成します。
Solaris フラッシュのディレクトリ
wanserver-1# mkdir -p /opt/apache/htdocs/flash/ |
WAN ブートミニルートのディレクトリ
wanserver-1# mkdir -p /opt/apache/htdocs/miniroot/ |
wanboot プログラムのディレクトリ
wanserver-1# mkdir -p /opt/apache/htdocs/wanboot/ |
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 ブートに対応しているかどうかを調べます。
# eeprom | grep network-boot-arguments network-boot-arguments: data not available |
上の例では、出力に network-boot-arguments: data not available が表示されているので、クライアントOBP は WAN ブートに対応しています。
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 |
WAN ブートサーバーの /etc/netboot ディレクトリに、wanclient-1 のサブディレクトリを作成します。WAN ブートインストールプログラムは、インストール時に、このディレクトリから構成情報とセキュリティー情報を取得します。
wanclient-1 は、サブネット 192.168.198.0 上にあり、010003BA152A42 というクライアント ID を持っています。/etc/netboot に wanclient-1 用の適切なサブディレクトリを作成するには、次の作業を実行します。
/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 ブートサーバーからインストールデータを転送できるようにするには、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 ブートサーバー上でブートメッセージおよびインストールメッセージを表示するには、wanserver-1 の cgi-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 |
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 サーバーユーザーと同じ役割になります
PKCS#12 ファイルを、非公開鍵とクライアント証明書に分割します
クライアントの certstore ファイルに証明書を挿入します
クライアントの keystore ファイルに非公開鍵を挿入します
この例では、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 です。
この例では、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 |
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 フラッシュアーカイブがクローンシステムにインストールされます。すべてのファイルは、初期インストールにより上書きされます。
圧縮された Solaris フラッシュアーカイブが wanserver-1 から取得されます。
値が explicit であるため、ファイルシステムスライスは filesys キーワードによって指定します。ルート (/) のサイズは Solaris フラッシュアーカイブのサイズに基づいて割り当てています。swap は、必要なサイズを割り当てた上で、c0t1d0s1 上にインストールされるように設定しています。/export/home のサイズは残りのディスク容量に基づいて決定されます。/export/home は c0t1d0s7 上にインストールされます。
カスタム 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 最新リリースソフトウェアをインストールするよう、カスタム 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/
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 ファイルで指定されている構成は次のとおりです。
wanboot プログラムの名前は wanboot.s10_sparc です。このプログラムは、wanserver-1 のドキュメントルートディレクトリ内の wanboot ディレクトリに置かれています。
wanserver-1 上の wanboot-cgi プログラムの場所は https://www.example.com/cgi-bin/wanboot-cgi です。URL の https という部分は、この WAN ブートインストールで HTTPS を使用することを示しています。
WAN ブートミニルートの名前は miniroot.s10_sparc です。ミニルートは、wanserver-1 のドキュメントルートディレクトリ内の miniroot ディレクトリに置かれています。
wanboot プログラムと WAN ブートファイルシステムは、HMAC SHA1 ハッシュキーで署名されます。
wanboot プログラムと WAN ブートファイルシステムは、3DES 暗号化鍵で暗号化されます。
インストール時にサーバー認証が行われます。
インストール時にクライアント認証は行われません。
「(省略可能) クライアント認証用の非公開鍵と証明書の使用」の作業を実行した場合、このパラメータの設定は client_authentication=yes としてください
WAN インストールの実行に必要な追加のホスト名はありません。wanboot-cgi プログラムに必要なホスト名はすべて、wanboot.conf ファイルとクライアント証明書に指定されています。
ブートログメッセージとインストールログメッセージがシステムコンソール上に表示されます。「(省略可能) WAN ブートサーバーをログサーバーとして構成」でログサーバーを構成済みの場合で、WAN ブートサーバー上にも WAN ブートメッセージを表示するときは、このパラメータを boot_logger=https://www.example.com/cgi-bin/bootlog-cgi と設定します。
sysidcfg ファイルとカスタム JumpStart ファイルの場所を指定するシステム構成ファイルは、sys-conf.s10–sparc という名前で、wanserver-1 の /etc/netboot ディレクトリに置かれています。
この例では、wanserver-1 の /etc/netboot/192.168.198.0/010003BA152A42 ディレクトリに wanboot.conf ファイルを保存します。
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 |
上記のコマンドは、次の処理を実行します。
b482aaab82cb8d5631e16d51478c90079cc1d463 という値を持つ HMAC SHA1 ハッシュキーを wanclient-1 にインストールします
9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04 という値を持つ 3DES 暗号化鍵を wanclient-1 にインストールします
自動インストールを実行するには、wanclient-1 の ok プロンプトでネットワークブート引数を設定してから、クライアントをブートします。
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 プログラムに必要なインストール情報が見つからない場合は、不足している情報の入力を求めるプロンプトが表示されることがあります。