すごく大変でした。すごく覚え書き。検証環境は CentOS 5.6 です。
BIND インストール
# yum -y install bind bind-chroot caching-nameserver
下ごしらえ
# cp /var/named/chroot/etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf # chgrp named /var/named/chroot/etc/named.conf
/var/named/chroot/etc/named.conf
の編集
# cd /var/named/chroot/etc
所有グループ変更。
# chgrp named named.conf
赤くハイライトされている黒の太字部分が変更、追加した部分。
# vi named.conf // // named.caching-nameserver.conf // // Provided by Red Hat caching-nameserver package to configure the // ISC BIND named(8) DNS server as a caching only nameserver // (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // // DO NOT EDIT THIS FILE - use system-config-bind or an editor // to create named.conf - edits to this file will be lost on // caching-nameserver package upgrade. // options { #listen-on port 53 { 127.0.0.1; }; #listen-on-v6 port 53 { ::1; }; version "unknown"; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; // Those options should be used carefully because they disable port // randomization // query-source port 53; // query-source-v6 port 53; allow-query { localhost; localnets; }; allow-query-cache { localhost; localnets; }; forwarders { 192.168.0.1; 8.8.8.8; 8.8.4.4; }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; category lame-servers { null; }; }; view localhost_resolver { match-clients { localhost; }; match-destinations { localhost; }; recursion yes; include "/etc/named.rfc1912.zones"; include "/etc/named.build-nostalgia.com.zone"; }; # internal match view: view "internal" { match-clients { localnets; }; match-destinations { localnets; }; recursion yes; include "/etc/named.rfc1912.zones"; include "/etc/named.build-nostalgia.com.zone"; }; # external match view: resolve sub-domains view "external" { match-clients { any; }; match-destinations { any; }; recursion no; include "/etc/named.build-nostalgia.com.zone.wan"; };
内部向け、外部向けのゾーンファイル作成
# cd /var/named/chroot/etc
内部向けゾーンファイル
正引き、逆引きともに設定。
# vi named.build-nostalgia.com.zone zone "build-nostalgia.com" { type master; file "build-nostalgia.com.db"; }; zone "0.168.192.in-addr.arpa" { type master; file "0.168.192.in-addr.arpa.db"; };
外部向けゾーンファイル
正引きのみ。
# vi named.build-nostalgia.com.zone.wan zone "build-nostalgia.com" { type master; file "build-nostalgia.com.db.wan"; allow-query { any; }; };
IPv6での名前解決エラーによる速度低下防止
# echo 'OPTIONS="-4"' >> /etc/sysconfig/named
正引き、逆引きデータベース作成
正引き、逆引きのためのデータベース作成のステップ。
# cd /var/named/chroot/var/named
内部向け正引きデータベース作成
# vi build-nostalgia.com.db $TTL 86400 @ IN SOA build-nostalgia.com. root.build-nostalgia.com. ( 2011061001 10800 3600 604800 86400 ) ; IN NS build-nostalgia.com. ; rt IN A 192.168.0.1 ; @ IN A 192.168.0.101 vhost IN A 192.168.0.100 www IN A 192.168.0.101 ns IN A 192.168.0.102 * IN A 192.168.0.101
内部向け逆引きデータベース作成
# vi 0.168.192.in-addr.arpa.db $TTL 86400 @ IN SOA build-nostalgia.com. root.build-nostalgia.com. ( 2011061001 10800 3600 604800 86400 ) ; IN NS ns.build-nostalgia.com. ; IN PTR build-nostalgia.com. ; 1 IN PTR rt.build-nostalgia.com. 100 IN PTR vhost.build-nostalgia.com. 101 IN PTR www.build-nostalgia.com. 102 IN PTR ns.build-nostalgia.com.
外部向け正引きデータベース作成
XXX.XXX.XXX.XXX
の部分はルーターに当たっているグローバル IP アドレスを指定します。
# vi build-nostalgia.com.db.wan $TTL 86400 @ IN SOA ns.build-nostalgia.com. root.build-nostalgia.com. ( 2011061001 10800 3600 604800 86400 ) ; IN NS ns.build-nostalgia.com. ; vhost IN A XXX.XXX.XXX.XXX www IN A XXX.XXX.XXX.XXX ns IN A XXX.XXX.XXX.XXX
サービス起動設定
# service named start # chkconfig named on
DNS サーバー自身の名前解決設定
自分自身に名前解決を行わせるようにする。
# echo "nameserver 127.0.0.1" > /etc/resolv.conf
正引き、逆引きのテスト
これは内部向けの名前解決の例。
事前にクライアントのネットワークアダプタの優先 DNS を先程作成した DNS サーバーに向けておくこと。
正引き
C:Usersnoguchi>nslookup www.build-nostalgia.com サーバー: ns.build-nostalgia.com Address: 192.168.0.102 名前: www.build-nostalgia.com Address: 192.168.0.101
逆引き
C:Usersnoguchi>nslookup 192.168.0.100 サーバー: ns.build-nostalgia.com Address: 192.168.0.102 名前: vhost.build-nostalgia.com Address: 192.168.0.100
レジストラのプライマリ DNS を変更
変更したら 1 日、 2 日待たないといけないらしいです。
なんかうまく動かないんだけど?
たいていのサービスのメッセージは /var/log/messages
に出力されています。以下のコマンドを打ってみると幸せになれるかもしれません。
# tail /var/log/messages
参考
いろいろ参考にさせていただきました。ありがとうございました。
- 連載記事 「BINDで作るDNSサーバ」
- DNSサーバー構築(BIND) – CentOSで自宅サーバー構築
- “(/var/named/chroot/)etc/named.conf”の9行目について、クエリーソー…
- ■forwardersの利用 BIND…
- category lame-servers…
- view “internal” と view “external” を定義するが、 必ず…
- 再帰検索を禁止したいのですが? Q. インターネットからの再帰検索を許可していると、 DDoS…
- 最近(2009/10)、モデムのアクセスLEDが妙にチカチカしていて負荷がかかっており、不正なアタック…
投稿者紹介
-
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。
最近のエントリ
- レポート2019.10.28ユニキャストレストランを開催しました🍳
- レポート2019.08.29社内研修ワークショップ~マシュマロ・チャレンジ~
- レポート2019.08.06Computex/InnoVEX 出展者・通訳として参加してきました。
- レポート2018.06.12Computex 2018 レポート