DNS中継
ホストからSEIL宛に送信されたDNSパケットを、指定されたDNSサーバへ中継する機能を提供します。
機能 | IPv4 | IPv6 |
---|---|---|
DNS中継 | 対応 | 対応 |
機能概要
DNS中継機能を使用すると、SEILをインターネット接続の終端装置として使用する際に、DNSサーバへのアクセスを集約することができます
- DNSクエリのキャッシュを行いません。
- 問い合わせが発生するたびにDNSサーバへ中継します。
- DNSSECの検証を行いません。
- 中継先のサーバがDNSSECの検証を実施した場合(AD bit が設定されている場合)は、検証された応答を問い合わせ元へ返します。
中継先DNSサーバの指定
中継先DNSサーバとして4つまでのIPアドレスを設定できるほか、IPCP、DHCP、およびDHCPv6で取得したサーバアドレスを使用するよう設定できます。
中継先DNSサーバの選択
- IPアドレスを設定(複数設定した場合の順番は不定)
- IPCP(PPPoE)で取得
- IPCP(PPPoE,PPP自動選択(ipcp-auto))
- DHCPで取得
- 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変換
- Answer Section のAレコードのみ変換します。
- DNSSECによる検証が行われた応答にIPv4-IPv6変換を適用する場合は、検証の結果を取り除いて中継します(変換元AレコードのRRSIGを削除しAD bitはクリアします)。
AAAAフィルタ機能
DNS中継機能におけるAAAA(クアッドエー)フィルタ機能は、クライアントに対してAAAAレコードを応答として返さないようにする機能です。名前解決に起因してIPv6からIPv4へのフォールバックが阻害される問題へのワークアラウンドとなります。
機能概要
AAAAフィルタが有効なとき、DNS中継機能はDNSサーバから受け取ったクエリの内容から特定のレコードを除外してクライアントに中継します。
AAAAフィルタを用いる事で、AAAAレコードの問い合わせに対して不正な挙動をする名前サーバや、AAAAレコードを含む応答を受け取った際に不適切な挙動をするアプリケーション実装による影響を防ぐことができます。
フィルタ動作の詳細
下記の表は、SEILの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 |
クエリの種類 | ||||||
---|---|---|---|---|---|---|
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での問い合わせ時には RFC2671、 RFC3225 の推奨に従い、NOTIMPを返す事でAAAAレコードがフィルタリングできない (不在証明が必要である) 場合についても AAAAレコードを応答しません。