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: