こんにちは、フルスタックエンジニアのryuです。
今回の記事では、DNSサーバーの設定でforwardersの設定方法を解説します。フォワードとは、自分で名前解決できないものを別のDNSサーバーへ転送する技術です。bindをLinuxサーバーにインストールして、forwardersの動作を確認してみましょう!
【bind】forwardersの設定方法解説¶
bindのforwardersはどうやって設定したらいいの?
今回の記事では、bindのforwardersの設定方法について解説します。まずは、DNSのフォワードとは何なのかについて説明します。
DNSやbindの設定が良く分からない方は、こちらで詳しく解説しています。
フォワードとは?¶
DNSのフォワードとは、自分で名前解決できないものを別のDNSサーバーに問い合わせるものです。DNSサーバーは名前解決できるゾーン情報を持っています。そのゾーン情報のみ名前解決できます。
フォワードの流れを分かるように、イラストを描いてみました。
まず、PCから名前解決を行います。名前解決を行うと指定されたDNSサーバーへ問い合わせを行います。しかし、問い合わせした先のDNSサーバーにレコードが無い場合、名前解決ができません。
フォワードとは、名前解決ができるDNSサーバーに問い合わせを転送する機能のことです。
フォーワードを設定することで、自分の知らないレコードでも名前解決ができるようになります。
forwardersの動作を確認してみよう¶
forwardersの設定を行う前に、インターネットに接続しているPCでforwardersの動作を確認してみましょう。
まず、自分のPCのコマンドプロンプトを開いて、”www.google.com”と名前解決してみてください。コマンドは”nslookup”です。以下のように答えが返ってきます。
nslookup www.google.com
権限のない回答と返ってきました。私の環境では、WifiルータをDNSサーバーに指定しています。しかし、Wifiルーターはgoogleドメインの名前解決はできません。そのため、別のサーバに問い合わせを行っております。だから、権限のない回答と書かれています。
では、実際にforwardersの設定をLinuxのbindでやってみましょう!
bindでforwardersの設定してみる¶
では、実際にbindでフォワードの設定をしてみましょう。まずは環境の準備からです。Linuxサーバーにbindをインストールしましょう。
bindをLinuxサーバーにインストールする¶
今回はLinux2台でDNSサーバーを構築しております。以下のような環境を構築しています。
1つのサーバーで”test.com”ドメインの名前解決ができるように設定してください。設定の方法が分からない方はこちらの記事を参考にしてください。
/blog/bind-howto-config
forwardersの設定¶
bindの環境を構築できたら、fowardersの設定を行いましょう。
フォワードの設定は簡単です。2行書けば完了です。DNSサーバー①で設定します。
まず、設定ファイルを開きます。設定ファイルは”named.config.options”です。
vi /etc/bind/named.config.options
ファイルの中のforwardersのコメントを外して、以下のように設定します。
forwarders{ 192.168.1.2 };
forwardersの設定で問い合わせ先のDNSサーバーの指定をします。
次に再帰問い合わせの許可を行います。
allow-recursion {127.0.0.1; 192.168.1.0/24; };
再帰問い合わせは、自分(127.0.0.1)と自分のネットワーク(192.168.0.0/24)を許可します。
最後に、dnssec-validation auto;の先頭に”//”を付けて無効にします。設定を消しても大丈夫です。
//dnssec-validation auto;
設定ファイルの中身はこんな感じになります。
以上でフォワードの設定が完了です。DNSサーバーを再起動させて下さい。
/etc/init.d/bind9 restart
これでforwadersの設定は完了しました!動作確認を実施してみましょう!
forwardersの設定方法まとめ¶
今回の記事では、bindのforwardersについて解説しました。まとめると以下のようになります。
- フォーワードとは、名前解決の問い合わせを転送する
- named.config.optionsでforwardersの設定をする
- 設定が完了したらbindを再起動する
forwardersはDNSの基礎知識ですので、ぜひ覚えておきましょう。
その他のインフラ知識を身に付けたい方はこちらをご覧ください!
また、Linuxを勉強したい方はこちらの参考書もオススメです。
(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject\=a; b[a]\=b[a]||function(){arguments.currentScript\=c.currentScript ||c.scripts[c.scripts.length-2];(b[a].q\=b[a].q||[]).push(arguments)}; c.getElementById(a)||(d\=c.createElement(f),d.src\=g, d.id\=a,e\=c.getElementsByTagName("body")[0],e.appendChild(d))}) (window,document,"script","//dn.msmstatic.com/site/cardlink/bundle.js?20210203","msmaflink"); msmaflink({"n":"入門者のLinux 素朴な疑問を解消しながら学ぶ (ブルーバックス)","b":"講談社","t":"","d":"https:\/\/m.media-amazon.com","c_p":"\/images\/I","p":["\/519t0y7FE5L.jpg","\/41Et7jjRUeL.jpg","\/51QtGqXN0VL.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/4062579898","t":"amazon","r_v":""},"v":"2.1","b_l":[{"id":1,"u_tx":"Amazonで見る","u_bc":"#f79256","u_url":"https:\/\/www.amazon.co.jp\/dp\/4062579898","a_id":1841358,"p_id":170,"pl_id":27060,"pc_id":185,"s_n":"amazon","u_so":1},{"id":2,"u_tx":"楽天市場で見る","u_bc":"#f76956","u_url":"https:\/\/search.rakuten.co.jp\/search\/mall\/%E5%85%A5%E9%96%80%E8%80%85%E3%81%AELinux%20%E7%B4%A0%E6%9C%B4%E3%81%AA%E7%96%91%E5%95%8F%E3%82%92%E8%A7%A3%E6%B6%88%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6%20(%E3%83%96%E3%83%AB%E3%83%BC%E3%83%90%E3%83%83%E3%82%AF%E3%82%B9)\/","a_id":1841357,"p_id":54,"pl_id":27059,"pc_id":54,"s_n":"rakuten","u_so":2}],"eid":"blo6J","s":"s"});
リンク
(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject\=a; b[a]\=b[a]||function(){arguments.currentScript\=c.currentScript ||c.scripts[c.scripts.length-2];(b[a].q\=b[a].q||[]).push(arguments)}; c.getElementById(a)||(d\=c.createElement(f),d.src\=g, d.id\=a,e\=c.getElementsByTagName("body")[0],e.appendChild(d))}) (window,document,"script","//dn.msmstatic.com/site/cardlink/bundle.js?20210203","msmaflink"); msmaflink({"n":"[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識","b":"","t":"","d":"https:\/\/m.media-amazon.com","c_p":"","p":["\/images\/I\/51CPvtuv+wL.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/B079YJS1J1","t":"amazon","r_v":""},"v":"2.1","b_l":[{"id":1,"u_tx":"Amazonで見る","u_bc":"#f79256","u_url":"https:\/\/www.amazon.co.jp\/dp\/B079YJS1J1","a_id":1841358,"p_id":170,"pl_id":27060,"pc_id":185,"s_n":"amazon","u_so":1},{"id":2,"u_tx":"楽天市場で見る","u_bc":"#f76956","u_url":"https:\/\/search.rakuten.co.jp\/search\/mall\/%EF%BC%BB%E8%A9%A6%E3%81%97%E3%81%A6%E7%90%86%E8%A7%A3%EF%BC%BDLinux%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF%20%EF%BD%9E%E5%AE%9F%E9%A8%93%E3%81%A8%E5%9B%B3%E8%A7%A3%E3%81%A7%E5%AD%A6%E3%81%B6OS%E3%81%A8%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98\/","a_id":1841357,"p_id":54,"pl_id":27059,"pc_id":54,"s_n":"rakuten","u_so":2}],"eid":"43xZU","s":"s"});
リンク