まずはいつものように
# yum install bind (snip) Installed: bind.x86_64 32:9.8.2-0.17.rc1.el6.3でインストールします。設定ファイルは /etc/named* と /var/named/* に配置されます。まず /etc/named.conf の options に以下のエントリを追加してローカルネットにのみ使用されるようにします。
allow-query{ 127.0.0.1; 192.168.0.0/24; }; allow-recursion{ 127.0.0.1; 192.168.0.0/24; }; allow-transfer{ 127.0.0.1; 192.168.0.0/24; };次にLAN内以外の名前解決のため、ほかの(もともと使っていた)DNSサーバーを指定します。うちの場合はルーターを指定すればよいので以下のようになります。
forwarders { 192.168.0.1; };さて解決したいアドレス群たちは別ファイルにします。named.conf で directory のところに指定されたディレクトリ、恐らく /var/named になっていると思いますが、そこにファイルを作成することになります。named.conf にはそのエントリだけです。
zone "mydomain.net" { type master; file "mydomain.net"; }; zone "0.168.192.in-addr.arpa" { type master; file "0.168.192.in-addr.arpa"; };です。もちろん mydomain.net はご自分のドメインに書き換えてくださいね。
さてそれぞれのファイル自身の書き方が難しいです。named やら named.conf やらの man を見たんですが見つかりませんでした。このへんを参考にさせていただいて書いてみました。まずは正引き、つまり名前をIPアドレスに変換するほうです。
$TTL 1D @ IN SOA server.mydomain.net. root.server.mydomain.net. ( 2013030901 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS server.mydomain.net. IN MX 10 server.mydomain.net. router IN A 192.168.0.1 server IN A 192.168.0.2なにやら呪文のようですが・・・。アドレスの最後の . が結構肝みたいです。このファイル自体が "mydomain.net" 用というのを named.conf で指定したので、省略が利用できます。たとえば @ はそれ自身、つまり mydomain.net そのものの代わりです。また、 . で終わらないもの(上では router とか)は後ろに .mydomain.net がつくと解釈されます。なので、router の行では 「router.mydomain.net を 192.168.0.1 とする」という定義になります。
今度は逆引き、つまりIPアドレスを名前に変換するほうです。記法は基本一緒です。
$TTL 1D @ IN SOA server.mydomain.net. root.server.mydomain.net. ( 2013030901 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS server.mydomain.net. IN PTR mydomain.net. IN A 255.255.255.0 1 IN PTR router.mydomain.net. 2 IN PTR server.mydomain.net.ここでも同じです。さきほど 0.168.192.in-addr.arpa 用に定義したファイルなので、1 とかは 1.0.168.192.in-addr.arpa を定義したことになります。
これらのファイルが記述できたら、ツールで確認ができます。
# named-checkzone mydomain.net /var/named/mydomain.net zone mydomain.net/IN: loaded serial 2013030901 OK # named-checkzone 0.168.192.in-addr.arpa 0.168.192.in-addr.arpa zone 0.168.192.in-addr.arpa/IN: loaded serial 2013030901 OKよさそうですね。いざ起動します。
# service named start一応 /var/log/message を確認して大丈夫なことを確認して・・ってあれれ?
Mar 9 23:25:37 named[11531]: zone 0.168.192.in-addr.arpa/IN: loading from master file 0.168.192.in-addr.arpa failed: permission denied Mar 9 23:25:37 named[11531]: zone 0.168.192.in-addr.arpa/IN: not loaded due to errors.なるほど、ほかのファイルたちは group が named になってるのに私は root のままにしてました。
# chgrp named mydomain.net # chgrp named 0.168.192.in-addr.arpa # service named restart今度は無事起動したようです。/etc/resolv.conf のエントリを /etc/sysconfig/network-scripts 等から変更し、ネットワークの再起動をします。確認します。
# nslookup router Server: 127.0.0.1 Address: 127.0.0.1#53 Name: router.mydomain.net Address: 192.168.0.1 # nslookup 192.168.0.1 Server: 127.0.0.1 Address: 127.0.0.1#53 1.0.168.192.in-addr.arpa name = router.mydomain.net. # nslookup www.google.com Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: www.google.com Address: 173.194.38.81 Name: www.google.com Address: 173.194.38.82 Name: www.google.com Address: 173.194.38.83 Name: www.google.com Address: 173.194.38.84 Name: www.google.com Address: 173.194.38.80内部のアドレス、外部のアドレスとも問題なく解決されました。あとはこのサーバーをDNSサーバーとしてクライアントに登録するだけで利用できます。
実際に使ってみたところだめでした。 orz
原因の1つめは named.conf をよーく見ると
listen-on port 53 { 127.0.0.1; };
とありました。つまりそのサーバーだけでしか使えなくなっています。 上のテストはサーバー上だったので使えていたのですね。 まずはこれを修正します。 そうしたら一応使えてるっぽいんですが、なぜか1度目は失敗します。
C:\>nslookup www.formula1.com サーバー: server.mydomain.net Address: 192.168.0.2 DNS request timed out. timeout was 2 seconds. DNS request timed out. timeout was 2 seconds. *** server.mydomain.net への要求がタイムアウトしました C:\>nslookup www.formula1.com サーバー: server.mydomain.net Address: 192.168.0.2 権限のない回答: 名前: pc-b.bitgravity.com Address: 64.185.181.238 Aliases: www.formula1.com f1tata.pc.cdn.bitgravity.comまた /var/log/messages に戻ると、大量のエラーが。
Mar 10 00:14:14 named[13184]: validating @0x7fe418008ea0: . NS: got insecure response; parent indicates it should be secureどうもルーターが dnssec に対応してないようですね。どうせLAN内だから別にいいか。(本当はどうかわからないですが。)/etc/named.conf の dnssec-validation を no に変えたところ無事動きました。
ネットワークの設定はいろいろ大変ですね。ここまでやってようやく http://router でルーターの管理画面に入れたわけですが、そこまでの価値があったのかどうかw まあ自己満足でOKとします。
0 件のコメント:
コメントを投稿