※ 2022 年 3 月 14 日現在の情報をもとに作成しています
1. はじめに
本記事では、ISR ルーターの DNS 連携機能を利用する際の内部ドメイン (Internal Domains) の名前解決について説明します。
Integration for ISR 4K and ISR 1100 – Security Configuration Guide
https://docs.umbrella.com/hardware-integrations/docs/integration-for-isr-4k-and-isr-1100-security-configuration-guide
2. 内部ドメインについて
Umbrella における内部ドメインとは、「組織内部のホストにアクセスするためのドメイン」のことで、もしこのようなドメインに関する名前解決を行う DNS クエリーが Umbrella の DNS サーバー (208.67.222.222/208.67.220.220) に送られても、NXDOMAIN (ドメインが存在しない) またはグローバル IP アドレスが返ってきてしまい、組織内部への目的の通信が正常に行われません。
そのため、Umbrella Dashboard の導入 (Deployments) >ドメイン管理 (Domain Management) > 内部ドメイン (Internal Domains) で、Umbrella の DNS サーバーへの転送対象から除外したい組織内部のドメインを登録することが可能になっています。
以下の画像は、実際に example.com というドメインを内部ドメインとして登録した例です。

この場合、example.com の名前解決だけでなく、sub.example.com のようなサブドメインの名前解決も除外の対象となります。
ただし、この Umbrella Dashboard の内部ドメインを利用可能なのは、以下の展開方法を使用した場合のみです。
つまり、ISR ルーターなどのネットワークデバイスと連携させる場合においては、Umbrella Dashboard 上の内部ドメインは使用されませんのでご注意ください。
3. ISR ルーター連携における内部ドメインの指定
ISR ルーター連携では、内部ドメインの指定は直接 ISR ルーター上で行い、その情報は ISR ルーター内で保持されます。前項の内部ドメインの例と同等の設定をしたい場合、以下のようなコマンドを実行します。
Router(config)# parameter-map type regex dns_bypass
Router(config-profile)# pattern example\.com
Router(config-profile)# pattern .*\.example\.com
Router(config)# parameter-map type umbrella global
Router(config-profile)# local-domain dns_bypass
実際に登録したい内部ドメインは、pattern コマンドの引数として正規表現を使って指定します。この例では、2 行目で example.com ドメインそのものを指定しており、3 行目でそのサブドメインを指定しています。使用できる正規表現の詳細については、以下の公開情報を参照してください。
Cisco IOS Security Command Reference: Commands - parameter-map type regex
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/security/m1/sec-m1-cr-book/sec-cr-p1.html#wp2859729611
4. 通信経路について
前項で内部ドメインを指定する方法について説明しましたが、内部ドメインの DNS クエリーを送るべき DNS サーバー (いわゆる内部の DNS サーバー) の指定はどこで行うのでしょうか。実は、ISR ルーター上にはその設定はなく、クライアント側の DNS サーバーの設定で行います。
以下の図のように、クライアント側で生成された全ての DNS クエリーを内部の DNS サーバーに送る設定をすることで、経路上にある ISR ルーターは流れてきた DNS クエリーの中から内部ドメイン以外の DNS クエリーのみ、Umbrella の DNS サーバーに転送することになります。

なお、以下の図のように、内部の DNS サーバーから ISR ルーターに外向けの DNS クエリーを送る構成にすることでも、内部と外部のドメインを分けて扱うこと自体は可能です。

この構成の場合、クライアントから DNS クエリーを受け取った内部の DNS サーバーは、内部のドメインについてはサーバー自体が名前解決を行い、それ以外は別の DNS サーバーに転送することになります。そして、別の DNS サーバーへの経路の途中にある ISR ルーターは DNS クエリーを Umbrella の DNS サーバーに転送します。この構成のメリットとしては、前項で説明した ISR ルーター上の内部ドメインの指定が不要になることです。
ただし、内部の DNS サーバーから ISR ルーターへ DNS クエリーが送られる仕組み上、ISR ルーターの 「インターフェース (または VLAN) ごとのポリシー分け」が使えなくなり、かつ Activity Search レポートに表示される内部 IP もすべて「内部の DNS サーバーの IP アドレス」となってしまいます。そのため、サポートされる構成ではあるものの、あまり推奨されない構成となります。