Solaris 9 9/04 インストールガイド

WAN ブートサーバーの構成

WAN ブートサーバーは、WAN ブートインストール時にブートデータと構成データを提供する Web サーバーです。WAN ブートサーバーのシステム要件のリストについては、表 42–1 を参照してください。

ここでは、WAN ブートインストールを行うために WAN ブートサーバーを構成する方法について説明します。必要な作業は次のとおりです。

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

構成ファイルとインストールファイルを提供するには、WAN ブートサーバーの Web サーバーソフトウェアがこれらのファイルにアクセスできるようにする必要があります。たとえば、WAN ブートサーバーのドキュメントルートディレクトリにこれらのファイルを置くと、これらのファイルへのアクセスが可能になります。

構成ファイルとインストールファイルの提供にドキュメントルートディレクトリを使用するには、このディレクトリを作成する必要があります。ドキュメントルートディレクトリの作成方法については、Web サーバーのマニュアルを参照してください。ドキュメントルートディレクトリの設計方法については、ドキュメントルートディレクトリへのインストールファイルと構成ファイルの保存を参照してください。

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

WAN ブートでは、WAN ブートインストール用に変更された特別な Solaris ミニルートが使用されます。WAN ブートミニルートには、Solaris ミニルートにあるソフトウェアのサブセットが入っています。WAN ブートインストールを実行するには、Solaris DVD または Solaris SOFTWARE 1 of 2 CD から、このミニルートを WAN ブートサーバーにコピーする必要があります。-w オプションを指定して setup_install_server コマンドを実行し、Solaris ソフトウェアのメディアからシステムのハードディスクに WANブートミニルートをコピーします。

次の手順では、SPARC メディアを使って SPARC WAN ブートミニルートを作成します。x86 ベースのサーバーから SPARC WAN ブートミニルートを提供するには、まず SPARC マシンにミニルートを作成する必要があります。次に、作成したミニルートを、x86 ベースのサーバーのドキュメントルートディレクトリにコピーします。

setup_install_server コマンドの詳細は、第 15 章「CD メディアを使用したネットワークインストールの準備 (作業)」を参照してください。

SPARC: WAN ブートミニルートを作成する方法

この手順では、WAN ブートサーバーでボリュームマネージャを実行していると仮定します。ボリュームマネージャを使用していない場合は、ボリュームマネージャを使用せずにリムーバブルメディアを管理する方法について、『Solaris のシステム管理 (デバイスとファイルシステム)』を参照してください。

  1. WAN ブートサーバー上でスーパーユーザーになります。

    システムの必要条件は以下のとおりです。

    • CD-ROM ドライブまたは DVD-ROM ドライブを備えていること

    • サイトのネットワークおよびネームサービスに組み込まれていること

      ネームサービスを使用する場合は、システムがすでに NIS、NIS+、DNS、LDAP のいずれかのネームサービスに登録されていなければなりません。ネームサービスを使用しない場合は、サイトのポリシーに従ってシステムの情報を供給する必要があります。

  2. Solaris SOFTWARE 1 of 2 CD または Solaris DVD をインストールサーバーのドライブに挿入します。

  3. WAN ブートミニルートと Solaris インストールイメージを置くためのディレクトリを作成します。


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

    目的のディレクトリを作成するときに、必要な親ディレクトリもすべて作成するよう mkdir コマンドに指示します。

    wan-dir-path

    WAN ブートミニルートの作成先となる、インストールサーバー上のディレクトリを指定します。このディレクトリには、ミニルートを格納できる容量が必要です。ミニルートの標準サイズは 250M バイトです。

    install-dir-path

    Solaris ソフトウェアイメージのコピー先となる、インストールサーバー上のディレクトリを指定します。この手順の後半で、このディレクトリは削除できます。

  4. マウントされたディスクの Tools ディレクトリに移動します。


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

    上の例では、cdrom0 は、Solaris オペレーティング環境のメディアを含むドライブへのパスです。

  5. WAN ブートミニルートと Solaris ソフトウェアイメージを、WAN ブートサーバーのハードディスクにコピーします。


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

    WAN ブートミニルートをコピーするディレクトリを指定します。

    install-dir-path

    Solaris ソフトウェアイメージをコピーするディレクトリを指定します。


    注 –

    setup_install_server コマンドは、Solaris SOFTWARE ディスクイメージをコピーする十分なディスク容量があるかどうかを調べます。利用できるディスク容量を調べるには、df -kl コマンドを使用します。


    setup_install_server -w コマンドは、WAN ブートミニルートと、Solaris ソフトウェアのネットワークインストールイメージを作成します。

  6. (省略可能) ネットワークインストールイメージを削除します。

    フラッシュアーカイブを使って WAN インストールを実行する場合、Solaris ソフトウェアイメージは不要です。ほかのネットワークインストールに使用する予定がない場合は、ネットワークインストールイメージを削除して、ディスクの空き領域を増やすことができます。ネットワークインストールイメージを削除するには、次のコマンドを入力します。


    # rm -rf install-dir-path
    
  7. 次のどちらかの方法で、WAN ブートサーバーが WAN ブートミニルートにアクセスできるようにします。

    • WAN ブートサーバーのドキュメントルートディレクトリに、WAN ブートミニルートへのシンボリックリンクを作成します。


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

      WAN ブートサーバーのドキュメントルートディレクトリにあるディレクトリで、WAN ブートミニルートにリンクするものを指定します。

      /wan-dir-path/miniroot

      WAN ブートミニルートへのパスを指定します。

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


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

      WAN ブートミニルートへのパスを指定します。

      /document-root-directory/miniroot/

      WAN ブートサーバーのドキュメントルートディレクトリにある WAN ブートミニディレクトリへのパスを指定します。

      miniroot-name

      WAN ブートミニルートの名前を指定します。miniroot.s9_sparc のように、わかりやすい名前をファイルに付けます。

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

WAN ブートでは、特別な二次レベルのブートプログラム wanboot が、クライアントのインストールに使用されます。wanboot プログラムは、WAN ブートインストールの実行に必要な、WAN ブートミニルート、クライアント構成ファイル、およびインストールファイルを読み込みます。

WAN ブートインストールを実行するには、インストール時に wanboot プログラムをクライアントに提供する必要があります。次の方法で、このプログラムをクライアントに提供できます。

SPARC: WAN ブートサーバーに wanboot プログラムをインストールする方法

この手順では、WAN ブートサーバーでボリュームマネージャを実行していると仮定します。ボリュームマネージャを使用していない場合は、ボリュームマネージャを使用せずにリムーバブルメディアを管理する方法について、『Solaris のシステム管理 (デバイスとファイルシステム)』を参照してください。

  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 ブートサーバーのドキュメントルートディレクトリを指定します。

    wanboot-name

    wanboot プログラムの名前を指定します。wanboot.s9_sparc のように、わかりやすい名前をファイルに付けます。

  5. 次のどちらかの方法で、WAN ブートサーバーが wanboot プログラムにアクセスできるようにします。

    • WAN ブートサーバーのドキュメントルートディレクトリに、wanboot プログラムへのシンボリックリンクを作成します。


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

      WAN ブートサーバーのドキュメントルートディレクトリにあるディレクトリで、wanboot プログラムにリンクするものを指定します。

      /wan-dir-path/wanboot

      wanboot プログラムへのパスを指定します。

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


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

      wanboot プログラムへのパスを指定します。

      /document-root-directory/wanboot/

      WAN ブートサーバのドキュメントルートディレクトリにある wanboot プログラムディレクトリへのパスを指定します。

      wanboot-name

      wanboot プログラムの名前を指定します。wanboot.s9_sparc のように、わかりやすい名前をファイルに付けます。

WAN ブートサーバーに /etc/netboot ディレクトリを作成する

インストール時に WAN ブートは、Web サーバーの /etc/netboot ディレクトリの内容を参照して、インストールの実行方法に関する指示を取得します。このディレクトリには、WAN ブートインストールに必要な、構成情報、非公開鍵、デジタル証明書、および認証局が保存されます。インストール時、この情報は wanboot-cgi プログラムによって WAN ブートファイルシステムに変換されます。その後、wanboot-cgi プログラムは WAN ブートファイルシステムをクライアントに転送します。

/etc/netboot ディレクトリ内にサブディレクトリを作成することで、WAN ブートインストールの適用範囲をカスタマイズできます。次のディレクトリ構造を使って、インストール対象のクライアント間で構成情報をどのように共有するかを定義します。

/etc/netboot ディレクトリの詳しい設計方法については、/etc/netboot ディレクトリへの構成情報とセキュリティ情報の保存 を参照してください。

/etc/netboot ディレクトリを作成する方法
  1. WAN ブートサーバー上でスーパーユーザーになります。

  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 ディレクトリ内のサブディレクトリの名前を指定します。


例 43–1 WAN ブートサーバーに /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 ブートサーバーへの WAN ブート CGI プログラムのコピー

wanboot-cgi プログラムは、WAN ブートサーバーからクライアントに次のファイルを転送するデータストリームを作成します。

Solaris 9 12/03 オペレーティング環境またはその互換バージョンをインストールすると、wanboot-cgi プログラムもシステムにインストールされます。WAN ブートサーバーがこのプログラムを使用できるようにするには、WAN ブートサーバーの cgi-bin ディレクトリにこのプログラムをコピーします。

WAN ブートサーバーに wanboot-cgi プログラムをコピーする方法
  1. WAN ブートサーバー上でスーパーユーザーになります。

  2. WAN ブートサーバーに wanboot-cgi プログラムをコピーします。


    # cp /usr/lib/inet/wanboot/wanboot-cgi /WAN-server-root/cgi-bin/wanboot-cgi
    
    /WAN-server-root

    WAN ブートサーバー上の Web サーバーソフトウェアのルートディレクトリを指定します。

  3. WAN ブートサーバーで、CGI プログラムのアクセス権を 755 に変更します。


    # chmod 755 /WAN-server-root/cgi-bin/wanboot-cgi
    

(省略可能) WAN ブートログサーバーの構成

クライアント以外のシステムでブートログメッセージとインストールログメッセージを記録するには、ログサーバーを設定する必要があります。インストール時に HTTPS を介してログサーバーを使用するには、WAN ブートサーバーをログサーバーとして構成する必要があります。

ログサーバーを構成するには、次の手順を実行します。

ログサーバーを構成する方法
  1. ログサーバーの CGI スクリプトディレクトリに bootlog-cgi スクリプトをコピーします。


    # cp /usr/lib/inet/wanboot/bootlog-cgi \
      log-server-root/cgi-bin
    
    log-server-root/cgi-bin

    ログサーバーの Web サーバーディレクトリにある cgi-bin ディレクトリを指定します。

  2. bootlog-cgi スクリプトのアクセス権を 755 に変更します。


    # chmod 755 log-server-root/cgi-bin/bootlog-cgi
    
  3. wanboot.conf ファイル内の boot_logger パラメータの値を設定します。

    wanboot.conf ファイルに、ログサーバー上の bootlog-cgi スクリプトの URL を指定します。

    wanboot.conf ファイルのパラメータの設定方法については、wanboot.conf ファイルの作成 を参照してください。

    インストール時、ログサーバーの /tmp ディレクトリに、ブートログメッセージとインストールログメッセージが記録されます。ログファイルの名前は bootlog.hostname となります。hostname は、クライアントのホスト名です。


例 43–2 HTTPS を介して WAN ブートインストールを行う場合のログサーバーの構成

次の例では、WAN ブートサーバーをログサーバーとして構成します。


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

(省略可能) HTTPS によるデータの保護

WAN ブートサーバーからクライアントへの転送データを保護するには、HTTPS (Secure Sockets Layer を介した HTTP) を使用します。セキュリティ保護された WAN ブートインストール構成 に説明されている、より高いセキュリティで保護されたインストール構成を使用するには、Web サーバーで HTTPS を使用できるようにする必要があります。

WAN ブートサーバーの Web サーバーソフトウェアで HTTPS を使用できるようにするには、次の作業を実行します。

サーバー認証とクライアント認証のためのデジタル証明書の使用

WAN ブートインストールでは、PKCS#12 ファイルを使って、サーバー認証またはサーバー認証とクライアント認証の両方を伴うインストールを HTTPS で実行できます。PKCS#12 ファイルを使用するための要件とガイドラインについては、デジタル証明書の要件 を参照してください。

WAN ブートインストールで PKCS#12 ファイルを使用するには、次の作業を実行します。

wanbootutil コマンドには、上記の作業を実行するためのオプションが用意されています。

PKCS#12 ファイルを分割する前に、WAN ブートサーバーの /etc/netboot ディレクトリに適切なサブディレクトリを作成してください。

信頼できる証明書およびクライアントの非公開鍵の作成
  1. WAN ブートサーバーで、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

      クライアントの keystore に SSL 非公開鍵を挿入します。

      -k keyfile

      前の手順で作成したクライアントの非公開鍵ファイルの名前を指定します。

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

      クライアントの keystore へのパスを指定します。

      -o type=rsa

      キータイプとして RSA を指定します。


例 43–3 サーバー認証用の信頼できる証明書を作成する

次の例では、サブネット 192.168.255.0 にあるクライアント 010003BA152A42 に対して、PKCS#12 ファイルを使ってインストールを行います。このコマンド例は、client.p12 という名前の PKCS#12 ファイルから証明書を抽出します。次に、この信頼できる証明書の内容を、クライアントの 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 ブートインストール時のデータの保護 を参照してください。

wanbootutil keygen コマンドを使用すると、これらのキーを生成し、/etc/netboot の適切なディレクトリに保存できます。

ハッシュキーと暗号化鍵を作成する方法
  1. WAN ブートサーバーで、Web サーバーユーザーと同じ役割になります。

  2. HMAC SHA1 マスターキーを作成します。


    # wanbootutil keygen -m
    
    keygen -m

    WAN ブートサーバーの 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 ブートクライアントで使用可能になります。

    (省略可能) cid=client-ID

    クライアント ID を指定します。クライアント ID は、ユーザーが定義した ID か、DHCP クライアント ID です。cid オプションの前には、net= に有効な値を指定する必要があります。net オプションを指定し、cid オプションを指定しない場合、キーは /etc/netboot/net-ip/keystore ファイルに保存されます。このキーは、net-ip サブネットにあるすべての WAN ブートクライアントで使用可能になります。

    type=sha1

    クライアントの HMAC SHA1 ハッシュキーを作成するよう、wanbootutil keygen ユーティリティに指示します。

  4. クライアントの暗号化鍵を作成する必要があるかどうかを決定します。

    HTTPS を介して WAN ブートインストールを実行するには、暗号化鍵を作成する必要があります。クライアントが WAN ブートサーバーと HTTPS 接続を確立する前に、WAN ブートサーバーは、暗号化されたデータと情報をクライアントに転送します。クライアントは暗号化鍵を使ってこの情報を復号化し、インストール時にこの情報を使用することができます。

    • サーバー認証を伴う、より高いセキュリティで保護された WAN インストールを HTTPS で実行する場合は、次の手順に進みます。

    • 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 ブートクライアントで使用可能になります。

    (省略可能) cid=client-ID

    クライアント ID を指定します。クライアント ID は、ユーザーが定義した ID か、DHCP クライアント ID です。cid オプションの前には、net= に有効な値を指定する必要があります。net オプションを指定し、cid オプションを指定しない場合、キーは /etc/netboot/net-ip/keystore ファイルに保存されます。このキーは、net-ip サブネットにあるすべての WAN ブートクライアントで使用可能になります。

    type=key-type

    クライアントの暗号化鍵を作成するよう、wanbootutil keygen ユーティリティに指示します。key-type には、3des または aes という値を指定できます。

  6. クライアントシステムにキーをインストールします。

    クライアントにキーをインストールする方法については、クライアントに対するキーのインストール を参照してください。


例 43–4 HTTPS を介して WAN ブートインストールを実行するために必要なキーを作成する

次の例では、WAN ブートサーバーの 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