※ 2019 年 7 月 23 日現在の情報をもとに作成しています
1. はじめに
Umbrella が使うパブリックの DNS サーバー (208.67.222.222/208.67.220.220) は、トラブルシューティングなどに役立ついくつかの DNS リクエストに対して、特殊なレスポンスを返します。本記事では、そのような DNS リクエストを 2 例紹介します。
※ 以前のこの記事でドメインのカテゴリーを調べる DNS リクエストについて紹介しましたが、現在では使用不可となっています
2. 送信元グローバル IP アドレスを調べる
myip.opendns.com の名前解決をする DNS リクエストを Umbrella の DNS サーバーに送信することで、自組織のネットワークが使用しているグローバル IP アドレスを確認することができます。
(Windows 環境の場合)
>nslookup myip.opendns.com 208.67.222.222
サーバー: resolver1.opendns.com
Address: 208.67.222.222
権限のない回答:
名前: myip.opendns.com
Address: XXX.XXX.XXX.XXX
(macOS、Linux 環境などの場合)
>dig myip.opendns.com @208.67.222.222
;; ANSWER SECTION:
myip.opendns.com. 0 IN A XXX.XXX.XXX.XXX
;; SERVER: 208.67.222.222#53(208.67.222.222)
※ 組織内に Umbrella がデプロイされている必要はなく、送信先を Umbrella の DNS サーバーにするだけで利用できます
この DNS リクエストは、Network Identity の登録で必要となる「自組織のネットワークが使用しているグローバル IP アドレス」を調べるのに便利です。
3. デバッグ情報を出力する
以前の記事で説明したとおり、Umbrella の DNS サーバーは、受け取った DNS リクエストに付与された情報 (EDNS0) と送信元グローバル IP アドレスをもとに、一つまたは複数の Identity を選び出し、その後、Identity に紐づくポリシーの中で最上位となるポリシーを適用します。
もし、トラブルシューティング目的でそれらの判断材料を見たい場合、送信元グローバル IP アドレスについては前述の myip.opendns.com を使えば可能ですが、EDNS0 については通常 DNSCrypt で暗号化されているため、クライアント側でパケットをキャプチャしたとしても中身を確認することができません。
また、実際に適用されるポリシーを調べたい場合もあると思いますが、ポリシーの決定は Umbrella クラウド側で行われるため、クライアント側で適用されたポリシーを知ることができません。
こうしたトラブルシューティングのための情報採取の困難さを緩和するために、Umbrella では EDNS0 やグローバル IP アドレス、適用されたポリシーなどといった「デバッグ情報」を、Umbrella クラウド側から DNS レスポンスとして受け取ることができる特殊な DNS リクエスト debug.opendns.com Type TXT を用意しています。
以下の例は Active Directory Integration 環境で実行したものですが、EDNS0 に含まれる情報の 1 つである user id や、適用されたポリシーを調べることができる bundle が出力されています。
(Windows 環境の場合)
>nslookup –type=txt debug.opendns.com
debug.opendns.com text = "user id XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
debug.opendns.com text = "bundle XXXXXX"
(macOS、Linux 環境などの場合)
>dig txt debug.opendns.com
debug.opendns.com. 0 IN TXT "user id XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
debug.opendns.com. 0 IN TXT "bundle XXXXXX"
なお、debug.opendns.com はデバッグ情報を取得するためだけではなく、そもそもクライアント側で Umbrella を使用しているかを確認するためにも使えます。もし、クライアント側が DNS リクエストを Umbrella の DNS サーバーに送る設定していない場合 (つまり他の DNS サーバーを使っている場合)、DNS レスポンスには TXT タイプのリソース レコードが一切含まれません。