そのため情報が古い可能性があります。ご了承ください。m(_ _)m
ESXi環境下にVM(仮想マシン)を何個も作って行くと、ホスト名とIPアドレスをhostsに書いていくのがクソ面倒になってきたので、DHCPとDynamic DNSの連携システムを参考に、DHCPで割り当てられたIPアドレスと、ホスト名を結びつけることにしました。いわゆるDynamicDNS環境。
「各VMのホスト名でIPアドレスを引っ張ってくる」というよりは、DHCPクライアントから送られてきたホスト名を、DNSに登録する。って感じ。
自宅では、ESXiなサーバを常時稼働させているので、VMの一つにdhcpd+bindで、DynamicDNS環境を構築することにしました。
VMは、これといった理由はないけど、ubuntu9-serverで。
user@ubuntu9-server:~$ uname -a
Linux ubuntu9-server 2.6.31-19-server #56-Ubuntu SMP Thu Jan 28 03:40:48 UTC 2010 x86_64 GNU/Linux
ubuntu9-serverのIPアドレスは、192.168.0.49としました。
ドメインは”myhome”として設定してます。
まず、bind環境構築
とりあえず、インストール
$ sudo aptitude install bind9
zone設定。/etc/bind配下はapparmorで守られてる(?)ので、zoneファイルは、/var/lib/bind配下に格納するようにしました。(apparmorの存在を知らず、/etc/bind/配下で全ファイル置くようにしてたら、DNSの更新で何度やっても書き込めず失敗したことは内緒。)
/etc/bind named.conf.local
zone "myhome"{ type master; file "/var/lib/bind/db.myhome"; allow-update{ 127.0.0.1; 192.168.0.49; }; }; zone "0.168.192.in-addr.arpa"{ type master; file "/var/lib/bind/db.192.168.0"; allow-update{ 127.0.0.1; 192.168.0.49; }; };
/var/lib/bind/db.myhome
myhome IN SOA ns.myhome. root.myhome. ( 2010031586 ; serial 604800 ; refresh (1 week) 86400 ; retry (1 day) 2419200 ; expire (4 weeks) 86400 ; minimum (1 day) ) NS ns.myhome.
/var/lib/bind/db.192.168.0
0.168.192.in-addr.arpa IN SOA ns.myhome. root.myhome. ( 2010031586 ; serial 10800 ; refresh (3 hours) 900 ; retry (15 minutes) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS ns.myhome. $ sudo /etc/init.d/bind9 restart
nsupdateコマンドで動的に登録してみる。
ホスト名:test.myhome、IPアドレス:192.168.0.99
$ nsupdate -d > server 192.168.0.49 > update add test.myhome 3600 A 192.168.0.99 > send Reply from SOA query: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 107 ;; flags: qr aa ra ; QUESTION: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION:;test.myhome.INSOA ;; AUTHORITY SECTION: myhome.86400INSOAns.myhome. root.myhome. 2010031586 604800 86400 2419200 86400 Found zone name: myhome The master is: ns.myhome Sending update to 127.0.0.1#53 Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 49917 ;; flags: ; ZONE: 1, PREREQ: 0, UPDATE: 1, ADDITIONAL: 0 ;; UPDATE SECTION: test.myhome.3600INA192.168.0.99 ・・・
登録したtest.myhomeをnslookupで確認。
$ nslookup > server localhost > test.myhome Server:localhost Address:127.0.0.1#53 Name:test.myhome Address: 192.168.0.99
次に、dhcpサーバのインストールと設定。
続きを読む