DNS

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

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

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

【bind】forwardersの設定方法解説

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

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

フォワードとは?

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”ドメインの名前解決ができるように設定してください。設定の方法が分からない方はこちらの記事を参考にしてください。

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を勉強したい方はこちらの参考書もオススメです。

About me
大手メーカのIT部門→上場ベンチャーでインフラエンジニアやってます。エンジニア歴は8年目。 サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。 AI、ARも勉強中です! youtubeでも技術ネタを発信していきます。↓のアイコンよりご覧ください!