〔備忘録〕 家庭内LAN用 DHCP サーバ on Ubuntu 16.04LTS
こちら(http://d.hatena.ne.jp/grasso0210/20160512/1463035817)に続いて、
DHCPサーバの設定を行います。
DNSサーバの構築目的と同様、家庭内LAN内のPC間のアクセス管理を楽にすることなので、Dynamic DNSでホスト/IP対の登録も行います。
なお、参考にした先人の知恵は以下のとおり。
- http://www.atmarkit.co.jp/ait/articles/0308/05/news001.html
- https://blog.bigdinosaur.org/running-bind9-and-isc-dhcp/
最初に、DHCP サーバをインストールします。
# apt-get install isc-dhcp-server
次に、Dynamic DNS 機能を除く DHCP 機能の設定を行います。
設定ファイルは /etc/dhcp/dhcpd.conf です。
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;subnet 192.168.***.0 netmask 255.255.255.0 {
range 192.168.***.128 192.168.***.143;
option routers 192.168.***.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.***.100;
option domain-name "local.******.mydns.jp";# static assign
host sv {
hardware ethernet XX.XX.XX.XX.XX.XX;
fixed-address 192.168.***.100;
}
}
上記のコメント "# static assign" 以降の行は、MAC アドレスによる静的割り当ての設定です。
サーバ類に対しては、固定アドレスを割り当てるためです。
設定ファイルの記載が完了したら、DHCP サーバを再起動し、自動割り当てが正常動作することを確認します。
# /etc/init.d/isc-dhcp-server restart
次に、Dynamic DNS の設定です。
まず、Bind の設定を修正します。
ローカルゾーンの設定ファイルに以下を追記(青字で記載)します。
key "secret-key" {
algorithm hmac-md5;
secret "XXXXXXXXXXXXXXXXXXXXX==";
};
zone "local.******.mydns.jp" {
type master;
forwarders {};
file "/var/lib/bind/db.local.******.mydns.jp";
allow-update { key secret-key; };
};
zone "***.168.192.in-addr.arpa" {
type master;
forwarders {};
file "/var/lib/bind/db.192.168.***";
allow-update { key secret-key; };
};
冒頭の "key" ブロックは dnssec-genkey コマンドで生成した共通鍵を転記しました。
keyブロックは include ディレクティブによる追加でも良さそうです。
次に、DHCP の設定を修正します。青字が追記/変更部分です。
ddns-update-style interim;
authoritative;
ddns-updates on;
key "secret-key" {
algorithm hmac-md5;
secret "XXXXXXXXXXXXXXXXXXXXX==";
};
zone local.grasso.mydns.jp. {
primary 192.168.***.100;
key secret-key;
}
zone 210.168.192.in-addr.arpa. {
primary 192.168.***.100;
key secret-key;
}
update-static-leases on;
use-host-decl-names on;default-lease-time 600;
max-lease-time 7200;subnet 192.168.***.0 netmask 255.255.255.0 {
range 192.168.***.128 192.168.***.143;
option routers 192.168.***.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.***.100;
option domain-name "local.******.mydns.jp";
ddns-domainname "local.******.mydns.jp";
ddns-rev-domainname "in-addr.arpa.";# static assign
host sv {
hardware ethernet XX.XX.XX.XX.XX.XX;
fixed-address 192.168.***.100;
}
}
keyブロックはDNSのそれと同じものを転記します。
include ディレクティブで代用しようとしたのですが、keyファイルに対する"Permission Denied"エラーが解決できなかったので give up してしまいました f(^^;;;
# https://spin.atomicobject.com/2012/04/03/setting-up-bind9-and-dhcp3-on-ubuntu-with-dynamic-dns/を参考に記載したのですが、うまくいかなかった…
DHCP, DNS サーバをそれぞれ再起動して、DHCP による割り当てとともに、DNS Query ができることを確認したら終わりです。
# /etc/init.d/isc-dhcp-server restart
# /etc/init.d/bind9 restart