# IP付加機能 / DNSリレー

DNSリレーは、本製品に対するDNSリクエスト（IPv4/IPv6）を、（実際の）DNSサーバーにリレーする機能です。クライアント側で本製品をDNSサーバーに指定しておけば、サーバーのアドレスが変更されても、本製品に設定されているサーバーアドレスを変更するだけですむため、管理・保守効率が向上します。
また、DNSキャッシュ機能を併用することにより、DNSサーバーへの問い合わせ回数を減らすことができます。
本機能は、DHCPサーバー機能やDHCPv6サーバー機能と組み合わせて、本製品がDNSサーバーであるとクライアントに通知することにより、いっそう効果的な運用が可能となります。

## 基本設定

1. DNSサーバーのアドレスを設定するには、ip name-serverコマンドを実行します。

       awplus(config)# ip name-server 192.168.1.10

2. DNSリレー機能を有効にします。これには、ip dns forwardingコマンドを使います。

       awplus(config)# ip dns forwarding

Note

DNSリレーを使用する場合は、DNSへの問い合わせ機能（ip domain-lookupコマンド）を無効にしないでください。

設定は以上です。
これで本製品宛てのDNSリクエストが実際のDNSサーバー（192.168.1.10）に転送されるようになります。
DNSパケットの始点アドレスを明示的に設定したい場合は、ip name-serverコマンドでDNSサーバーを登録するときにsource-addressパラメーターで本製品に設定されているIPアドレスを指定してください。

    awplus(config)# ip name-server 192.168.1.10 source-address 10.1.1.10

DNSリレーが再試行する回数を変更するには、ip dns forwarding retryコマンドを使用します。

    awplus(config)# ip dns forwarding retry 5

DNS応答の待ち時間を変更するには、ip dns forwarding timeoutコマンドを使用します。

    awplus(config)# ip dns forwarding timeout 10

## ドメインごとのDNSサーバー振り分け

DNSリレー機能における転送先のDNSサーバーは、問い合わせ先のドメインごとに設定することもできます。この機能を使うと、Aドメインの問い合わせはサーバーAに、Bドメインの問い合わせはサーバーBに、その他の問い合わせはサーバーCに送る、などの設定が可能です。
ここでは、次の例をもとに、DNSリレー機能においてドメインごとにDNSサーバーを振り分けるための設定手順を説明します。

解決対象ドメイン | 転送先DNSサーバー
example.jp | 172.16.10.1
example.com | 172.16.20.1
上記以外 | 192.168.1.10

Note

ドメインは後方一致で照合されます。

1. 「example.jp」ドメインとそのサブドメインにマッチするドメインリストexample_jpを作成します。これには、ip dns forwarding domain-listコマンドとdomainコマンドを使います。

       awplus(config)# ip dns forwarding domain-list example_jp
       awplus(config-domain-list)# domain example.jp
       awplus(config-domain-list)# exit

2. 同様にして、「example.com」ドメインとそのサブドメインにマッチするドメインリストexample_comを作成します。

       awplus(config)# ip dns forwarding domain-list example_com
       awplus(config-domain-list)# domain example.com
       awplus(config-domain-list)# exit

3. ドメインリストexample_jpにマッチするドメインの問い合わせをDNSサーバー172.16.10.1に転送するよう設定します。これは、ip name-serverコマンドでDNSサーバーを設定するときに、suffix-listパラメーターでドメインリストを指定することによって行います。

       awplus(config)# ip name-server 172.16.10.1 suffix-list example_jp

4. 同様にして、ドメインリストexample_comにマッチするドメインの問い合わせをDNSサーバー172.16.20.1に転送するよう設定します。

       awplus(config)# ip name-server 172.16.20.1 suffix-list example_com

5. ドメインリストexample_jpにもexample_comにもマッチしないドメインへの問い合わせをDNSサーバー192.168.1.10に転送するよう設定します。ip name-serverコマンドでsuffix-listパラメーターを指定しなかった場合、同コマンドで指定したDNSサーバーは、どのドメインリストにもマッチしなかったドメインの問い合わせに使われる、デフォルトのDNSサーバーとなります。

       awplus(config)# ip name-server 192.168.1.10

6. DNSリレー機能を有効にします。これには、ip dns forwardingコマンドを使います。

       awplus(config)# ip dns forwarding

Note

DNSリレーを使用する場合は、DNSへの問い合わせ機能（ip domain-lookupコマンド）を無効にしないでください。

設定は以上です。
PPP接続時に学習したDNSサーバーを特定ドメインの問い合わせに使いたい場合は、該当PPPインターフェースを対象とするインターフェースモードで、ppp ipcp dns suffix-listコマンドを実行し、適用するドメインリストを指定してください。なお、PPPインターフェースでDNSサーバーアドレスを学習するためには、ppp ipcp dnsコマンドでrequestかrequiredを指定し、接続相手にDNSサーバーアドレスを要求する必要があります。

    awplus(config)# interface ppp0
    awplus(config-if)# ppp ipcp dns request
    awplus(config-if)# ppp ipcp dns suffix-list ppplist

本製品自身の名前解決要求（DNS問い合わせ）と振り分け機能の関連は以下のとおりです。

- ドメインリストが関連付けられていないDNSサーバー（デフォルトのDNSサーバー）が存在している場合
  → 本製品自身の名前解決はデフォルトのDNSサーバーだけを使って行われます。
- デフォルトのDNSサーバーが存在しない場合（すべてのDNSサーバーにドメインリストが関連付けられている場合）
  → 本製品自身の名前解決も振り分け設定にしたがって行われます。

Note

すべてのDNSサーバーにドメインリストが関連付けられている場合、ドメインリストに一致しないDNSリクエストはルーターによって破棄されてしまいます。DNSサーバー設定の際にはご注意ください。

### VRF-Liteとの併用

VRF-Lite使用時、グローバル以外のVRFインスタンスでDNSリレー機能を使う場合は、ip name-serverコマンドのvrfパラメーターを使用してVRFインスタンスごとにDNSサーバーアドレスを登録してください（vrfパラメーターを指定しないで登録したDNSサーバーは、グローバルVRFインスタンスに登録されます）。
Note

VRF-Liteについては、「IP」/「VRF-Lite」をご覧ください。

たとえば、グローバル、VRF-BLUE、VRF-PINKの3つのVRFインスタンスでそれぞれDNSリレー機能を使用する場合は、次のようにします。

1. 各VRFインスタンスで使用するDNSサーバーアドレスを設定します。
   ここでは、すべてのVRFインスタンスに、同じIPアドレスを持つDNSサーバーが存在していると仮定しています。

       awplus(config)# ip name-server 192.168.1.10
       awplus(config)# ip name-server vrf VRF-BLUE 192.168.1.10
       awplus(config)# ip name-server vrf VRF-PINK 192.168.1.10

2. DNSリレー機能を有効にします。これには、ip dns forwardingコマンドを使います。

       awplus(config)# ip dns forwarding

設定は以上です。

## DNSキャッシュ

DNSキャッシュ機能は、DNSサーバーからの応答を本製品のメモリーに保存しておくことで、2回目以降DNSサーバーへの問い合わせを行わずにメモリー上の情報を参照する機能です。DNSキャッシュは、本製品自身がアドレス解決する場合とDNSリレー機能で別ホストの要求を処理するときの両方で有効です。
DNSキャッシュ機能はデフォルトではオフになっています。DNSキャッシュ機能をオンにするには、ip dns forwarding cacheコマンドのsizeパラメーターで、キャッシュエントリー容量を0以外に設定します。
キャッシュサイズ、キャッシュエントリーの有効期限はip dns forwarding cacheコマンドで変更します。

    awplus(config)# ip dns forwarding cache size 500 timeout 3000

DNSキャッシュの内容はshow ip dns forwarding cacheコマンドで確認します。

    awplus> show ip dns forwarding cache

DNSキャッシュエントリーを削除するにはclear ip dns forwarding cacheコマンドを使用します。

    awplus# clear ip dns forwarding cache

## DNS46・DNS64

DNS46とDNS64は、IPv6移行技術のひとつであるNAT46およびNAT64との連携を目的とする、DNSリレーのオプション機能です。
詳細は「IPv6」/「NAT46・NAT64」の解説編をご覧ください。