VMWare Workstation内でCfengine3のテスト用"CfengineTeam"を作成しました。 それはさておき、今回はその前準備のDNSサーバのセットアップについてです。
各インスタンスの/etc/hostsで管理しても良かったのですが、Cfengine相手だとDNS経由で逆引きできた方が良かろうという事で、Team内のVMにDNSサーバをセットアップすることにしました。
家にあるマシンを管理するためのDNSサーバは既にありますが、Teamはたくさん作りますし、単一のDNSサーバでVMに重複しないようIPアドレスを割り当てるのは面倒な作業に思えたので、DNSサーバを使い捨て感覚で各Teamに配置しようというものです。
今回のポイントは次の通り。
- DNSで管理するIPはNICを追加して10.0.0.0/16なIPを割り当てる
- テスト用なので使い捨て
- debian lennyに特化した手順の確立
今後もTeamを作成する度に何かしら作業が発生しそうなので、メモを残す事にしました。
パッケージの導入
まずは必要なパッケージを入れます。
$ sudo apt-get install bind9
一緒にbind9utilsも入りますが、続いてnslookupなど確認用のパッケージを入れておきます。
$ sudo apt-get install dnsutils bind9-host
bind9の設定
設定ファイルは基本的に/etc/bindディレクトリ以下に存在します。
起動時のオプションを変更する場合には/etc/default/bind9ファイルを編集します。
VMWare用にサブドメインを作成
DNSサーバはzone単位で管理する必要があるので、設定次第ですが、基本的には既にあるドメインとは異なるzoneを作成します。
ただVMWareのTeam毎に別にする必要はないので、一律に"vm.example.org"を10.0.0.0/16に作ろうと思います。 他のドメインも作りたくなるかもしれませんし、ネットワークは/8ではなくて、/16にしました。
zone "vm.example.org" {
type master;
file "/etc/bind/db.vm.example.org";
};
zone "0.10.in-addr.arpa" {
type master;
file "/etc/bind/db.10.0";
};
db.*ファイルの準備
zoneファイルを準備してしまえば良いのですが、公開しないので手間を省くためにdb.0ファイルをコピーします。
$ sudo cp db.0 db.vm.example.org $ sudo cp db.0 db.10.0
実際に公開するDNSサーバでは、RFC1912に書かれている範囲のことは抑えておく必要があります。 具体的にはSOAレコードに実際に届くメールアドレスを書くこと、NS,逆引きPTRレコードなどで参照するホスト名はAレコードの名前であること、などがあります。
細かいことはいろいろありますが、ホスト名を追加する度に次のようなレコードを追加していきます。
debian IN A 10.0.0.1
1.0 IN PTR debian.vm.example.org.
その他の問い合せをメインのDNSサーバに振り分ける
これは単純にforwarderで知らない問い合せを他のサーバに転送します。
VMのプライマリネットワークがNATであれば、NATネットワーク(172.16.73.0/24)内のDNSサーバに転送するのが良さそうに思えます。
options {
directory "/var/cache/bind";
forwarders {
172.16.73.2;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
/etc/resolv.confが自動的に更新される場合の手当について
NATネットワークのIPをDHCPから受けている場合には、自動的に/etc/resolv.confが更新されていきます。
手で/etc/resolv.confに nameserver 127.0.0.1 を書いても、時間が経つと消えている場合にはDHCPクライアントの設定を変更するが良さそうです。
今回の場合は/etc/dhcp3/dhclient.confにDNSサーバとドメイン名の設定を行ないました。
supersede domain-name "vm.example.org";
prepend domain-name-servers 127.0.0.1;
終ってみれば、わざわざメモを残すほどじゃなかったかなという感じですが、細かい点をいろいろ確認する良い機会になりました。
0 件のコメント:
コメントを投稿