InfraAcademy

InfraAcademy Blog

【bind】forwardersの設定方法解説【LinuxでDNSサーバーの設定をしてみよう!】

| #Linux #Linux初心者 #DNS

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、DNSサーバーの設定でforwardersの設定方法を解説します。フォワードとは、自分で名前解決できないものを別のDNSサーバーへ転送する技術です。bindをLinuxサーバーにインストールして、forwardersの動作を確認してみましょう!

【bind】forwardersの設定方法解説

bindのforwardersはどうやって設定したらいいの?

今回の記事では、bindのforwardersの設定方法について解説します。まずは、DNSのフォワードとは何なのかについて説明します。

DNSやbindの設定が良く分からない方は、こちらで詳しく解説しています。

フォワードとは?

DNSのフォワードとは、自分で名前解決できないものを別のDNSサーバーに問い合わせるものです。DNSサーバーは名前解決できるゾーン情報を持っています。そのゾーン情報のみ名前解決できます。

フォワードの流れを分かるように、イラストを描いてみました。

DNSフォワード流れ まず、PCから名前解決を行います。名前解決を行うと指定されたDNSサーバーへ問い合わせを行います。しかし、問い合わせした先のDNSサーバーにレコードが無い場合、名前解決ができません。

フォワードとは、名前解決ができるDNSサーバーに問い合わせを転送する機能のことです。

フォーワードを設定することで、自分の知らないレコードでも名前解決ができるようになります。

forwardersの動作を確認してみよう

forwardersの設定を行う前に、インターネットに接続しているPCでforwardersの動作を確認してみましょう。

まず、自分のPCのコマンドプロンプトを開いて、”www.google.com”と名前解決してみてください。コマンドは”nslookup”です。以下のように答えが返ってきます。

nslookup www.google.com

DNS動作確認 権限のない回答と返ってきました。私の環境では、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設定ファイル 以上でフォワードの設定が完了です。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"});

リンク

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

Related

関連記事

ブログ一覧へ