Solaris のシステム管理 (第 3 巻)

dhcpconfig を使用する DHCP サーバーの設定および設定解除

この節では、dhcpconfig を使用して DHCP サーバーまたは BOOTP リレーエージェントを設定および設定解除する手順について説明します。dhcpconfig の起動時に、図 10-5 のような「DHCP Configuration」メニューが表示されます。

図 10-5 dhcpconfig のメニュー


***         DHCP Configuration              ***
 
Would you like to:
 
        1) Configure DHCP Service
 
        2) Configure BOOTP Relay Agent
 
        3) Unconfigure DHCP or Relay Service
 
        4) Exit
  
Choice:  

DHCP サーバーの設定方法 (dhcpconfig)

  1. DHCP サーバーとして使用するシステムを選択します。

    「サーバー設定における決定事項」のガイドラインに従います。

  2. データ保存、リースポリシー、およびルーター情報について決定を行います。

    「サーバー設定における決定事項」のガイドラインに従います。

  3. スーパーユーザーになります。

  4. 次のコマンドを入力します。


    #/usr/sbin/dhcpconfig
    

    テキスト形式の「DHCP Configuration」メニューが表示されます。

  5. 1 と入力し、Return を押して、「Configure DHCP Service」を選択します。

  6. 次のプロンプトに対して応答を入力します。

    ここでは、第 9 章「DHCP サービスの使用計画」を読んで決定した決定事項を使用します。なお、各プロンプトにおけるデフォルト値は角括弧で囲まれています。デフォルト値を使用する場合には、そのプロンプトで Return を押します。


    Would you like to stop the DHCP service? (recommended) ([Y]/N)Y
    

    Y を押し、DHCP サービスを停止します。この操作により、サーバーが不完全な構成情報をクライアントに送信しないようにします。


    ###     DHCP Service Configuration      ###
    ###     Configure DHCP Database Type and  Location      ###
     
    Enter datastore (files or nisplus) [nisplus]:

    使用するデータ保存方法の名前、(files または nisplus) を入力します。

    データ保存方法についてのより詳しい情報が必要な場合は、「データ保存方法の選択」のガイドラインを参照してください。選択結果は /etc/default/dhcp に記録されます。


    Enter absolute path to datastore directory [/var/dhcp]:

    データ保存方式に使用する files または NIS+ ディレクトリへのパスを入力します。データ保存方式に files を選択した場合のデフォルトディレクトリは /var/dhcp です。NIS+ を選択した場合のデフォルトディレクトリは、yourcompany.com などの、サーバーが現在使用している NIS+ ディレクトリの場所になります。


    Would you like to specify nondefault daemon options (Y/[N]):

    上記のプロンプトで N を入力した場合、デフォルト以外のデーモンオプションを指定しなくても、サーバーを正常に設定できます。

    Y と入力した場合は、次のプロンプトが表示されます。


    Do you want to enable transaction logging? (Y/[N]):Y
    

    トランザクションログを有効にしたい場合は、Y と入力します。トランザクションログについては、第 11 章「DHCP の管理」を参照してください。トランザクションログを有効に設定した場合にのみ、次のプロンプトが表示されます。


    Which syslog local facility [0-7] do you wish to log to? [0]:

    トランザクションログを記録するためのローカル機能については、第 11 章「DHCP の管理」を参照してください。


    How long (in seconds) should the DHCP server keep outstanding OFFERs? [10]:

    サーバーがクライアントに提供する IP アドレスをキャッシュに保持する秒数を入力します。デフォルトの秒数は 10 秒であり、ほとんどのネットワークでは、これが適切な秒数です。秒数を増加することは可能ですが、ネットワーク性能が低下します。


    How often (in minutes) should the DHCP server rescan the dhcptab? [Never]:

    デフォルトでは DHCP サーバーは起動時に、あるいは DHCP Manager から読み込みの指示を受けた場合にのみ、dhcptab を読み込みます。DHCP Manager を使用すると、設定データを変更した後で dhcptab をリロードすることにより、サーバーを更新することができます。そのため、DHCP Manager を使用している場合は、dhcptab の自動再走査は必要ありません。一般に、再走査間隔は次のような状況でのみ使用します。

    • データ保存が NIS+ 内に配置されており、ネットワーク上に複数の DHCP サーバーが存在する場合。再走査によって、すべてのサーバーが最新の情報を持っていることが保証されます。

    • DHCP Manager ではなく、dhtadm を使用して設定変更を行った場合。dhtadm ユーティリティには、設定変更後に dhcptab の再走査を強制するオプションはありません。

    dhcptab に対して自動再走査を実行する場合は、サーバーが dhcptab ファイル内にクライアントの設定情報をリロードするまでの待機時間間隔を分単位で入力します。


    Do you want to enable BOOTP compatibility mode? (Y/[N]):

    デフォルトでは BOOTP 互換性は無効になっています。BOOTP 互換性を有効にする場合は、「DHCP サービスを使用した BOOTP クライアントのサポート」を参照してください。

    デフォルト以外のデーモンおよびサーバーオプションに関する情報の入力が終了したら、次のプロンプトが表示されます。


    Enter default DHCP lease policy (in days) [3]:

    リース期間の日数を入力します。デフォルト設定は 3 日です。詳細については、「リースポリシーの設定」 を参照してください。


    Do you want to allow clients to renegotiate their leases? ([Y]/N):

    デフォルト設定はリースネゴシエーションを有効にする Y です。リースネゴシエーションについての詳細は、「リースポリシーの設定」を参照してください。N と入力した場合、クライアントはリースの期限が切れた時点で IP アドレスを放棄し、新たなリースと IP アドレスを取得しなければなりません。


    Enable DHCP/BOOTP support of networks you select? ([Y]/N):

    この時点で、DHCP を使用するネットワークの構成が可能になります。「IP アドレス管理のための決定事項」を読んだ後に選んだ決定事項を参照してください。IP アドレスを設定する準備が整っていない場合は、N と入力します。dhcpconfig は DHCP サービスを再度実行するように促すプロンプトを表示して、初期メニューに戻ります。少なくとも 1 つのネットワーク上で DHCP または BOOTP のサポートを有効にしない限り、DHCP を使用することはできません。

    IP アドレスを設定する準備が整っている場合は、Y と入力し 手順 4 へ進みます。

BOOTP リレーエージェントの設定方法 (dhcpconfig)

  1. 設定を行うシステム上でスーパーユーザーになります。

  2. 次のように入力します。


    # /usr/sbin/dhcpconfig
    

    テキスト形式の「Configure DHCP Service」メニューが表示されます。

  3. 2 と入力し、Return を押して「Configure BOOTP Relay Agent」を選択します。

  4. プロンプトに対し、次のように応答します。


    Would you like to stop the DHCP service? (recommended) ([Y]/N):Y
    ###     BOOTP Relay Agent Configuration ###
    
    ###     Common daemon option setup      ###
    Would you like to specify nondefault daemon options (Y/[N]):Y
    

    このプロンプトに対して N と入力した場合、デフォルト以外のデーモンオプションを指定しなくても、サーバーを正常に設定できます。

    Y と入力した場合には、次のプロンプトが表示されます。


    Do you want to enable transaction logging? (Y/[N]):Y
    

    トランザクションログを有効にしたい場合は、Y と入力します。トランザクションログについては、第 11 章「DHCP の管理」を参照してください。トランザクションログを有効にした場合にのみ、次のプロンプトが表示されます。


    Which syslog local facility [0-7] do you wish to log to? [0]:

    トランザクションログを記録するためのローカル機能については、第 11 章「DHCP の管理」を参照してください。


    Enter destination BOOTP/DHCP servers. Type '.' when finished.
    IP address or Hostname: 

    要求の転送先となる BOOTP または DHCP サーバーの IP アドレスまたはホストネームを 1 つ入力し、Return を押します。プロンプトが再表示され、アドレスおよびホストネームの入力が引き続き可能な状態になります。終了する場合はピリオド (.) を入力し、Return を押します。


    Would you like to restart the DHCP service? (recommended) ([Y]/N):Y
    

    「Configure DHCP Service」メニューが再表示されます。

  5. dhcpconfig を終了するには、4 と入力します。

dhcpconfig の使用によるネットワークの構成

この項では dhcpconfig を使用して、ネットワークを DHCP の管理下に置くための手順について説明します。以下の各手順では、サーバーの設定が完了し、DHCP データ保存に新たなネットワークを追加している段階であることを前提としています。

ローカルネットワークの構成方法 (dhcpconfig)

  1. DHCP サーバーシステム上でスーパーユーザーになります。

  2. 次のコマンドを入力します。


    # /usr/sbin/dhcpconfig
    

    テキスト形式の「Configure DHCP Service」メニューが表示されます。

  3. プロンプトに対して次のように応答し、ネットワーク構成オプションへ進みます。


    Would you like to stop the DHCP service? (recommended) ([Y]/N)Y
    Would you like to specify nondefault daemon options (Y/[N]):N
    Do you want to merge initialization data with the existing table? (Y/[N]):Y
    Enable DHCP/BOOTP support of networks you select? ([Y]/N):Y
    
  4. プロンプトに対して次のように応答し、ローカルネットワークを構成します。


    Configure BOOTP/DHCP on local LAN network: 172.21.0.0? ([Y]/N):Y
    
  5. クライアント名の生成についての各プロンプトに対して、次のように応答します。


    Do you want hostnames generated and inserted in the files hosts table? (Y/[N]):

    サーバーはホスト名を作成し、各名前を IP アドレスに対応付けることができます。詳細については、「クライアントホスト名の生成」を参照してください。

    Y と入力した場合は次のプロンプトに応答します。N と入力した場合は、手順 6 へ進みます。


    What rootname do you want to use for generated names? [yourserver-]:

    生成されたクライアント名のデフォルトのプレフィックス、つまりルート名 (rootname) が DHCP サーバーの名前になります。この名前はそのままクライアント名として使用しても、他の名前に変更してもかまいません。


    Is Rootname name_you_typed- correct? ([Y]/N):Y
    

    入力に間違いがあった場合は、ここで N と入力し再度ルート名の入力を求めるプロンプトへ戻ります。


    What base number do you want to start with? [1]: 

    ベース番号はクライアント名の生成に用いられるルート名に付加される最初の番号です。たとえば、デフォルトのルート名とベース番号を使用した場合、クライアント名は、yourserver-1yourserver-2 のようになります。

  6. DHCP の管理下に置きたいネットワークの IP アドレスに関する次のプロンプトに応答します。


    Enter starting IP address [172.21.0.0]:  

    サーバーは管理対象とする IP アドレス範囲を生成する必要があります。DHCP の管理下に置きたい IP アドレス範囲の開始アドレスを入力します。詳細については、「IP アドレスの数と範囲」を参照してください。


    Enter the number of clients you want to add (x < 65535):

    クライアント数は DHCP の管理下に置く IP アドレスの数に相当します。dhcpconfig プログラムはこの情報とベース番号を使用して、連続した IP アドレスブロックを DHCP の管理下に追加します。


    The dhcp network table: 172.21.0.0 already exists.
    Do you want to add entries to it? ([Y]/N):

    すでにアドレス設定が完了しているネットワーク内にアドレスブロックを追加した場合、上記のプロンプトが表示されます。Y と入力してネットワークテーブルを変更しアドレスを追加します。


    Would you like to configure BOOTP/DHCP service on remote networks? ([Y]/N):

    ネットワークの追加を終了するときは、N と入力し、プロンプトの指示に従ってサーバーを再起動します。

    他のネットワークの IP アドレスを DHCP の管理下に置きたいときは、このプロンプトで Y と入力し、手順 5 に進みます。

リモートネットワークの構成方法 (dhcpconfig)

  1. DHCP サーバーシステム上でスーパーユーザーになります。

  2. 次のコマンドを入力します。


    # /usr/sbin/dhcpconfig
    

    テキスト形式の「DHPC Configuration」メニューが表示されます。

  3. 1 と入力し、Return を押して「Configure DHCP Service」を選択します。

  4. プロンプトに対して次のように応答し、リモートネットワーク構成オプションへ進みます。


    Would you like to stop the DHCP service? (recommended) ([Y]/N)Y
    Would you like to specify nondefault daemon options (Y/[N]):N
    Do you want to merge initialization data with the existing table? (Y/[N]):Y
    Enable DHCP/BOOTP support of networks you select? ([Y]/N):Y
    Configure BOOTP/DHCP on local LAN network: 172.21.0.0? ([Y]/N):N
    
  5. プロンプトに対して次のように応答し、リモートネットワークを構成します。


    Would you like to configure BOOTP/DHCP service on remote networks? ([Y]/N):Y
    Enter Network Address of remote network, or <RETURN> if finished: 

    DHCP に構成したいネットワークの IP アドレスを入力します。ネットワークアドレスでは、IP アドレスのホスト部分に 0 が使用されます。


    Do clients access this remote network via LAN or PPP connection? ([L]/P): 

    L または P と入力することにより、ネットワークがローカルエリアネットワーク (LAN) またはポイントツーポイントプロトコルネットワーク (PPP) のいずれであるかを示します。


    Do you want hostnames generated and inserted in the files hosts table? (Y/[N]):

    サーバーは IP アドレスごとにホスト名を作成し、/etc/inet/hosts ファイルまたは NIS+ hosts テーブルにエントリを作成します。「クライアントホスト名の生成」を参照してください。


    Enter Router (From client's perspective), or <RETURN> if finished.
    IP address:

    このネットワーク上のクライアントが使用するルーター (複数も可) の IP アドレスを入力します。なお、クライアントがこのネットワークでルーター発見機能を使用するように指定することはできません。


    Optional: Enter Remote Network's MTU (e.g. ethernet == 1500):   

    リモートネットワークが使用している固有の最大転送単位 (MTU) がわかっている場合は、この時点で入力します。そうでなければ、Return を押して、デフォルト値をそのまま使用します。


    Enter starting IP address [172.21.0.0]   

    DHCP の管理下に置きたい IP アドレス範囲の開始 IP アドレスを入力します。デフォルト値は、ネットワークアドレスです。


    Enter the number of clients you want to add (x < 65535):   

    DHCP の管理下に置きたい IP アドレスの個数を入力します。dhcpconfig は、この値と、直前に入力した開始 IP アドレスを基に、DHCP の管理下に置く一連の IP アドレスを決定します。入力する値は、プロンプトで示される値よりも小さくなればなりません。なお、プロンプトで表示される値は、ネットマスクを基に生成されたものです。上記の例の場合は、65535 未満の値を指定する必要があります。


    dhcptab macro "172.21.0.0" already exists.
    Do you want to merge initialization data with the existing macro? ([Y]/N):   

    このネットワークがすでに構成済みの場合は、上記のメッセージが表示されます。既存のマクロにデータをマージする必要があるのは、追加しているネットワーク上の全クライントに指定の情報を適用する場合だけです。


    Disable (ping) verification of 172.21.0.0 address(es)? (Y/[N]):   

    dhcpconfig は、追加しているアドレスに対して ping を実行し、それらのアドレスが使用されていないことを確認し、使用中のアドレスはスキップします。このプロンプトに対し Y と入力すると、dhcpconfig は、アドレスに対して ping を実行しません。


    Network: 172.21.0.0 complete.
    Enter Network Address of remote network, or <RETURN>  if finished:

    別のリモートネットワークを構成したい場合は、そのネットワークアドレスを入力し、ネットワークに関するプロンプトに応答します。構成するリモートネットワークが他にない場合は、上記のプロンプトに対して Return を押します。


    Would you like to restart the DHCP service? (recommended) ([Y]/N):   

    Y と入力して、DHCP サービスを再起動します。

dhcpconfig の使用による DHCP サーバーおよび BOOTP リレーエージェントの設定解除

DHCP サーバーの設定を解除すると、サーバープロセスが停止し、システムのリブート時に自動的に起動されなくなります。また、これによって、/etc/default/dhcp ファイルが削除されます。このファイルには、データの保存場所およびサーバーの起動オプションに関する情報が格納されています。DHCP サーバーの設定を解除する際には、DHCP データファイル (dhcptab と DHCP の各ネットワークテーブル) の扱いを決定する必要があります。サーバー間でデータを共有している場合は、dhcptab と DHCP の各ネットワークテーブルを削除してはなりません。DHCP サーバーの設定を解除することによって、ネットワーク全体に渡って DHCP を使用することができなくなるからです。データの共有は、NIS+ またはエクスポートしたローカルファイルシステムを使用して行えます。これらのテーブルを保持したままでも、DHCP サーバーの設定を解除することができます。テーブルをそのまま保持するには、テーブルを削除するかどうかを尋ねるプロンプトに、NO と応答します。

DHCP サーバーまたは BOOTP リレーエージェントの設定解除方法 (dhcpconfig)

  1. サーバーシステム上でスーパーユーザーになります。

  2. 次のコマンドを入力します。


    # /usr/sbin/dhcpconfig
    

    テキスト形式の「DHPC Configuration」メニューが表示されます。

  3. 3 と入力し、Return を押して、「Unconfigure DHCP or Relay Service」を選択します。

  4. プロンプトに対して次のように応答します。


    Unconfigure will stop the DHCP service and remove /etc/default/dhcp.
    Are you SURE you want to disable the DHCP service? ([Y]/N):

    Y と入力し、サーバーの設定を解除します。


    Are you SURE you want to remove the DHCP tables? (Y/[N]):

    DHCP データが他の DHCP サーバーと共有されていないことが確実な場合にだけ、Y と入力します。N と入力すると、サーバーが使用できなくなりますが、データはそのままに保持されます。