パソコン実習室
DHCPサーバ (dhcpd-3.0) の設定
≪ previous next ≫

U.dhcpd.conf の記述様式

 dhcpd の動作を制御する dhcpd.conf は様々なステートメント(宣言文、パラメータ、オプション)で構成される。 ステートメントの記述に関する書式は次のように決められている。

U.1.dhcpd.conf の書式

  • 自由形式の ASCII テキストファイルであり、キーワードの大文字小文字は区別されない。
  • テキストは宣言文、パラメータ、オプションから成り、上から下へ解釈される。
    • 宣言文
      ネットワークの形態や個々のクライアントを指定する。 また複数のパラメータをグループ化する(一つにまとめる)のに用いる。
      shared-network, subnet, range, host 等
    • パラメータ
      クライアントに対するサーバーの動作や条件を記述する。
      default-lease-time, max-lease-time, hardware, fixed-address 等
    • オプション
      パラメータの一種で、クライアントに付与する様々なデータを設定する。 オプション名とオプションデータで構成される。
      option routers ip-address, option subnet-mask ip-address 等
  • ステートメントの末尾にはセミコロン( ; )を記述する。
  • ある宣言文が依存するパラメータ文は、その宣言文より前に存在しなければならない。
  • 大括弧{ }内のステートメント(宣言文、パラメータ、オプション)は該当カッコ内のみで有効であり、大括弧外のステートメントの有効範囲は文書全体(再設定された場合は別)である。
  • サービスを受けるサブネットや、dhcp サーバーが接続するサブネットには、すべて subnet 宣言が必要。
  • 一つの物理的なネットワーク上で2つ以上のサブネットが存在する場合は、それぞれの subnet 宣言を shared-network 宣言で囲う。
  • コメントはファイルのどこにでも記述可能(クォートの内部を除く)で、次の記号(形式)がコメントと解釈される。
    • # から行末まで
    • // から行末まで
    • /* と */ に挟まれた区間

U.2.主な宣言文

 dhcpd.conf で使われる主な宣言文は次の通り。

U.2.1.ddns-update-style

 DHCP 処理を行ったクライアント情報(IP アドレス・ホスト名等)の、( DNS サーバーが管理する)ゾーンデータ更新スタイルを指定する。

ddns-update-style style;
  • この宣言文は必須である。
  • style には次の値を指定する。
    • interim
      dhcpd は DHCP 処理を行った際、DNS サーバーへゾーンデータ更新要求( A / TXT / PTR レコードの登録・削除)を送信する。
      ゾーンデータ更新を実施するには DNS サーバーの指定と DNS サーバー側の対応が必要である。 (詳細は『DynamicDNSの設定』参照)
    • none
      ゾーンデータの更新を行わない。( DNS サーバーへ更新要求を送信しない)
    • ad-hoc
      dhcpd の旧バージョンとの互換性が必要な場合に使用する。
      ad-hoc でも DNS の更新は実行されるが、互換性を必要としない場合は interim を使用する。

U.2.2.client-updates

 クライアントの DHCP 要求パケット内のホスト名が FQDN 形式だった場合に、DNS サーバー更新動作におけるドメイン名の扱いを指定する。

ignore|allow client-updates;
  • ignore (ドメイン名無視)、と allow (ドメイン名有効)の違いは次の通り。
    • ignore client-updates
      FQDN からホスト名のみを抜き出し、自ドメインのネーム サーバーに DNS 更新要求を送る。 ( FQDN が他ドメインであっても自ドメインとして処理する)
    • allow client-updates
      FQDN からドメイン名を識別し、該当ドメインのネーム サーバーに DNS 更新要求を送る。
  • 本設定は ddns-update-style が "none" の場合は意味がなくなる。

U.2.3.shared-network

 一つの物理的なネットワークに複数の IP サブネットが共存している場合、 それらのサブネットをまとめて1つの共有ネットワークを構成する。

shared-network name {
  [ パラメータ .... ]
  [ 宣言文 .... ]
}
  • name には共有ネットワークの名称( dhcpd の動作に影響はない。 デバッグ メッセージの出力に用いられる)を指定する。
  • 共有ネットワーク内にあるサブネット(subnet)は shared-network 文の内部で宣言する。
  • 共有ネットワークに属するサブネットに動的割り当て可能なアドレスがあると、これらのアドレスは共有ネットワーク用の場所にプールされ、必要に応じてクライアントに提供される。
  • 動的割り当てされる特定のクライアントを、どのサブネットからブートさせるかを識別する方法はない。

U.2.4.subnet

 特定 (範囲) の IP アドレスが所属しているサブネットを宣言する。

subnet subnet-number netmask mask-number {
  [ パラメータ .... ]
  [ 宣言文 .... ]
}
  • サブネット固有の各種パラメータは、その内部で指定する。
  • subnet-number
    IP アドレスか、解決可能なドメイン名を指定する。
  • mask-number
    サブネット マスク値を指定する。 すべての subnet に必須だが、サブネット マスクに複数の種類がある場合は、subnet-mask オプションを subnet 宣言内部で用いることも可能。
  • subnet で設定する subnet-number は ehternet カードに設定した IP アドレスと同じネットワークでなければならない。
    ただし、共有ネットワークの場合は、いずれか一つの subnet が ethernet カードと同一ネットワークであればよい。

U.2.5.range

 動的に割り当てる IP アドレスの範囲を設定する。

range [dynamic-bootp] low-address [high-address];
  • low-address
    割り当てアドレス範囲の最小値を設定する。
  • high-address
    割り当てアドレス範囲の最大値を設定する。
  • 割り当てアドレス範囲は、subnet で設定したネットワークの範囲を超えてはならない。
  • 動的割り当ての IP アドレスが1つだけの場合は、high-address は省略できる。
  • アドレス割り当てを DHCP クライアントと BOOTP クライアントの両方に割り当てる場合は、dynamic-bootp フラグを指定する。

U.2.6.host

 DHCP クライアントを個別に識別して設定する場合、および BOOTP クライアントが存在する場合に設定する。

host hostname {
  [ パラメータ .... ]
  [ 宣言文 .... ]
}
  • サービス対象となる BOOTP クライアントには、それぞれ host が必要。
  • 個別割り当てをしない DHCP クライアントには不要。
    ▼ BOOTP クライアント、および個別割り当ての DHCP クライアントが存在しない場合は不要。
  • クライアントごとに固有のパラメータを設定する場合は、hardwere パラメータを用いてクライアントを識別し、fixed-address パラメータ等で固有パラメータを設定する。

U.2.7.group

 サブネット、共有ネットワーク、ホスト等を1つのグループとしてまとめる。

group {
  [ パラメータ .... ]
  [ 宣言文 .... ]
}
  • 他の group を含む事ができる。


U.3.主なパラメータ

 dhcpd.conf で使われる主なパラメータは次の通り。

default-lease-time time;
  • time
    クライアントに通知する各種設定値(アドレス等)の、デフォルトの貸し出し時間を秒単位で指定する。

max-lease-time time;
  • time
    クライアントが特に期限を求めた場合の貸し出し時間を、秒単位で指定する。

hardware type address;
  • クライアントを識別するためのネットワーク インターフェースを指定する。
    • type
      下記どちらかのハードウェア タイプを指定する。
         ethernet,  token-ring
    • address
      MACアドレスを指定する。 複数設定する場合の区切りにはコロンを使う。

fixed-address address [,address …];
  • あるクライアントに対して一つまたは複数の IP アドレスを割り当てる。
  • host 宣言内部でのみ用いられる。

U.4.主なオプション

  • オプションの書式はキーワード option で開始し、単一のオプション名の後にオプション データが続く。
  • オプションは、クライアントに必要なオプションのみを記述する。
  • 表記中の ip-address には、明示的な IP アドレスまたはドメイン名を指定する。
  • ドメイン名を指定する場合、そのドメイン名を解決すると単一の IP アドレスとなる必要がある。

option subnet-mask mask-number;
  • クライアントのサブネット マスクを指定する。
  • スコープ中のどこにもサブネット マスクの指定がないと、dhcpd はサブネット宣言のサブネット マスクを使用する。

option time-offset seconds;
  • UTC (協定世界時: GMT とほぼ同じ)を基点として、クライアントのサブネットのオフセット値を秒で指定する。

option broadcast-address ip-address;
  • クライアントのサブネットで使用されているブロードキャスト アドレスを指定する。

option domain-name DomainName;
  • ドメイン ネーム システムを使用してホスト名を解決するときに、クライアントが使用すべきドメイン名を指定する。
  • この値は、ipconfig の Connection-specific DNS Suffix として設定される。

option domain-name-servers ip-address [,ip-address …];
  • クライアントが利用可能な DNS サーバーの IP アドレス リストを指定する。
  • サーバーは、優先されるものから順にリストする。
  • この値は、ipconfig の DNS Servers として設定される。

option routers ip-address [,ip-address …];
  • クライアントのサブネット上にあるルータの IP アドレスのリストを指定する。
  • ルータは、優先されるものから順にリストする。
  • この値は、ipconfig の Default Gateway として設定される。

option netbios-name-servers ip-address [,ip-address …];
  • NetBIOS Name Service( WINS )サーバーの IP アドレスのリストを指定する。
  • サーバーは、優先されるものから順にリストする。

option netbios-node-type type;
  • クライアントが NBT( NetBIOS over TCP/IP )環境での名前解決を行う方法の優先順位を数値で指定する。
  • 使用可能なノードタイプは次の通り。
    • 1  Bノード : ブロードキャスト(WINSなし)
    • 2  Pノード : ピア(WINSのみ)
    • 4  Mノード : ミックス(ブロードキャスト後にWINS)
    • 8  Hノード : ハイブリッド(WINS後にブロードキャスト)

option ntp-servers ip-address [,ip-address …];
  • クライアントが利用可能な NTP サーバーの IP アドレスのリストを指定する。
  • サーバーは、優先されるものから順にリストする。

option arp-chache-timeout seconds;
  • ARP キャッシュ エントリのタイムアウト値を秒単位で指定する。




≪ previous [[ DHCPサーバ - dhcpd-3.0 の設定 ]] next ≫