FreeBSD でDHCP サーバ

Dynamic Host Configuration Protocol(DHCP)とは、コンピュータがネットワーク接続する際に必要な情報(当該ネットワーク接続に必要なIPアドレスやデフォルトルート等の設定を指します)を自動的に割り当てるプロトコルのことをいう。 DHCPを使う事でネットワーク接続の設定をせずに誰でも簡単にネットワークに参加出来るようになります。

インストール

FreeBSDなのでportなどでinstall出来ます。

# portinstall isc-dhcp41-server

設定

/usr/local/etc/dhcp.conf

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
option domain-name "example.com";
option domain-name-servers 192.168.0.10;
option routers 192.168.0.10;

default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
log-facility local7;

# This is a very basic subnet declaration.

subnet 192.168.0.0 netmask 255.255.255.0 {
 range 192.168.0.100 192.168.0.140;
 option routers 192.168.0.10;
}

host fixed1 {
 hardware ethernet 0:0:F4:5E:27:E4;
 server-name "fixed1.example.com";
 fixed-address 192.168.0.20;
}

上記設定では 192.168.0.0/24 ネットワークアドレス内の 192.168.0.100 - 140 の範囲でアドレスを貸し出します。 その際デフォルトルート及びネームサーバのアドレスとして 192.168.0.10 も自動的に設定されます。

主なオプション詳細

  • option routers ルータのIPアドレス
  • option subnet-mask サブネットマスク値
  • option domain-name ドメイン名
  • option domain-name-servers DNSサーバのアドレス
  • option ntp-servers NTPサーバがあれば、NTPサーバのアドレス
  • option netbios-name-servers WINSサーバアドレス
  • default-lease-time 貸し出したIPアドレスの期限(秒数)を指定する。クライアントからのDHCP要求がない場合ここで指定した時間を超えると自動的にIPアドレスは解放される。
  • max-lease-time IPアドレスの最大の貸し出し時間(秒数)を指定します。指定した時間以上はIPアドレスを貸し出しません。デフォルトでは43200秒(12時間)となっています。

自動起動設定

/etc/rc.conf

dhcpd_enable="YES"

DHCP 起動・停止・状態

# /usr/local/etc/rc.d/isc-dhcpd start
# /usr/local/etc/rc.d/isc-dhcpd stop
# /usr/local/etc/rc.d/isc-dhcpd status

特定のIPアドレスを割り当てる

ホストマシンのMACアドレスによって固定したIPアドレスを貸し出すことも可能です。 例えば各種サーバマシンなど固定されたアドレスが必要な場合に利用します。 DHCPで特定のIPアドレスを割り当てるには、以下のようにします。

物理アドレス 9c:8e:99:7b:13:0c を持つNICに対して 192.168.0.150 を常に割り当てます。

host FixedHost_a {
    hardware ethernet 9c:8e:99:7b:13:0c;
    fixed-address 192.168.0.150;
}
created:

Back to top