BIND と DHCP で Dynamic DNS (DDNS) ---------------------------------------------------------------------- メニュー ・作業環境 ・BIND のインストールと設定 インストール BIND プロセスを起動するユーザーの変更 rndc の設定 DDNS 関連の設定 ・DHCP のインストールと設定 インストール dhcpd.conf の設定 ・動作 ・応用 ---------------------------------------------------------------------- ■作業環境 FreeBSD BIND 9.2.0(src->make) ISC DHCP3-3.0.r11(sysinstall->package) ---------------------------------------------------------------------- ●BIND のインストールと設定 ▼インストール  http://www.isc.org/products/BIND/bind9.html  こっから source code を拾ってきて、  適当な場所(/src 以下とか)に展開して、  ./configure -> make -> make install  (make test は結果が良いのか悪いのかよく分からん) ▼BIND プロセスを起動するユーザーの変更  BIND がインストールされた時点で user と group に bind というのが作成されている。  セキュリティ上 BIND はこの user で起動する事にする。  (BIND が乗っ取られてもすぐに root を取られないようにする為)  ・/etc/namedb のオーナーの変更   # chown -R bind:bind /etc/namedb  ・named の引数で起動するユーザーを指定する。   #/usr/local/sbin/named -u bind -c /etc/namedb/named.conf     rc.conf に記述する場合は以下のように   # named   named_enable="YES"   named_program="/usr/local/sbin/named"   named_flags="-u bind -c /etc/namedb/named.conf" ▼rndc の設定  ・rndc 用の鍵の作成   # dnssec-keygen -r /dev/urandom -a HMAC-MD5 -b 512 -n USER rndc   カレントディレクトリに    Krndc.+157+04353.key    Krndc.+157+04353.private   といったファイルが作成される。(共有鍵暗号方式用みたい)      ※中に書かれている鍵は基本的に同じ。    たまにどっちかの鍵内に ' ' スペースが入っている事がある。      ※ちなみに MD5 以外を選択すると    dnssec-keygen: failed to generate key rndc/DSA: built with no crypto support    とか言われて作成できず。  ・rndc.conf の作成   Krndc.+157+04353.key の中身はこんな感じ    rndc. IN KEY 0 2 157 FlEOwC/IR/PshY5OlVKk3U6QQq/zLGQ511qOvUPhyBB1rzfG8uIJqS/nC80QiglPH9usVM1Zen3H9B6GmKLPLg==   "rndc. IN KEY 0 2 157 "より後ろの部分が実際の鍵なのでこれを登録する。   # vi /etc/rndc.conf 〜〜〜〜〜〜〜〜〜〜 ここからファイルの中身 〜〜 options { default-server localhost; default-key RNDC_KEY; }; server localhost{ key RNDC_KEY; }; Key RNDC_KEY { algorithm "hmac-md5"; secret "FlEOwC/IR/PshY5OlVKk3U6QQq/zLGQ511qOvUPhyBB1rzfG8uIJqS/nC80QiglPH9usVM1Zen3H9B6GmKLPLg=="; }; 〜〜〜〜〜〜〜〜〜〜 ここまでファイルの中身 〜〜  ・named.conf の修正   下記設定を付け足す。 〜〜〜〜〜〜〜〜〜〜 ここからファイルの中身 〜〜 controls { inet ::1 allow { ::1; } keys { RNDC_KEY; }; inet 127.0.0.1 allow { 127.0.0.1; } keys { RNDC_KEY; }; }; //Krndc.+157+04353.key key RNDC_KEY { algorithm "hmac-md5"; secret "FlEOwC/IR/PshY5OlVKk3U6QQq/zLGQ511qOvUPhyBB1rzfG8uIJqS/nC80QiglPH9usVM1Zen3H9B6GmKLPLg=="; };  〜〜〜〜〜〜〜〜〜〜 ここまでファイルの中身 〜〜 ▼DDNS 関連の設定  ・DDNS 用の鍵を作成する。   # dnssec-keygen -r /dev/urandom -a HMAC-MD5 -b 512 -n USER dhcp_update.alma.jp   カレントディレクトリに    Kdhcp_update.alma.jp.+157+27110.key    Kdhcp_update.alma.jp.+157+27110.private   といったファイルが作成される。(共有鍵暗号方式用みたい)  ・named.conf の修正   下記設定を付け足す。 〜〜〜〜〜〜〜〜〜〜 ここからファイルの中身 〜〜 options { ・ ・ auth-nxdomain yes; pid-file "/etc/namedb/run/named.pid"; }; //Kdhcp_update.alma.jp.+157+27110.key key DHCP_UPDATE_KEY.ALMA.JP { algorithm "hmac-md5"; secret "Y6ilUMO0jVUJFHiU00+3h5dhD5MGSKUKlVI/sq1r/Efbab2wFm+7dx1X K5XgGAdvdgMo/8AdJ42H2dESMsGB9Q=="; }; zone "alma.jp" { type master; file "db.alma.jp"; allow-update { key DHCP_UPDATE_KEY.ALMA.JP; }; }; zone "64.21.10.in-addr.arpa" { type master; file "db.10.21.64"; allow-update { key DHCP_UPDATE_KEY.ALMA.JP; }; }; 〜〜〜〜〜〜〜〜〜〜 ここまでファイルの中身 〜〜  ※DDNS で使用するファイル 'db.alma.jp' と '64.21.10.in-addr.arpa' は   機械生成される為に手動で EDIT したコメント文とかは失われるので注意。    ※DDNS を運用するセグメントは別にする事をお勧め。 ---------------------------------------------------------------------- ●DHCP のインストールと設定 ▼インストール  /stand/sysinstall で package でインストール  (src->make しようとしたけど error の為断念) ▼dhcpd.conf の設定  BIND で作成した共有鍵を登録する。 〜〜〜〜〜〜〜〜〜〜 ここからファイルの中身 〜〜 default-lease-time 60; max-lease-time 60; option domain-name-servers 10.21.0.2; option domain-name "alma.jp"; ddns-update-style interim; #Kdhcp_update.alma.jp.+157+27110.key key DHCP_UPDATE_KEY.ALMA.JP { algorithm HMAC-MD5.SIG-ALG.REG.INT.; secret "Y6ilUMO0jVUJFHiU00+3h5dhD5MGSKUKlVI/sq1r/Efbab2wFm+7dx1XK5XgGAdvdgMo/8AdJ42H2dESMsGB9Q=="; //BIND で作成した Kdhcp_update.alma.jp+157+19996.key 内の鍵を登録する }; zone alma.jp. { primary 10.21.0.2; key DHCP_UPDATE_KEY; } zone 64.21.10.in-addr.apra. { primary 10.21.0.2; key DHCP_UPDATE_KEY; } # # DHCP # subnet 10.21.64.0 netmask 255.255.255.0 { range 10.21.64.120 10.21.64.254; option routers 10.21.64.1; } 〜〜〜〜〜〜〜〜〜〜 ここまでファイルの中身 〜〜 ---------------------------------------------------------------------- ●動作  これらの設定をする事で、上記 DHCP ---------------------------------------------------------------------- ●応用