EDNS エンリッチメント

マニュアルの変更履歴

表 1. マニュアルの変更履歴
改訂の詳細 リリース

追加の RR を含む DNS 要求のエンリッチメントのサポートを追加。

21.28.m23

最初の導入。

21.28.m10

機能説明

CUPS は、ペアレント コントロール サービスに登録されているサブスクライバの DNS 要求を拡充して再アドレス指定するための EDNS 要求の機能拡張をサポートしています。

サブスクライバがペアレント コントロール サービスに登録すると、サブスクライバによる DNS 要求は OPT RR フィールドの追加情報(IMSI、MSISDN、APN)で拡充され、適切な分析と処理のために専用 DNS サーバーに再アドレスされます。この追加情報は、タグ値を指定する EDNS 形式を使用して設定できます。各フィールドはエンコードされ、DNS 要求ヘッダーに追加されます。追加の RR を含む着信 DNS 要求は、サブスクライバのブロックを解除するために正確に拡充されます。

機能の仕組み

ここでは、この機能の仕組みを説明します。

PCRF または PCF は、サブスクライバに対して事前定義されたルールをアクティブ化します。

  • 事前定義されたルールがアクティブ化されると、事前定義されたルールに一致する新しい DNS フローに EDNS エンリッチメント機能が適用されます。事前定義されたルールに一致するすべての DNS 要求に対し、DNS ヘッダーの設定済みフィールド(IMSI、MSISDN、APN)によるエンリッチメントが行われます。

  • 事前定義されたルールが非アクティブ化されると、ルールの非アクティブ化後に作成された新しいフローには、EDNS エンリッチメント機能が適用されなくなります。非アクティブ化の前に作成された DNS フローに対しては、引き続きエンリッチメントが行われ、アドレスが再指定されます。

アクティブ課金サービス設定の service-scheme は、ペアレント コントロール サービスに登録している一連のサブスクライバにのみ選択的に機能を適用します。トリガー条件の評価に rule-match-change トリガータイプを使用し、適切な EDNS トリガーアクションを実行することでこれを実現します。

IP アドレス再指定の設定は、EDNS 要求のエンリッチメントに使用される EDNS フォーマットを含むものと同一のトリガーアクションで設定する必要があります。課金アクションとトリガーアクションの両方でアドレスの再指定が設定されている場合は、トリガーアクションが優先されます。

DNS 要求に対して、次のシナリオで設定された EDNS フォーマットに基づいて [Option-Codes] フィールドと [Option-Data] フィールドを追加するエンリッチメントが行われます。

  • 受信した DNS 要求に [OPT RR] タイプの追加 RR が存在する

    受信した要求に OPT RR が存在する場合、その OPT RR は削除され、設定された EDNS フォーマットに基づいて、新しい OPT RR が最初の追加 RR として追加されます。

  • DNS 要求に追加の RR がない

    DNS 要求に追加の RR がない場合、要求に OPT RR を追加するエンリッチメントが行われます。

  • DNS 要求に [OPT RR] タイプ以外の追加の RR が存在する

制限事項

この機能には、次の制限事項があります。

  • オンボックスデータベースに対する外部コンテンツフィルタリングとコンテンツフィルタリングは、この機能とシームレスに相互作用せず、各機能は相互に排他的です。

  • 受信 DNS 要求は、RFC 準拠をチェックするために検証されません。DNS 要求が無効で、複数の OPT RR が含まれている場合でも、EDNS の機能拡張で受け入れられます。着信 DNS 要求に複数の OPT RR が存在する場合、最初の OPT RR が拡充され、要求が DNS サーバーに転送されます。

設定例

次に、EDNS の機能拡張に関する CLI 設定の例を示します。

configure
   active-charging service ACS

      ruledef dns-port
         udp either-port = 53
         tcp either-port = 53
         multi-line-or all-lines
         rule-application routing
      #exit

      ruledef dns_traffic
         ip server-ip-address = 213.158.199.1
         ip server-ip-address = 213.158.199.5
         multi-line-or all-lines
      #exit

      charging-action ca
         content-id 1000
         billing-action egcdr
      #exit

      readdress-server-list test_edns_servers
         server 100.100.100.14
         server 100.100.100.15
         #exit

      rulebase test
         action priority 50 dynamic-only ruledef dns_traffic charging-action ca
         route priority 10 ruledef dns-port analyzer dns
         #exit

      edns
         fields test_fields
            tag 1 imsi
            tag 2 msisdn
            tag 3 apn-name
            #exit

         format test_format
            fields test_fields encode
         #exit

         trigger-action TA1
            edns format test_edns_format
            flow action readdress server-list test_edns_servers [ hierarchy | round-robin | discard-on-failure …]
          #exit

         trigger-condition TC1
            rule-name = dns_traffic
          #exit

         service-scheme SS1
            trigger rule-match-change
               priority 1 trigger-condition TC1 trigger-action TA1
         #exit

         subs-class SC1  
            rulebase = test
            multi-line-or all-lines
         #exit

         subscriber-base SB1
            priority 1 subs-class SC1 bind service-scheme SS1
         #exit
end

モニタリングおよびトラブルシューティング

EDNS エンリッチメント機能は、次の show コマンドと出力をサポートします。

show コマンドと出力

この機能をサポートする、次の show コマンドと出力が変更されました。

show user-plane-service statistics analyzer name dns

EDNS Over UDP:
EDNS Encode Success:            0         EDNS Encode Failed:      0
EDNS Encode Success Bytes:      0
EDNS Response Received:         0
  
EDNS Over TCP:
EDNS Encode Success:            0         EDNS Encode Failed:      0
EDNS Encode Success Bytes:      0
EDNS Response Received:         0

show subscribers user-plane-only full callid <call_id>

DNS-to-EDNS Uplink Pkts:     0       DNS-to-EDNS Uplink Bytes:     0
EDNS Response Received:      0

show user-plane-service edns all

Fields:
    Fields Name: fields_1
    tag 26946 cf-policy-id

    Fields Name: fields_2
    tag 2001 imsi
    tag 2002 msisdn
    tag 26946 cf-policy-id

    Format:
    Format Name: format_1
    fields fields_1 encode

    Format Name: format_2
    fields fields_2 encode

show user-plane-service statistics trigger-action all

Trigger-Action: TA1
  Total EDNS PKTS           :  1
  Total readdressed Flows   :  1
  Total Trigger action(s)   :  1

show user-plane-service statistics trigger-action name <trigger_action_name>

Trigger-Action: TA1
  Total EDNS PKTS           :  1
  Total readdressed Flows   :  1
  Total Trigger action(s)   :  1