Linux
dhcpd
isc-dhcp-server
dhcpd.conf
More than 1 year has passed since last update.

/etc/dhcp/dhcpd.conf の和訳。

Debian 用 ISC dhcpd 設定ファイルのサンプル。

Note:
/etc/ltsp/dhcpd.conf が存在する場合、
/etc/dhcp/dhcpd.conf の代わりに
/etc/ltsp/dhcpd.conf が設定ファイルとして使用される。

ddns-update-style

ddns-update-style none;

ddns-updates-style パラメータは、リース確認の際に
サーバが DNS の更新を試行するかどうかを制御する。
(DHCP v2 では DDNS がサポートされていなかった為、 none が)
バージョン 2 パッケージでは既定の動作となっている。

ネットワーク全体の共通設定

サポートされる全ネットワークで共通使用する任意の設定。

option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

authoritative

authoritative;

DHCP サーバがローカルネットワークの公的な DHCP サーバである場合、
authoritative ディレクティブのコメントを解除すること。

log-facility

log-facility local7;

dhcp ログメッセージを異なるログファイルへ送信する。
(リダイレクトを完了するためには、 syslog.conf を編集する必要がある)

subnet

いかなるサービスもこのサブネットへは割り当てされないが、
DHCP サーバがネットワークトポロジを理解する補助となる。

subnet 10.152.187.0 netmask 255.255.255.0 {
}

これは最も基本的なサブネットの宣言である。

subnet 10.254.239.0 netmask 255.255.255.224 {
  range 10.254.239.10 10.254.239.20;
  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
}

この宣言は BOOTP クライアントへ動的にアドレスを取得することを許可する。 (非推奨)

subnet 10.254.239.32 netmask 255.255.255.224 {
  range dynamic-bootp 10.254.239.40 10.254.239.60;
  option broadcast-address 10.254.239.31;
  option routers rtr-239-32-1.example.org;
}

少し異なる内部サブネットの設定

subnet 10.5.5.0 netmask 255.255.255.224 {
  range 10.5.5.26 10.5.5.30;
  option domain-name-servers ns1.internal.example.org;
  option domain-name "internal.example.org";
  option routers 10.5.5.1;
  option broadcast-address 10.5.5.31;
  default-lease-time 600;
  max-lease-time 7200;
}

host

特別な設定オプションを必要とするホストは host ステートメントへ列記することができる。
アドレスを指定しない場合、(可能であれば)アドレスは動的に割り当てされる。
ホストを特定する情報は host 宣言から提供される。

host passacaglia {
  hardware ethernet 0:0:c0:5d:bd:95;
  filename "vmunix.passacaglia";
  server-name "toccata.fugue.com";
}

修正された IP アドレスを host へ指定することができる。
修正された IP アドレスは動的な登録が可能なアドレスとして 列記するべきではない。 dynamic-bootp フラグが設定された BOOTP クライアントが接続された
サブネットのアドレス域であったとしても、
修正された IP アドレスのホストは DHCP を使用して起動される場合にのみ指定される。

host fantasia {
  hardware ethernet 08:00:07:26:c0:a5;
  fixed-address fantasia.fugue.com;
}

class

クライアントのクラスを宣言し、宣言したクラスに基づいて
アドレスの割り当てを行うことができる。
下記の例では
一定のクラス内のクライアントが 10.17.224/24 サブネットのアドレスを取得し、
他のクライアントは 10.0.29/24 サブネットのアドレスを取得する。

class "foo" {
  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}

shared-network 224-29 {
  subnet 10.17.224.0 netmask 255.255.255.0 {
    option routers rtr-224.example.org;
  }
  subnet 10.0.29.0 netmask 255.255.255.0 {
    option routers rtr-29.example.org;
  }
  pool {
    allow members of "foo";
    range 10.17.224.10 10.17.224.250;
  }
  pool {
    deny members of "foo";
    range 10.0.29.10 10.0.29.230;
  }
}