-
サーバ構築のデージーネットTOP
-
OSS情報
-
OSS比較
-
OSSのおすすめDNSサーバ比較9選
-
サーバ構築のデージーネットTOP
-
OSS情報
-
DNSサーバ
-
OSSのおすすめDNSサーバ比較9選
OSSのおすすめDNSサーバ比較9選
DNSサーバーとは
DNSは、Domain Name Systemの略で、インターネットの名前解決を行う機能です。ホスト名からIPアドレスを調べたり、IPアドレスからホスト名を調べたりする時に、DNSの機能を使います。DNSは、インターネットを利用するために非常に重要な役割を果たしていて、欠かせない機能です。インターネットの初期からある仕組みですが、キャッシュポイズニングやDOSなどの攻撃にさらされることが多くなり、近年も様々な改良が加えられています。DNSサーバは、インターネット全体で使われています。そのため、ほとんどの場合にはOSSのサーバソフトウェアが利用されます。
DNSの機能を提供するDNSサーバには、権威DNSサーバとキャッシュDNSサーバという別々の役割を担う2つのサーバがあります。権威DNSサーバは、DNSコンテンツサーバとも呼ばれ、IPアドレスやホスト名などの情報を公開する役割を持っています。キャッシュDNSサーバは、クライアントが権威DNSサーバからホスト名やIPアドレスを取得する際に利用するサーバです。ここでは、それぞれの役割のDNSサーバについて、OSSのDNSサーバソフトウェアの選定ポイントを紹介し、いくつかのDNSサーバソフトウェアの比較してみます。
DNSサーバは構築すべきか借りるべきか?
DNSサーバには、権威DNSサーバとキャッシュDNSサーバがあります。
権威DNSサーバは、自分の組織で管理しているWWWサーバやメールサーバなどのIPアドレスを外部に知らせるためにあります。一方、キャッシュDNSサーバは、組織内のユーザがインターネット上のサービスの名前からIPアドレスを調べるために使います。最近は、各種サーバはインターネット上のサービスや無料サービスを使うことが可能です。DNSサーバも例外ではなく、サーバを構築することを嫌い、外部のサービスを使うケースが少なくありません。しかし、自組織にDNSサーバを構築することにはいくつかのメリットがあります。
キャッシュDNSサーバを構築するメリット
キャッシュDNSサーバは、組織内のPCからインターネットの様々なサービスを利用するときには、必ず使うサーバです。最近は、Google Public DNS(8.8.8.8)やCloudflareがAPNICと提携して維持・運営を行っている1.1.1.1など、外部のパブリックなサービスを使うこともできます。また、ルータに内蔵されているDNSサーバ機能や接続しているインターネット・プロバイダのキャッシュDNSサーバを利用することもできます。しかし、キャッシュDNSサーバを組織内に構築することで、大きなメリットがあります。
インターネットのレスポンス速度が早くなる
インターネットの接続の回線が低速な場合や、通信が混みあっている場合には、名前からIPアドレスを調べるため名前解決の処理に時間がかかる場合があります。例えば、Webサイトをアクセスする場合には、WebブラウザでURLを入力したり、リンクをクリックしてから、次のページが表示されるまでの応答の時間が長くなります。すると、インターネットのレスポンスが遅いと感じてしまいます。
しかし、組織内のローカルな環境にキャッシュDNSサーバを構築すると、DNSサーバが問い合わせ済みの情報をキャッシュしているため、名前解決をする応答の時間が短縮されます。そのため、組織内にキャッシュDNSサーバを配置することで、利用者からは、インターネットのレスポンス速度が早くなるのです。
インターネット回線のパケットを抑える
ローカルな環境にキャッシュDNSサーバを構築すると、利用者がよく使う名前はDNSサーバにキャッシュされるようになります。そのため、インターネット上を検索する必要がなくなり、回線を効率良く使うことができます。
安全性が向上する
万一、キャッシュDNSサーバが停止すると、名前解決ができなくなるため、インターネットのほとんどのサービスが利用できなくなります。そのため、何らかの原因で外部サービスが停止すると、大きな影響を受けることになります。キャッシュDNSサーバは、2台以上を設定しておくことが可能です。そのため、組織内に構築したDNSサーバを優先して使うように設定し、トラブルがあった場合のみ外部のDNSサーバを使うように設定しておくことで、障害に強くなります。
権威DNSサーバを持つメリット
インターネット上では、権威DNSサーバを代行してくれるサービスが多くあります。こうしたサービスでは、GUIでDNSの設定を行えるなど、使い勝手も良いのが特長です。しかし、権威DNSサーバを構築することには、明確なメリットがあります。
内部DNSサーバとして使える
インターネット上で提供しているサービスでは、組織内のローカルなサーバの名前解決のための情報を管理することができません。組織内のローカルなDNSサーバを作ることで、組織内のネットワーク管理がやりやすくなります。
耐障害性が高まる
DNSサーバが、自社のWWWサーバやメールサーバなどのサービスを提供するサーバと別のロケーションにあると、耐障害性が低下してしまいます。例えば、次の3つのケースを考えてみましょう。
- WWWサーバ、メールサーバがA社にあり、DNSサーバがB社にある
- WWWサーバ、メールサーバ、DNSサーバが同じ場所(A社)にある
- WWWサーバ、DNSサーバがA社、メールサーバ、予備のDNSサーバがB社にある。
1のケースでは、A社の回線などに障害があると、サービスが停止してしまいます。また、B社のDNSサービスに障害があっても、サービスは停止してしまいます。
2の場合には、A社の回線に障害がある場合だけサービスが停止します。
3の場合には、A社で障害があっても、B社にあるメールサーバは停止しません。
つまり、1は2よりもリスクが高く、3がもっともリスクが低いということになります。
権威DNSサーバには、マスターサーバ(プラマリサーバ)とスレーブサーバ(セカンダリサーバ)の2つの種類があります。マスターサーバは、名前やアドレスを管理するゾーンデータベースを自分で管理するサーバです。スレーブサーバは、マスターサーバから、ゾーンデータベースの転送を受けて、そのコピーを保持します。マスターサーバとスレーブサーバの連携は、自動で行われます。また、スレーブサーバは、何台でも配置することができます。自社のサーバのロケーションに合わせて、権威DNSサーバを複数台を構築することで耐障害性が高まるのです。
自社でDNSサーバを構築すると管理性が悪い?
DNSサーバは、運用や管理の負荷が高くて大変だという人もいます。これは、長い間DNSサーバのソフトウェアとして一般的に使われていたBINDのイメージです。BINDは、GUI画面から管理ができないため、DNSに登録しているデータ(レコード)などの変更に専門的な知識が必要でした。また、セキュリティの問題が頻発し、アップデートなどの作業が頻繁に必要になりました。そのため、DNSサーバは運用管理のコストが掛かるという印象があります。
しかし、最近ではGUIから管理することができるDNSサーバのソフトウェアや、脆弱性の少ないDNSサーバのソフトウェアを選ぶこともできます。こうしたソフトウェアを選択してDNSサーバを構築すれば、意外と大きな効果があります。このページでは、いくつかのDNSサーバのソフトウェアを紹介しますので、それを参考に用途に合ったソフトウェアを選択し、DNSサーバを構築することをお勧めします。
権威DNSサーバ
BIND
ISCが提供しているDNSサーバで、古くから使われているソフトウェアです。
長所
- 権威DNSサーバとキャッシュDNSサーバの両方の機能を利用することができます。
- Dynamic DNS、view、DNSSEC、IPv6の対応などのほぼすべての機能が揃っています。
- 多くのLinuxディストリビューションで標準的に採用されていて、入手が容易です。
- Linuxディストリビュータのパッケージを使えば、継続的にアップデートを受けることができます。
- サポートが必要な場合には、RedHat Enterprise Linuxなどのサポート付きのディストリビューションを利用することができます。
- 歴史が古く、インターネット上に多くの情報が載っています。
短所
- 非常に脆弱性が多く、セキュリティアップデートが大変です。
- 設計が古いため、キャッシュDNSと権威DNSの機能が分離されておらず、セキュリティ的に脆弱です。
- ファイルやコマンドで管理を行う必要があります。
- DNSSECは利用できますが、管理はかなり煩雑です。
- ここで紹介するDNSサーバの中では、最も性能が劣ります。

BINDの詳細ページへ
PowerDNS
PowerDNSとは、オランダのPowerDNS.COM BVが開発を行った、オープンソースソフトウェアのDNSサーバです。以前は製品だったDNSサーバをオープンソース化したもので、長い実績のあるDNSサーバです。

長所
- セキュリティの問題が少なく、使いやすいDNSサーバです。
- GUIから管理でき、簡単に管理が行えます。
- GUIは、用途に応じて、Poweradmin、phpIPAMなど複数のソフトウェアから選択できます。
- ドメイン毎に管理者を変えることもできます。
- Dynamic DNS、DNSSEC、IPv6に対応しています。
- DNSSECの利用が最も簡単に行えるDNSサーバです。
- dnsdistと組み合わせると、viewと同様の機能が実現できます。
- dnsdistと組み合わせると、キャッシュDNSサーバと権威DNSサーバを同居することができます。
- デージーネットがサポートを提供していて、アップデートやQ&Aのサービスを受けられます。
- BINDに比べて、高速に動作します(NSDよりは若干劣ります)。
- BINDの設定ファイルをそのまま利用したり、変換して利用することが出来ます。
- APIを備えていて、phpIPAMなどのIPアドレス管理ツールとの連携も可能です。
短所
- 長所を生かすにはRDBやWebサーバとの連携が必要で、システム構成がやや複雑です。
PowerDNSの詳細ページへ
NSD
NSDとは、"Name Server Daemon"の略で、NLnet LabsとPIPE NCCが共同で開発を行い、保守を行っている権威DNSサーバのオープンソースソフトウェアです。ルートDNSなどでも採用されていて、実績のあるDNSサーバです。
長所
- ここで紹介しているDNSサーバの中では、最も高速に動作します。
- 設定ファイルは、とてもシンプルで、使いやすいものです。
- unboundと同じ開発元であるため、unboundとは設定方法が似ています。
短所
- コマンドラインから管理を行う必要があります。
- ダイナミックDNS、viewを利用することができません。
- パッケージで提供されていないため、アップデートを自分で行う必要があります。
- アップデートやQ&Aサービス等のサポートが、日本国内では提供されていません。
KnotDNS
KnotDNSは、CZ NIC社が開発した権威DNSサーバのオープンソースソフトウェアです。マルチCPU環境に強く、CPUを増やすことで性能が向上します。
長所
- NSDとほぼ同等の性能を発揮する高速なDNSサーバです。
- CPUを増やすことでさらに性能が向上します。
- Dynamic DNSをサポートしています。
- 設定ファイルは、とてもシンプルで、使いやすいものです。
短所
- コマンドラインから管理を行う必要があります。
- viewを利用することができません。
- パッケージで提供されていないため、アップデートを自分で行う必要があります。
- アップデートやQ&Aサービス等のサポートが、日本国内では提供されていません。
OSSのおすすめDNSサーバ構築
- 権威DNSサーバ
- ここでは、BIND、PowerDNS、NSD、KnotDNSについて紹介します。
- キャッシュDNSサーバ
- ここでは、bind、unbound、Recursor、DJBDNS、dnsdistについて紹介します。