DNS中継

ホストからSEIL宛に送信されたDNSパケットを、指定されたDNSサーバへ中継する機能を提供します。

表 1. IPv4/IPv6対応状況
機能 IPv4 IPv6
DNS中継 対応 対応

機能概要

DNS中継機能を使用すると、SEILをインターネット接続の終端装置として使用する際に、DNSサーバへのアクセスを集約することができます

  • DNSクエリのキャッシュを行いません。
    • 問い合わせが発生するたびにDNSサーバへ中継します。
  • DNSSECの検証を行いません。
    • 中継先のサーバがDNSSECの検証を実施した場合(AD bit が設定されている場合)は、検証された応答を問い合わせ元へ返します。

中継先DNSサーバの指定

中継先DNSサーバとして4つまでのIPアドレスを設定できるほか、IPCP、DHCP、およびDHCPv6で取得したサーバアドレスを使用するよう設定できます。

中継先DNSサーバの選択

DNSサーバの指定方法によって、中継先として選択する優先順位を決定します。
  1. IPアドレスを設定(複数設定した場合の順番は不定)
  2. IPCP(PPPoE)で取得
  3. IPCP(PPPoE,PPP自動選択(ipcp-auto))
  4. DHCPで取得
  5. DHCPv6で取得

また、問い合わせ先からの応答によって次のように再問い合わせを行います。

  • 問い合わせ先DNSから正常応答(NOERRORまたはNXDOMAIN)が得られた場合は、応答を中継して問い合わせを終了します。
  • 問い合わせ先DNSから異常応答(REFUSEDやSERVFAILなど)が得られた場合は、応答を中継せずに次のDNSサーバへ問い合わせます。
  • 問い合わせ先DNSから応答が無くタイムアウトした場合は、このDNSサーバの使用を停止(300秒間無効化)し、次のDNSサーバへ問い合わせます。
  • 使用可能なすべての問い合わせ先が異常応答またはタイムアウトした場合は問い合わせを終了します。このとき、クライアントに対する応答は行いません。

対応プロトコル

UDPおよびTCPによる問い合わせを中継できます。

オープンリゾルバの予防

PPPoE、PPP、およびWWANインタフェースのIPアドレス宛のDNSクエリについて中継可否を設定できます。

  • TCPまたは、IPsecのセキュリティポリシーに一致するDNSクエリを除きます。

DNSクエリのIPv4-IPv6変換

DNSクエリの中継時に、応答に含まれるAレコードに任意のIPv6プレフィックス追加しAAAAレコードに変換できます。
  • Answer Section のAレコードのみ変換します。
  • DNSSECによる検証が行われた応答にIPv4-IPv6変換を適用する場合は、検証の結果を取り除いて中継します(変換元AレコードのRRSIGを削除しAD bitはクリアします)。

AAAAフィルタ機能

DNS中継機能におけるAAAA(クアッドエー)フィルタ機能は、クライアントに対してAAAAレコードを応答として返さないようにする機能です。名前解決に起因してIPv6からIPv4へのフォールバックが阻害される問題へのワークアラウンドとなります。

機能概要

AAAAフィルタが有効なとき、DNS中継機能はDNSサーバから受け取ったクエリの内容から特定のレコードを除外してクライアントに中継します。

AAAAフィルタを用いる事で、AAAAレコードの問い合わせに対して不正な挙動をする名前サーバや、AAAAレコードを含む応答を受け取った際に不適切な挙動をするアプリケーション実装による影響を防ぐことができます。

フィルタ動作の詳細

下記の表は、SEILのAAAAフィルタが問い合わせ状況に応じてどのような応答を返すかを示します。

注: ここではそれぞれAレコードのみ、AAAAレコードのみ、そして双方に対応付けられた名前に対して、DNSSECの有無や問い合わせるレコードの種類を変えた場合について一覧します。表の枠内はそれぞれ応答に含まれるレコードです。なお、A は Aレコード、AAAAはAAAAレコード、 は空応答を表し、DNSSEC におけるNSECやRRSIG等のレコードは省略するものとします。表 3では、特に表 2との差異がある部分についてボールド書体で表記しています。
表 2. AAAAフィルタが無効の場合
クエリの種類
DNSSECなし DNSSECあり
A クエリ AAAA クエリ ANY クエリ A クエリ AAAA クエリ ANY クエリ
存在しない名前
Aレコードのみの名前 A A A A
AAAAレコードのみの名前 AAAA AAAA AAAA AAAA
A, AAAAレコード両方 A AAAA A, AAAA A AAAA A, AAAA
表 3. AAAAフィルタが有効の場合
クエリの種類
DNSSECなし DNSSECあり
A クエリ AAAA クエリ ANY クエリ A クエリ AAAA クエリ ANY クエリ
存在しない名前 NOTIMP
Aレコードのみの名前 A A A NOTIMP A
AAAAレコードのみの名前 NOTIMP NOTIMP
A, AAAAレコード両方 A A A NOTIMP A

DNSSECでの問い合わせ時には RFC2671RFC3225 の推奨に従い、NOTIMPを返す事でAAAAレコードがフィルタリングできない (不在証明が必要である) 場合についても AAAAレコードを応答しません。