Solaris DHCP の管理

DHCP サービスオプションの変更

DHCP サービスの一部の追加機能について値を変更できます。これらの機能の一部は、DHCP マネージャを使用した初期構成の際には表示されなかったものです。dhcpconfig を使用してサーバーを構成した場合、これらのオプションの大部分について値を選択するように要求されていることがあります。DHCP マネージャの「サービスオプションの変更 (Modify Service Options)」ダイアログボックスを使用するか、in.dhcpd コマンドでオプションを指定して、サービスオプションを変更できます。

次の作業マップに、サービスオプションに関する作業と、使用する手順を示します。

表 4–1 DHCP サービスオプションの変更 (作業マップ)

作業 

説明 

参照先 

ログオプションの変更 

詳細ログを使用可能または使用不可にし、DHCP トランザクションのログを使用可能または使用不可にし、syslog 機能を選択して DHCP トランザクションログに使用する

詳細 DHCP ログメッセージを生成する方法 (DHCP マネージャ)

詳細 DHCP ログメッセージを生成する方法 (コマンド行)

DHCP トランザクションログを有効または無効にする方法 (DHCP マネージャ)

現在のセッションについて DHCP トランザクションログを有効または無効にする方法 (コマンド行)

DHCP トランザクションを別の syslog ファイルに記録する方法

 

 

DNS 更新オプションの変更 

ホスト名を提供するクライアント用の DNS エントリをサーバーが追加することを使用可能または使用不可にし、サーバーが DNS を更新するときに費やすことができる最大時間を決定する 

DHCP クライアント用に動的 DNS 更新を有効にする方法

重複 IP アドレス検出使用可能または使用不可 

DHCP サーバー が IP アドレスをクライアントに提供する前に IP アドレスが使用されていないことを確認することを、使用可能または使用不可にする 

DHCP サーバー性能オプションをカスタマイズする方法 (DHCP マネージャ)

DHCP サーバー性能オプションをカスタマイズする方法 (コマンド行)

DHCP サーバーの構成情報の読み込みに関するオプションの変更 

指定された間隔での dhcptab の読み込みを使用可能または使用不可にする。また、読み込み間隔を変更する

DHCP サーバー性能オプションをカスタマイズする方法 (DHCP マネージャ)

DHCP サーバー性能オプションをカスタマイズする方法 (コマンド行)

リレーエージェントホップ数の変更 

要求が DHCP デーモンによってドロップされるまでに、移動することができるネットワーク数を増減する 

DHCP サーバー性能オプションをカスタマイズする方法 (DHCP マネージャ)

DHCP サーバー性能オプションをカスタマイズする方法 (コマンド行)

提供される IP アドレスがキャッシュされている時間の変更 

新しいクライアントに IP アドレスを提供する前に DHCP サービスが提供された IP アドレスを予約する秒数を増減する 

DHCP サーバー性能オプションをカスタマイズする方法 (DHCP マネージャ)

DHCP サーバー性能オプションをカスタマイズする方法 (コマンド行)

次に、DHCP マネージャの「サービスオプションの変更 (Modify Service Options)」ダイアログボックスを示します。

図 4–3 「サービスオプションの変更 (Modify Service Options)」ダイアログボックス

Graphic

DHCP ログオプションの変更

DHCP サービスは、DHCP サービスメッセージと DHCP トランザクションを syslog に記録できます。syslog についての詳細は、syslogd(1M) および syslog.conf(4) のマニュアルページを参照してください。

syslog に記録された DHCP サービスメッセージには、次のものがあります。

DHCP デーモンの詳細オプションを使用、報告される情報を増やすことができます。詳細メッセージ出力は、DHCP に関する問題の障害追跡に役立つ場合があります。詳細 DHCP ログメッセージを生成する方法 (DHCP マネージャ)を参照してください。

もう 1 つの有用な障害追跡方法は、トランザクションの記録です。トランザクションは、DHCP サーバーや BOOTP リレーとクライアントとの間のすべての交換に関する情報を提供します。DHCP トランザクションには、次のものがあります。

BOOTP リレートランザクションには、次のものがあります。

トランザクションのログは、デフォルトでは使用不可になっています。トランザクションの記録が使用可能になると、デフォルトでは local0 syslog 機能が使用されます。DHCP トランザクションメッセージは、通知の syslog 重要度で生成されるため、デフォルトでは他の通知が記録されるファイルにトランザクションが記録されます。ただし、トランザクションはローカルの機能を使用するため、syslog.conf ファイルを編集して別のログファイルを指定すると、他の通知とは別々にトランザクションメッセージを記録できます。

トランザクションの記録を使用可能または使用不可にできます。DHCP トランザクションログを有効または無効にする方法 (DHCP マネージャ)で説明しているように、0 から 7 までの異なる syslog 機能を指定できます。また、サーバーシステムの syslog.conf ファイルを編集する場合、DHCP トランザクションを別の syslog ファイルに記録する方法で説明しているように、syslogd に指示して DHCP トランザクションメッセージをファイルに保管することもできます。

詳細 DHCP ログメッセージを生成する方法 (DHCP マネージャ)

  1. 「サービス (Service)」メニューから「変更 (Modify)」を選択します。

  2. 「詳細ログメッセージ (Verbose Log Messages)」を選択します。

  3. 「サーバーの再起動 (Restart Server)」が選択されていない場合は、選択します。

  4. 「了解 (OK)」をクリックします。

    このセッション以降、このオプションを再設定するまで、デーモンは詳細モードで動作します。メッセージを表示するのに時間がかかるため、詳細モードでは、デーモンの効率が低下する場合があります。

詳細 DHCP ログメッセージを生成する方法 (コマンド行)

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

  2. 次のコマンドを入力して、DHCP デーモンを停止してから、詳細モードで再起動します。


    # /etc/init.d/dhcp stop
    # /usr/lib/inet/in.dhcpd -v options
    

    options には、デーモンを起動するために通常使用するオプションを指定します。

    デーモンは、このセッションについて詳細モードで実行されます。

    メッセージを表示するのに時間がかかるため、詳細モードではデーモンの効率が低下する場合があります。

DHCP トランザクションログを有効または無効にする方法 (DHCP マネージャ)

この手順では、すべての DHCP サーバーセッションに関するトランザクションログを有効または無効にします。

  1. 「サービス (Service)」メニューから「変更 (Modify)」を選択します。

  2. 「syslog へのログトランザクション (Log Transactions to Syslog Facility)」を選択します。

    トランザクションの記録を無効にするには、このオプションの選択を解除します。

  3. (省略可能) ローカル機能を 0 から 7 まで選択して、トランザクションログに使用します。

    デフォルトでは、DHCP トランザクションは、システム通知が記録される場所へ記録されます。この場所は syslogd の構成によって決まります。DHCP トランザクションを他のシステム通知とは別の場所に記録したい場合は、DHCP トランザクションを別の syslog ファイルに記録する方法を参照してください。

    トランザクションログを有効にすると、メッセージファイルのサイズは急速に大きくなります。

  4. 「サーバーの再起動 (Restart Server)」が選択されていない場合は、選択します。

  5. 「了解 (OK)」をクリックします。

    このセッション以降、このダイアログボックスで無効にするまで、デーモンは選択された syslog 機能にトランザクションを記録します。

現在のセッションについて DHCP トランザクションログを有効または無効にする方法 (コマンド行)

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

  2. 現在のセッションについてログを有効にするには、次のコマンドを入力します。


    # /etc/init.d/dhcp stop
    # /usr/lib/inet/in.dhcpd -l syslog-local-facility
    

    syslog-local-facility には、0 から 7 までの数字を指定します。このオプションを省略すると、デフォルトで 0 が使用されます。DHCP トランザクションログを有効または無効にする方法 (DHCP マネージャ)を参照してください。


    注 –

    トランザクションログを使用にするには、in.dhcpd 起動時に -l オプションを省略します。


    デフォルトでは、DHCP トランザクションは、システム通知が記録される場所へ記録されます。この場所は syslogd の構成によって決まります。DHCP トランザクションを他のシステム通知とは別の場所に記録したい場合は、DHCP トランザクションを別の syslog ファイルに記録する方法を参照してください。

    トランザクションログを有効にすると、メッセージファイルのサイズは急速に大きくなります。

DHCP トランザクションを別の syslog ファイルに記録する方法

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

  2. サーバーシステムの /etc/syslog.conf ファイルを編集し、次の書式の行を追加します。


    localn.notice     path-to-logfile
    

    n にはトランザクションログ用に指定した syslog 機能番号を指定します。path-to-logfile には、トランザクションを記録するファイルへの絶対パスを指定します。

    たとえば、次のような行を追加できます。

    local0.notice /var/log/dhcpsrvc

    syslog.conf ファイルの詳細については、syslog.conf(4) のマニュアルページを参照してください。

DHCP サーバーによる動的 DNS 更新の有効化

DHCP クライアントにリースされた IP アドレスにホスト名がマップされているとき、ホスト名を供給するように DHCP サーバーを構成している場合は、DHCP サーバーは割り当てられている名前をクライアントに通知します。DHCP クライアントが独自のホスト名を供給するように DHCP サーバーを構成している場合は、DHCP サーバーは DHCP クライアントの代わりに DNS 更新を行います。

DNS はインターネット用に基本的なネームサービスを提供します。DNS 更新が行われると、他のシステムは DHCP クライアントシステムを名前で参照できます。

自身のホスト名を供給する DHCP クライアントのホスト名で DNS サービスを更新するように DHCP サービスを構成できます。 システム名が DNS で登録されているとき、システムはドメインの外からも見えます。DNS 更新機能を有効にするには、DNS サーバー、DHCP サーバー、および DHCP クライアントをすべて正しく設定する必要があります。要求された名前は、ドメイン内にある他のシステムが使用していてはいけません。

DHCP サーバーの DNS 更新機能が動作するのは、次の条件がすべて真であるときです。

DHCP クライアント用に動的 DNS 更新を有効にする方法


注 –

動的 DNS 更新は本来セキュリティ上のリスクであることに注意してください。

デフォルトでは、Solaris DNS デーモン (in.named) は動的更新を許可しません。 動的 DNS 更新の承認が与えられるのは、DNS サーバーシステム上にある named.conf 構成ファイルの適切なゾーン内において、allow-update キーワードに要求したホストの IP アドレスが割り当てられている場合です。他のセキュリティは提供されません。動的 DNS 更新を有効にするときには、この機能のユーザーに対する便利さとセキュリティリスクのバランスを注意深く考慮する必要があります。


  1. DNS サーバーで、スーパーユーザーとして /etc/named.conf ファイルを編集します。

  2. 適切なドメインの zone セクションを見つけて、allow-update キーワードに DHCP サーバーの IP アドレスを追加します。

    たとえば、DHCP サーバーのアドレスが 10.0.0.1 と 10.0.0.2 である場合、dhcp.domain.com ゾーン用の named.conf ファイルを次のように変更します。


    zone "dhcp.domain.com" in {
                 type master;
                 file "db.dhcp";
                 allow-update { 10.0.0.1; 10.0.0.2; };
    };
     
    zone "10.IN-ADDR.ARPA" in {
                 type master;
                 file "db.10";
                 allow-update { 10.0.0.1; 10.0.0.2; };
    };

    DHCP サーバーが A と PTR の両方のレコードを更新できるように、両方のゾーンの allow-update を有効にする必要があります。

  3. DHCP サーバー上で、DHCP マネージャを起動します。

  4. 「サービス (Service)」メニューから「変更 (Modify)」を選択します。

    「サービスオプションの変更 (Modify Service Options)」ダイアログボックスが開きます。

  5. 「クライアント要求により DNS ホスト情報を更新 (Update DNS Host Information Upon Client Request)」を選択します。

  6. DNS サーバーからの応答を待ち、時間切れになるまでの秒数を指定し、「了解 (OK)」をクリックします。

    通常はデフォルト値です。時間切れに関する問題が発生した場合は、後でこの値を増やすことも可能です。

  7. 「マクロ (Macros)」タブをクリックして、正しい DNS ドメインが指定されていることを確認します。

    DNSdmain オプションを渡すには、動的 DNS 更新のサポートを期待するクライアントへの正しいドメイン名と共に指定する必要があります。 デフォルトでは、DNSdmain がサーバーマクロ中に指定されています。この値は、各 IP アドレス構成マクロとして使用されます。

  8. DHCP サービスを要求するときにそのホスト名を指定するように DHCP クライアントを設定します。

    Solaris DHCP クライアントを使用する場合は、特定のホスト名に応答するように Solaris クライアントを有効にする方法を参照してください。Solaris DHCP クライアント以外のクライアントを使用する場合は、その DHCP クライアントのマニュアルを参照してください。

特定のホスト名に応答するように Solaris クライアントを有効にする方法

  1. クライアントシステム上で、スーパーユーザーとして /etc/default/dhcpagent ファイルを編集します。

  2. /etc/default/dhcpagent ファイルでキーワード REQUEST_HOSTNAME を見つけて、次のように変更します。


    REQUEST_HOSTNAME=yes

    キーワードの前にコメント記号 (#) がある場合は、コメント記号を削除します。 キーワードがない場合は、キーワードを挿入します。

  3. クライアントシステム上で /etc/hostname.interface ファイルを編集して、次の行を追加します。

    inet hostname
    

    hostname には、使用したいクライアントの名前を指定します。

  4. スーパーユーザーとして次のコマンドを入力します。すると、クライアントは再起動時に完全な DHCP ネゴシエーションを実行します。


    # pkill dhcpagent
    # rm /etc/dhcp/interface.dhc
    # reboot
    

    DHCP サーバーは、ホスト名をクライアントに割り当てる前に、そのホスト名がネットワーク上にある別のシステムによって使用されていないことを確認します。 構成によって異なりますが、DHCP サーバーはネームサービスをクライアントのホスト名に更新することもあります。

DHCP サービスの性能オプションのカスタマイズ

DHCP サービスの性能に影響するオプションを変更することができます。これらのオプションについて、表 4–2 で説明します。

表 4–2 DHCP サービスの性能に影響するオプション

サーバーオプション 

説明 

/etc/inet/dhcpsvc.conf 内のエントリ

BOOTP リレーエージェントホップ数 

一定数以上の BOOTP リレーエージェントを通過すると、その要求はドロップされます。デフォルトのリレーエージェントホップの最大数は、4 つです。要求が複数のリレーエージェントを通過してから DHCP サーバーに到達するようにネットワークを設定していない限り、この 4 という数を超えることはありません。

RELAY_HOPS=integer

提供前の IP アドレスの利用可能性の確認 

サーバーはデフォルトで、IP アドレスをクライアントに提供する前に、そのアドレスがまだ使用されていないことを確認します。この機能を使用不可にして、提供にかかる時間を減少させることができますが、IP アドレスを重複して使用する危険が発生します。

ICMP_VERIFY=TRUE/FALSE

指定された間隔での dhcptab の自動読み込み

指定した間隔で dhcptab を自動的に読み込むようにサーバーを設定することができます。ネットワークの構成情報を頻繁に変更せず、複数の DHCP サーバーを持っていない場合は、dhcptab を自動的に再読み込みする必要はありません。また、DHCP マネージャには、データ変更後にサーバーに dhcptab を再読み込みさせるようにするオプションもあります。

RESCAN_INTERVAL=min

提供された IP アドレスを予約する時間の長さ 

サーバーは、IP アドレスをクライアントに提供した後、そのキャッシュに書き込みます。キャッシュに書き込まれている間、サーバーはそのアドレスを再び提供することはしません。提供した IP アドレスがキャッシュに書き込まれている秒数を変更することができます。デフォルトは 10 秒です。低速のネットワークでは、このキャッシュ時間を延長する必要があります。

OFFER_CACHE_TIMEOUT=sec

次の手順では、これらのオプションを変更する方法を説明します。

DHCP サーバー性能オプションをカスタマイズする方法 (DHCP マネージャ)

  1. 「サービス (Service)」メニューから「変更 (Modify)」を選択します。

  2. 要求が通過できる BOOTP リレーエージェントの数を変更するには、異なるリレーエージェントホップの最大数を指定します。

  3. IP アドレスが使用されていないことを DHCP サーバーで確認してからクライアントにそのアドレスを提供するようにするには、「重複 IP アドレスの検出 (Detect Duplicate IP Addresses)」を選択します。

  4. 指定された間隔で DHCP サーバーに dhcptab を読み込ませるには、「dhcptab を読み周期 (Reload dhcptab Every n Minutes)」を選択して、その間隔を分数で入力します。

  5. サーバーが IP アドレスを提供した後にそのアドレスを予約しておく期間を変更するには、「キャッシュの更新 (Cache Offers for n Seconds)」フィールドに秒数を入力します。

  6. 「サーバーの再起動 (Restart Server)」が選択されていない場合は、選択します。

  7. 「了解 (OK)」をクリックします。

DHCP サーバー性能オプションをカスタマイズする方法 (コマンド行)

この手順でオプションを変更する場合、変更されたオプションが影響するのは現在のサーバーセッションだけです。 DHCP サーバーシステムを再起動すると、DHCP サーバーは、サーバー構成中に指定された設定を使用して起動します。この設定を将来のセッションにも適用したい場合は、DHCP マネージャを使用してオプションを変更する必要があります。

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

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


    # /etc/init.d/dhcp stop
    # /usr/lib/inet/in.dhcpd options
    

    この場合、options は次のようになります。

    -h relay-hops

    デーモンが DHCP または BOOTP のデータグラムをドロップする前に発生することができるリレーエージェントホップの最大数を指定する 

    -n

    重複 IP アドレスの自動検出を使用不可にする。この設定は推奨されない 

    -t dhcptab_rescan_interval

    DHCP サーバーが dhcptab 情報を自動的に読み込み直す間隔を分で指定する

    -o seconds

    DHCP サーバーが DHCP クライアントを検索するために提供した IP アドレスをキャッシュに書き込んでおく秒数を指定する。デフォルトは 10 秒 

    たとえば次のコマンドは、ホップ数を 2 に設定し、重複 IP アドレスの検出を使用不可にし、自動再読み込み間隔を 30 秒に設定し、キャッシュ時間を 20 秒にしています。

    # /usr/lib/inet/in.dhcp -h 2 -n -t 30 -o 20