Solaris のシステム管理 (IP サービス)

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

DHCP サービスの機能には、DHCP マネージャを使用した初期構成の際にはできない場合でも、あとから値を変更できるものがあります。サービスオプションを変更する場合には、DHCP マネージャの「サービスオプションの変更 (Modify Service Options)」ダイアログが使用できます。あるいは、dhcpconfig コマンドでオプションを指定することもできます。

次の表のマップでは、DHCP サービスオプションを変更するための作業について説明しています。この表には、各作業を完了するための手順へのリンクも含まれています。

作業 

説明 

説明 

ログオプションを変更します。 

ログを有効または無効にし、さらに DHCP トランザクションのログに使用する syslog 機能を選択します。

「詳細 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)」ダイアログボックスを示します。

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

ダイアログボックスには、多数のオプションフィールドやチェックボックスからなる「オプション (Options)」タブが表示されています。コンテキストには、このダイアルグボックスの目的が示されています。

DHCP ログオプションの変更

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

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

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

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

BOOTP リレートランザクションのメッセージには、次のタイプがあります。

DHCP トランザクションのログは、デフォルトでは使用不可になっています。DHCP トランザクションのログが使用可能になっていると、デフォルトで sysloglocal0 機能が使用されます。DHCP トランザクションメッセージは、syslog 重大度レベル notice (通知) で生成されます。セキュリティーレベルがこのレベルにあると、DHCP トランザクションのログは、ほかのシステム通知のログと同じファイルに書き込まれます。しかし、local 機能を使用しているため、DHCP トランザクションメッセージのログはほかのシステム通知とは別のファイルに書き込むことができます。DHCP トランザクションメッセージのログを別のファイルに書き込むには、syslog.conf ファイルを編集して、別のログファイルを指定する必要があります。syslog.conf ファイルについての詳細は、syslog.conf(4) のマニュアルページを参照してください。

DHCP トランザクションログは有効または無効にできます。さらに、異なる syslog 機能 (local0 から local7 まで) を指定できます。詳細は、「DHCP トランザクションログを有効または無効にする方法 (DHCP マネージャ)」を参照してください。サーバーシステムの syslog.conf ファイルを構成すると、syslogd が DHCP トランザクションメッセージを格納するファイルを変更できます。詳細は、「DHCP トランザクションを別の syslog ファイルに記録する方法」を参照してください。

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

  1. DHCP マネージャでは、「サービス (Service)」メニューから「変更 (Modify)」を選択する

    「DHCP マネージャを起動および停止する方法」を参照してください。

    「サービスオプションの変更 (Modify Service Options)」ダイアログボックスが開かれ、そこに「オプション (Options)」タブが表示されます。図 15–3 を参照してください。

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

  3. 「サーバーの再起動 (Restart Server)」を選択します。

    「サーバーの再起動 (Restart Server)」オプションはダイアログボックス下部にあります。

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

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

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

  1. スーパーユーザーになるか、DHCP 管理プロファイルに割り当てられている役割またはユーザー名になります。

    DHCP 管理プロファイルの詳細については、「DHCP コマンドへのユーザーアクセスの設定」を参照してください。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 次のコマンドを入力して詳細モードにします。


    # /usr/sbin/dhcpconfig -P VERBOSE=true
    

    次回の DHCP サーバーの起動からサーバーは詳細モードで実行されます (詳細モードがオフにされるまで) 。

    詳細モードをオフに設定する場合は、次のコマンドを入力します。


    # /usr/sbin/dhcpconfig -P VERBOSE=
    

    このコマンドは、VERBOSE キーワードを値なしに設定します。すると、このキーワードはサーバーの構成ファイルから削除されます。

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

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

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

  1. DHCP マネージャでは、「サービス (Service)」メニューから「変更 (Modify)」を選択する

    「DHCP マネージャを起動および停止する方法」を参照してください。

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

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

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

    デフォルトでは、DHCP トランザクションはシステム通知が書き込まれる場所に書き込まれます。システム通知が書き込まれる場所は syslogd で構成できます。DHCP トランザクションをほかのシステム通知とは別の場所に記録する場合は、「DHCP トランザクションを別の syslog ファイルに記録する方法」を参照してください。

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

  4. 「サーバーの再起動 (Restart Server)」を選択します。

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

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

ProcedureDHCP トランザクションログを有効または無効にする方法 (コマンド行)

  1. スーパーユーザーになるか、DHCP 管理プロファイルに割り当てられている役割またはユーザー名になります。

    DHCP 管理プロファイルの詳細については、「DHCP コマンドへのユーザーアクセスの設定」を参照してください。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 次の手順から 1 つを選択します。

    • DHCP トランザクションログを使用可能にする場合は、次のコマンドを入力します。


      # /usr/sbin/dhcpconfig -P LOGGING_FACILITY=syslog-local-facility
      

      syslog-local-facility は 0 - 7 の数字です。このオプションを省略すると、0 が使用されます。

      デフォルトでは、DHCP トランザクションはシステム通知が書き込まれる場所に書き込まれます。システム通知が書き込まれる場所は syslogd で構成できます。DHCP トランザクションをほかのシステム通知とは別の場所に記録する場合は、「DHCP トランザクションを別の syslog ファイルに記録する方法」を参照してください。

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

    • DHCP トランザクションログを使用不可にする場合は、次のコマンドを入力します。


      # /usr/sbin/dhcpconfig -P LOGGING_FACILITY=
      

      パラメータの値を指定しません。

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

  1. DHCP サーバーシステムでスーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

    DHCP 管理プロファイルに割り当てられている役割が、この作業の実施に十分であるとは限りません。この役割には、syslog ファイルを編集する権限が必要です。

  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 更新の有効化

DNS はインターネット用にネームサービスを提供します。DNS マッピングが行われていれば、ホスト名からでも IP アドレスからでもシステムにアクセスできます。さらに、このシステムにはドメインの外からでもアクセスできます。

DHCP サービスでは、DNS を 2 つの方法で使用できます。

自身のホスト名を供給する DHCP クライアントのために DNS サービスを更新するように DHCP サービスを構成できます。DNS 更新機能が正しく働くためには、DNS サーバー、DHCP サーバー、DHCP クライアントがどれも正しく設定されていなければなりません。さらに、要求されたホスト名が、ドメインのほかのシステムによって使用されているものではなりません。

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

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


注 –

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

デフォルトでは、Oracle Solaris DNS デーモン (in.named) は動的更新を許可しません。動的 DNS 更新を行う権限は、DNS サーバーシステムの named.conf 構成ファイルで与えられます。ほかのセキュリティーは提供されません。動的 DNS 更新を有効にするときには、この機能のユーザーに対する便利さとセキュリティーリスクのバランスを注意深く考慮する必要があります。


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

  2. named.conf ファイルで、適切なドメインの zone セクションを見つけます。

  3. DHCP サーバーの IP アドレスを allow-update キーワードに追加します。

    allow-update キーワードが存在しない場合は、このキーワードを挿入します。

    たとえば、DHCP サーバーのアドレスが 10.0.0.110.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 の両方のレコードを DNS サーバー上で更新できるように、両方のゾーンの allow-update を有効にする必要があります。

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


    # /usr/sadm/admin/bin/dhcpmgr &
    

    詳細は、「DHCP マネージャを起動および停止する方法」を参照してください。

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

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

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

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

    通常は、デフォルト値として 15 秒を指定すれば十分です。時間切れに関する問題が発生した場合は、あとでこの値を増やすことも可能です。

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

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

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

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

クライアントホスト名の登録

DHCP サービスで使用する IP アドレスのホスト名を DHCP サーバーが生成するようにすると、DHCP サーバーがこれらのホスト名を NIS+、/etc/inet/hosts、または DNS ネームサービスに登録できます。ホスト名の登録を NIS で行うことはできません。NIS には、NIS マップの更新や伝達をプログラムで行うためのプロトコルが備わっていないからです。


注 –

DNS サーバーと DHCP サーバーが同じシステムで動作している場合のみ、DHCP サーバーは、生成したホスト名を DNS に登録できます。


DHCP クライアントがそのホスト名を指定し、DHCP サーバーが動的に更新できるよう DNS サーバーが構成されている場合には、DHCP サーバーがクライアントに代わってDNS を更新できます。動的更新は、DNS サーバーとDHCP サーバーが異なるシステムで動作している場合でも行われます。この機能を有効にする方法については、「DHCP サーバーによる動的 DNS 更新の有効化」を参照してください。

次の表に、さまざまなネームサービスによる DHCP クライアントシステムのホスト名の登録を要約します。

表 15–2 ネームサービスへのクライアントホスト名の登録
 

ホスト名を登録する人または物 

ネームサービス 

DHCP が生成したホスト名 

DHCP クライアントが指定したホスト名 

NIS 

NIS 管理者 

NIS 管理者 

NIS+ 

DHCP ツール 

DHCP ツール 

/etc/inet/hosts

DHCP ツール 

DHCP ツール 

DNS 

DHCP ツール (DNS サーバーが DHCP サーバーと同じシステムで動作している場合) 

DNS 管理者 (DNS サーバーが異なるシステムで動作している場合) 

DHCP サーバー (動的 DNS 更新が可能として構成されている場合) 

DNS 管理者 (動的 DNS 更新が可能として DHCP サーバーが構成されていない場合) 

DHCP クライアントが DHCP 要求で特定のホスト名を指定する構成になっている場合、Oracle Solaris DHCP クライアントは、DHCP 要求で特定のホスト名を指定できます (「特定のホスト名を要求するように Oracle Solaris DHCPv4 クライアントを有効にする方法」を参照)。ほかの DHCP クライアントでこの機能がサポートされているかどうかについては、それぞれのベンダーのマニュアルを参照してください。

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

DHCP サーバーの性能に影響するオプションを変更できます。これらのオプションについて、次の表で説明します。

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

サーバーオプション 

説明 

キーワード 

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

一定数以上の BOOTP リレーエージェントを通過すると、その要求はドロップされます。デフォルトのリレーエージェントホップ数の最大は 4 です。ほとんどのネットワークは、この数で十分なはずです。DHCP 要求が DHCP サーバーに到達するまでにいくつかの BOOTP リレーエージェントを通過する場合は、ネットワークで 4 つ以上のホップが必要になることがあります。

RELAY_HOPS=integer

重複したアドレスを検出する 

デフォルトでは、サーバーは IP アドレスをクライアントに提供する前にこのアドレスに ping します。ping に対する応答がなければ、このアドレスはまだ使用されていません。この機能を無効にすることによって、サーバーがクライアントにアドレスを提供するまでの時間を短縮できます。ただし、この機能を無効にすると、重複した IP アドレスを使用する危険があります。

ICMP_VERIFY=TRUE/FALSE

指定された間隔で dhcptab を自動的に再読み込む

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

RESCAN_INTERVAL=min

指定された時間、提供された IP アドレスをキャッシュする 

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

OFFER_CACHE_TIMEOUT=sec

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

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

  1. DHCP マネージャでは、「サービス (Service)」メニューから「変更 (Modify)」を選択する

    「DHCP マネージャを起動および停止する方法」を参照してください。

  2. 必要なオプションを変更します。

    オプションについては、表 15–3 を参照してください。

  3. 「サーバーの再起動 (Restart Server)」を選択します。

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

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

この手順で変更したオプションは、DHCP サーバーを再起動するまで有効にはなりません。

  1. スーパーユーザーになるか、DHCP 管理プロファイルに割り当てられている役割またはユーザー名になります。

    DHCP 管理プロファイルの詳細については、「DHCP コマンドへのユーザーアクセスの設定」を参照してください。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 1 つまたは複数の性能オプションを変更します。


    # /usr/sbin/dhcpconfig -P keyword=value,keyword=value...
    

    keyword=value には、次のキーワードが使用できます。

    RELAY_HOPS=integer

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

    ICMP_VERIFY=TRUE/FALSE

    重複 IP アドレスの自動検出を有効または無効にします。このキーワードに FALSE を設定することはお勧めできません。

    RESCAN_INTERVAL=minutes

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

    OFFER_CACHE_TIMEOUT=seconds

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


例 15–1 DHCP 性能オプションの設定

次に、すべてのコマンドオプションを指定する方法の例を示します。


# dhcpconfig -P RELAY_HOPS=2,ICMP_VERIFY=TRUE,\
RESCAN_INTERVAL=30,OFFER_CACHE_TIMEOUT=20