最近仕事で社内向けDNSサーバの設定を変えることがあり、実用性はあまりないんだけど、勉強を兼ねて、家でも内部DNSサーバを作ってみることにした。
毎度お馴染み、持っててよかったraspberry piにBINDを入れて運用することにする。
すでに報告してくれている方々がおり、参考にさせていただきました。
wordpress.zenmai.org
www.kotemaru.org
そもそも、家に内部DNSを置くメリットはなにかというと、こんなところだろう。
・前記事で作ったウェブページにIPアドレスではなく、自分で設定した名前「http://~」でアクセスできる。
・NASの共有フォルダへもIPアドレスではなく「\\~」でアクセスできる。
・外部DNSを自分で設定できるので、プロバイダのDNSサーバでブロッキングが行われても回避できる。
・DNSの仕組みについて詳しくなり、インターネットの根幹を支えるDNSという技術に感謝する心が生まれる。
思うに一番最後はすごく重要だろう。
「www.yahoo.co.jp」と「183.79.250.251」はどっちをアドレスバーに入れても、ヤフーのトップページにつながるにもかかわらず、それぞれgoogleで検索してみると、検索結果は、約 672,000,000 件と3,420 件 という差が生まれる。
この差、196,491倍!これはもはやDNSサーバが我々の生活を196,491倍便利にしたと言える(謎理論)
従来比約20万倍の恩恵をもたらしたにもかかわらず、DNSサーバは世間一般にはほとんどその存在が知られておらず、誰からも感謝されることはない。
家庭内に内部DNSサーバを作ること、それはその道程においてDNSサーバに感謝するという行為である。
とはいえここから先は自分用のメモなので、全然参考にならないと思う。
やりたい人は上のページを参考にしたほうがいいだよ。
→etc/bind/named.confの設定
include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local";
named.confはBINDの基本設定ファイルである。
includeにより詳細設定のファイル、named.conf.optionsとnamed.conf.localを読み込む。
→etc/bind/named.conf.optionsの設定
これはconfの各種オプションを設定するファイル。
options { directory "/var/cache/bind"; forwarders { 1.1.1.1; }; //このゾーンで名前解決出来ないときは、1.1.1.1に問い合わせ listen-on-v6 { none; }; //IP6は無効 };
→/etc/bind/named.conf.localの設定
実際にゾーンをここで定義する。
//ホスト名myhome.jpの設定 zone "myhome.jp" { // Master DNS Serverであることを明示 type master; // 設定ファイル名を記載 file "/etc/bind/myhome.db"; }; // 192.168.100.* の逆引きの設定 zone "100.168.192.in-addr.arpa" { // Master DNS Serverであることを明示 type master; // 設定ファイル名 file "/etc/bind/100.168.192.db"; };
→myhome.dbの設定
正引きの設定を記載
$TTL 86400 @ IN SOA ns.myhome.jp. root.myhome.jp. ( //最後に「.」を忘れない 2018010204 ; Serial //更新時に値を増やす 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ; Minimum TTL ) @ IN NS ns.myhome.jp. ; ns IN A 192.168.100.130 ; raspi2 IN A 192.168.100.125 ; NAS IN A 192.168.100.101 ;
→100.168.192.dbの設定
逆引きの定義を記載
$TTL 86400 ; @ IN SOA ns.myhome.jp. root.myhome.jp. ( 2011102301 ; Serial 3H ; Refresh 1H ; Retry 1W ; Expire 1D ) ; Minimum IN NS ns.myhome.jp. ; //Name Server を指定 IN PTR myhome.jp. ; //解決するドメインを指定 IN A 255.255.255.0 ; //サブネットマスクを指定 130 IN PTR ns.myhome.jp. 125 IN PTR raspi2.myhome.jp. 101 IN PTR NAS.myhome.jp.
設定後は、
sudo named-checkconf
で、設定ファイルが正しいか確認できる。問題なければ再起動
/etc/init.d/bind9 restart
確認は、linuxの場合は、named.confに書いてあるDNSサーバを変更。
windowsはコンパネで使用するDNSサーバを指定。
もしくはDHCPサーバで配信するDNSサーバを変更。
等の方法で、raspberry pi上のDNSサーバが正しく動いているかを調べるとよい。