DNSフォワーダとは?キャッシュDNSサーバとの違いと利用するメリット

DNSフォワーダ

DNSフォワーダとは?名前解決を中継する仕組み

DNSサーバを構築していると、「フォワーダ(Forwarder)」という設定を見かけることがあります。

BINDやWindows DNS Serverでは一般的な機能ですが、DNSを学び始めたばかりの頃は、キャッシュDNSサーバとの違いが分かりにくいポイントでもあります。

フォワーダは、DNS問い合わせを別のDNSサーバへ転送する仕組みです。

企業ネットワークや組織内DNSでは非常によく利用されており、DNS運用を効率化する重要な役割を担っています。

本記事では、DNSフォワーダの仕組みやキャッシュDNSとの違い、実際の設定例について解説します。

DNSフォワーダとは

DNSフォワーダとは、受信したDNS問い合わせを別のDNSサーバへ転送する機能です。

例えば社内DNSサーバが次の問い合わせを受けたとします。


www.example.com

通常のキャッシュDNSサーバであれば、自身でルートDNSから順番に問い合わせを行います。

しかしフォワーダ設定がある場合は、指定されたDNSサーバへ問い合わせを転送します。

フォワーダなしの場合

一般的なキャッシュDNSサーバです。

PC
↓
キャッシュDNS
↓
ルートDNS
↓
TLD DNS
↓
権威DNS
↓
応答

DNSサーバ自身が名前解決を実施します。

フォワーダありの場合

PC
↓
社内DNS
↓
フォワーダ
↓
ルートDNS
↓
TLD DNS
↓
権威DNS
↓
応答

社内DNSサーバは名前解決を行わず、フォワーダへ処理を任せます。

フォワーダを利用する理由

フォワーダには複数のメリットがあります。

  • DNS通信量削減
  • キャッシュ共有
  • 運用管理の簡素化
  • セキュリティ統制

特に企業環境では大きな効果があります。

キャッシュ共有のメリット

例えば1000台のPCが存在するとします。

フォワーダが無い場合です。


各DNSサーバ
↓
個別に名前解決

フォワーダがある場合です。


全DNSサーバ
↓
共通フォワーダ
↓
共通キャッシュ利用

問い合わせ回数を大幅に削減できます。

企業ネットワークでの利用例

多くの企業では次のような構成になっています。


PC
↓
部門DNS
↓
本社DNS
↓
ISP DNS

各部門のDNSサーバが本社DNSサーバをフォワーダとして利用します。

管理が容易になります。

Active Directoryでの利用

Windows Active Directory環境ではフォワーダが頻繁に利用されます。

ドメインコントローラは社内ドメイン情報を保持しています。

しかし外部ドメインは管理していません。

そのため外部ドメイン問い合わせはフォワーダへ転送します。


corp.local
↓
AD DNS

google.com
↓
フォワーダ

BINDでの設定例

BINDではnamed.confに設定します。

options {
    forwarders {
        8.8.8.8;
        1.1.1.1;
    };
};

これでGoogle Public DNSやCloudflare DNSへ転送できます。

複数フォワーダの設定

複数指定も可能です。

forwarders {
    8.8.8.8;
    8.8.4.4;
    1.1.1.1;
};

上位DNS障害時の冗長化として利用できます。

forward firstとforward only

BINDでは動作モードを指定できます。

forward first


forward first;

フォワーダが応答しない場合、自身で名前解決を行います。

forward only


forward only;

フォワーダのみ利用します。

フォワーダが停止すると名前解決できません。

条件付きフォワーダとは

特定ドメインだけ転送する仕組みです。

例えば次のような構成です。


example.local
↓
別DNSへ転送

その他
↓
通常DNS

これを条件付きフォワーダ(Conditional Forwarder)と呼びます。

企業間接続での利用

グループ会社同士の接続では条件付きフォワーダがよく利用されます。


company-a.local
↓
A社DNS

company-b.local
↓
B社DNS

互いのドメインだけ転送します。

フォワーダと権威DNSの違い

項目フォワーダ権威DNS
役割問い合わせ転送正式情報管理
ゾーン保持不要必要
キャッシュ利用可能通常不要

フォワーダとキャッシュDNSの違い

項目フォワーダキャッシュDNS
名前解決転送自身で実施
ルートDNS問い合わせしないする
管理負荷低いやや高い

よくあるトラブル

フォワーダ到達不可

上位DNSサーバへ接続できない場合です。

名前解決全体が失敗します。

ファイアウォール設定ミス

UDP53やTCP53が遮断されているケースです。

ループ構成

DNSサーバ同士が互いをフォワーダに設定してしまう場合があります。


DNS-A
↓
DNS-B
↓
DNS-A

名前解決ループが発生します。

digコマンドで確認する

問い合わせ先を指定して確認できます。

dig @192.168.1.1 www.example.com

DNS応答を確認できます。

実務で覚えておきたいポイント

  • フォワーダは問い合わせ転送機能
  • 企業ネットワークで広く利用される
  • キャッシュ共有が可能
  • AD環境では頻繁に利用される
  • 条件付きフォワーダが重要
  • ループ構成に注意する

まとめ

DNSフォワーダは、受信したDNS問い合わせを別のDNSサーバへ転送する仕組みです。

企業ネットワークやActive Directory環境では非常に重要な機能であり、DNS運用の効率化や管理の簡素化に役立ちます。

また、条件付きフォワーダを利用することで特定ドメインのみ別DNSサーバへ転送することも可能です。

DNSサーバを構築・運用する際には、フォワーダの仕組みを理解しておくことが重要です。