FutureNet

NXR,VXRシリーズ

ルーティング編

7. DNSインターセプト+PBR設定

7-1. DNSインターセプト+PBR設定1

この設定例ではDNSインターセプト機能とポリシーベースルーティング機能を併用することで、ルータ配下の端末から転送されるDNSパケットをインターセプトし、登録したFQDN等に基づき通常とは異なる経路にパケットを転送(ローカルブレイクアウト)します。

 

【 DNSインターセプト機能対応機種 】

NXR-1300シリーズ,NXR-650,NXR-610Xシリーズ,NXR-530,NXR-160/LW,NXR-G180/L-CA,NXR-G200シリーズ,NXR-G110シリーズ,NXR-G050シリーズ,VXRシリーズ(2023/2現在)

設定例で使用している機能の対応状況は、各製品の更新履歴やユーザーズガイドをご確認ください。

 

コンテンツ
構成図 設定例 設定例解説 端末の設定例 補足 付録

 

【 構成図 】

  • DNSインターセプト用リストファイルでFQDN名「*.example.com」を定義します。
    リストファイルの作成例はこちら。また、Microsoft 365(Office 365)リスト取得例はこちら
  • 「*.example.com」のHTTP(TCP80),HTTPS(TCP443)宛の通信はISP_A経由、それ以外の通信はISP_B経由で行います。
  • DNSインターセプト対象のDNSサーバアドレスは上位のインターネット接続用ルータとします。そして、インターネット接続用ルータではDNSリレーが動作することを想定しています。

 

【 設定例 】

nxr530#configure terminal
nxr530(config)#ip dns-intercept setname DNSI file disk0:[DNSインターセプト用リストファイル名]
nxr530(config)#dns-intercept 0
nxr530(config-dns-intercept)#address 192.168.20.254
nxr530(config-dns-intercept)#address 192.168.20.253
nxr530(config-dns-intercept)#match ip setname DNSI
nxr530(config-dns-intercept)#exit
nxr530(config)#class access-list DNSI_ACL ip any dns-set DNSI tcp any 80
nxr530(config)#class access-list DNSI_ACL ip any dns-set DNSI tcp any 443
nxr530(config)#route-map INTERCEPT permit 1
nxr530(config-route-map)#match ip address DNSI_ACL
nxr530(config-route-map)#set mark 1
nxr530(config-route-map)#exit
nxr530(config)#route-map eth0_PBR permit 1
nxr530(config-route-map)#match ip mark 1
nxr530(config-route-map)#set ip next-hop 192.168.20.254
nxr530(config-route-map)#exit
nxr530(config)#interface ethernet 0
nxr530(config-if)#ip address 192.168.10.1/24
nxr530(config-if)#classify input route-map INTERCEPT
nxr530(config-if)#ip policy route-map eth0_PBR
nxr530(config-if)#exit
nxr530(config)#interface ethernet 1
nxr530(config-if)#ip address 192.168.20.1/24
nxr530(config-if)#ip dns-intercept 0
nxr530(config-if)#exit
nxr530(config)#ip route 0.0.0.0/0 192.168.20.253
nxr530(config)#dns
nxr530(config-dns)#service enable
nxr530(config-dns)#address 192.168.20.254
nxr530(config-dns)#address 192.168.20.253
nxr530(config-dns)#timeout 5
nxr530(config-dns)#exit
nxr530(config)#fast-forwarding enable
nxr530(config)#exit
nxr530#save config

 

【 設定例解説 】

1. <DNSインターセプト用リストファイル取得設定>
nxr530(config)#ip dns-intercept setname DNSI file disk0:[DNSインターセプト用リストファイル名]

DNSインターセプトのセットネーム、および外部ストレージ(disk0)上のDNSインターセプト用リストファイルをインポートします。

 

2. <DNSインターセプト設定>
nxr530(config)#dns-intercept 0

DNSインターセプトを設定します。

nxr530(config-dns-intercept)#address 192.168.20.254
nxr530(config-dns-intercept)#address 192.168.20.253

インターセプト対象のDNSサーバのIPアドレスを設定します。

nxr530(config-dns-intercept)#match ip setname DNSI

DNSインターセプト用のセットネームを設定します。

 

3. <クラスアクセスリスト設定>
nxr530(config)#class access-list DNSI_ACL ip any dns-set DNSI tcp any 80
nxr530(config)#class access-list DNSI_ACL ip any dns-set DNSI tcp any 443

クラスアクセスリストDNSI_ACLを以下のルールで設定します。

  • 宛先DNSインターセプトセットネームDNSI、宛先TCPポート80番
  • 宛先DNSインターセプトセットネームDNSI、宛先TCPポート443番

 

4. <ルートマップ設定>
nxr530(config)#route-map INTERCEPT permit 1

ルートマップ名をINTERCEPTとし、No.1のルールを作成します。

nxr530(config-route-map)#match ip address DNSI_ACL

マッチ条件としてクラスアクセスリストDNSI_ACLを設定します。

nxr530(config-route-map)#set mark 1

条件にマッチした際にはマーク値1を設定します。

nxr530(config)#route-map eth0_PBR permit 1

ルートマップ名をeth0_PBRとし、No.1のルールを作成します。

nxr530(config-route-map)#match ip mark 1

マッチ条件としてマーク値1を設定します。

nxr530(config-route-map)#set ip next-hop 192.168.20.254

条件にマッチした際のネクストホップとして192.168.20.254を設定します。

 

5. <ethernet0インタフェース設定>
nxr530(config)#interface ethernet 0
nxr530(config-if)#ip address 192.168.10.1/24

ethernet0インタフェースのIPアドレスを設定します。

nxr530(config-if)#classify input route-map INTERCEPT

パケット受信時、マーキング用に定義したルートマップ名INTERCEPTを設定します。

(☞) クラスアクセスリストに基づいたマーキングを行います。

nxr530(config-if)#ip policy route-map eth0_PBR

PBR用に定義したルートマップ名eth0_PBRを設定します。

 

6. <ethernet1インタフェース設定>
nxr530(config)#interface ethernet 1
nxr530(config-if)#ip address 192.168.20.1/24

ethernet1インタフェースのIPアドレスを設定します。

nxr530(config-if)#ip dns-intercept 0

DNSインターセプトを設定します。

 

7. <スタティックルート設定>
nxr530(config)#ip route 0.0.0.0/0 192.168.20.253

デフォルトルートを設定します。

 

8. <DNS設定>
nxr530(config)#dns
nxr530(config-dns)#service enable

DNSサービスを有効にします。

nxr530(config-dns)#address 192.168.20.254
nxr530(config-dns)#address 192.168.20.253

DNSサーバアドレスを設定します。

nxr530(config-dns)#timeout 5

タイムアウト時間を設定します。

 

9. <ファストフォワーディング設定>
nxr530(config)#fast-forwarding enable

ファストフォワーディングを有効にします。

 

10. <設定の保存>
nxr530#save config

設定内容を保存します。

 

【 端末の設定例 】

IPアドレス 192.168.10.100
サブネットマスク 255.255.255.0
デフォルトゲートウェイ 192.168.10.1
DNSサーバ 192.168.10.1

 

【 補足 】

 

〔 DNSインターセプト用リストファイル作成例 〕

<作成例1>
*.example.com

末尾がexample.comに該当するFQDNを対象とします。

(☞) 対象となるFQDN例
www.example.com , smtp.example.com など

 

<作成例2>
*.example.co.jp
203.0.113.1

末尾がexample.co.jpに該当するFQDN、およびIPアドレス 203.0.113.1 を対象とします。

 

〔 Microsoft 365(Office 365)リスト取得例 〕

Microsoft 365(Office 365)の通信を振り分ける場合、弊社ホームページからリストファイルを取得することができます。

Microsoft 365 , Office 365は、Microsoft Corporationの米国およびその他の国における商標または登録商標です。

 

<DNSインターセプト用定義ファイル取得設定>
(config)#ip dns-intercept setname [セットネーム] file https://www.centurysys.co.jp/dns-intercept/o365_address.xml ms-o365

DNSインターセプトのセットネーム、および弊社ホームページ上からMicrosoft 365(Office 365)用のリストファイルをインポートします。

 

<スケジュールによる定期更新設定>
(config)#schedule 1 1:00 * * dns-intercept ip setname [セットネーム] update https://www.centurysys.co.jp/dns-intercept/o365_address.xml

1:00に弊社ホームページ上からMicrosoft 365(Office 365)用のリストファイルを取得します。

 

【 付録 】