本記事は 夏休みクラウド自由研究 8/12付の記事です。 |
Catoクラウドの導入ご支援をさせていただく中で、DNSにおけるご質問を多くいただきます。
今回はDNSについて説明します。
CatoクラウドのDNSの仕組み
CatoクラウドではDNSサービスを提供しています。
まずはCatoクラウドのDNSの仕組みについて説明していきます。
Catoクラウドの各PoPにはDNSサーバが存在しており、デフォルトでSocket配下の端末やモバイルユーザの端末はこのDNSを参照します。
CatoのDNSは「10.254.254.1」と決められており、端末はこのアドレス宛にDNSリクエストを送ります。
また、CatoのDNSはキャッシュサーバとして機能しており、端末からDNSリクエストを受け取るとDNSキャッシュを使用して名前解決を試みます。この時、DNSキャッシュエントリがない場合はグローバルDNSサーバ(Google社のDNS「8.8.8.8」など)にリクエストを転送し、グローバルDNSサーバからのレスポンスをキャッシュに保存しています。
上記を踏まえ、設定画面を見ていきます。
アカウントのDNS設定
DNS設定はアカウント単位、サイト単位、ユーザ・ユーザグループ単位で設定することができます。
まずはアカウントの設定についてご説明します。
設定方法
CMAにログインし、Network > DNS Settings > Settings & Suffixを開きます。
開くと” Primary DNS ”と” Secondary DNS ”の設定箇所があります。
ここで、PrimaryとSecondaryの2か所に設定をすることで、DNSサーバに冗長性を持たせることができます。
PrimaryのDNSサーバが利用できない場合に、SecondaryのDNSサーバを利用します。
デフォルトではどちらも空欄になっているため、設定が入っていない?と思われる方も多いと思いますが、実は”Primary DNS には「10.254.254.1」が、Secondary DNS には「8.8.8.8」が設定されています。
Catoに接続する端末はここに設定されたDNSを参照するため、デフォルトではCatoのDNSを参照し、CatoのDNSで名前解決ができない場合にGoogle社のDNSにて名前解決が行われるということになります。
(補足) カスタムレンジの場合
CatoのDNSサーバのアドレスは「10.254.254.1」であるとご説明しましたが、カスタムレンジを利用される場合は第4オクテットが”3”のアドレスに変更されます。例えば、カスタムレンジを「X.Y.Z.0/24」とした場合は「X.Y.Z.3」になるということです。
ここで、カスタムレンジとは?という方向けに補足します。
ご存知の方は飛ばしてください!
Catoクラウドでは、あらかじめ以下のIPアドレスレンジが管理アドレスレンジとして予約されています。
よって、通常はお客様のネットワーク環境にてこのアドレスレンジを利用いただくことはできません。
- Catoクラウド管理アドレスレンジ:10.254.254.0/24
但し、既にお客様ネットワークで上記のアドレスレンジを利用しており重複してしまう場合は、/24で任意のアドレスレンジにCato側のアドレスレンジを変更することができます。
このように、Catoのアドレスレンジを変更しカスタムレンジを利用する場合は、DNSサーバのアドレスも第4オクテットが”3”のアドレスへ変更されることになります。
DNS Suffix
設定方法に話を戻します。
同ページにはDNS Suffixという設定項目がありますので、続いてDNS Suffixという機能をご紹介します。
DNS Suffixの設定を行うと、ユーザーが入力したドメイン名に任意のSuffixを付与してDNSサーバーへ名前解決のリクエストを送ります。
例えば、ユーザーが「storage. myorganization.local」というサーバーへアクセスをしようとした場合です。
図のようにDNS Suffixに「myorganization. local」を登録しておくと、ユーザーが「storage」という名前のサーバーにアクセスしようとした際に、OSは「storage. myorganization.local」という名前の名前解決リクエストをDNSサーバへ送ります。
上記の例ではSuffixを1つ登録していますが、複数登録も可能です。
例えば、「myorganization.local」と「myorganization.com」をこの順番で登録した場合、順にDNSサーバへSuffixを付与して名前解決のリクエストを送り、それでも接続が確立しなかった場合に 「storage」の名前解決のリクエストを送ります。
推奨設定
Catoクラウド導入をご検討中のお客様からは「プライベートDNSに上書き設定できないか?」というご質問をいただくこともございます。
答えは「可能です」なのですがCato社はデフォルト設定のままCatoのDNSサーバを利用することを推奨しています。
主な理由ですが、プライベートDNSを利用した場合Catoクラウドの一部サービスが利用できなくなるためです。
現在わかっている範囲では、DNS Protectionの機能やNetworkRuleおよびFirewallのFQDNベースの制御がきかないといったことがCato社のドキュメントにも記載されています。
さらに、ビルの法定点検などによる停電によりプライベートDNSが利用できなくなると、Socket配下のユーザーはもちろんですがモバイルユーザも通信影響を受けますので注意が必要です。
上記Cato社の推奨設定をご理解いただいたうえで、プライベートDNSご利用いただく必要がある場合は、次のDNS レコードをプライベートDNSに追加いただく必要があります。
tunnel-api.catonetworks.com – > 10.254.254.3 (カスタムレンジをご利用の場合は 「X.Y.Z.7」IP アドレス)
DNS Forwarding
CatoのDNSサーバの利用を推奨するとお伝えしましたが、CatoのDNSサーバはインターネットの名前解決しかできません。
また、Secondaryに設定されているGoogle社提供のDNSサーバも同様です。
では「社内ドメインを持っている場合はどうしたらよいのか?」というご質問をよくいただきます。
もちろん社内ドメインの名前解決を実現するための機能がCatoクラウドにはございます。それがDNS Forwardingです。
DNS Forwardingの設定をすると、CatoのDNSサーバ「10.254.254.1」に届いた名前解決のリクエストをプライベートDNSへ転送させることができます。
ざっくりとしたイメージはこんな感じです。
- 端末からCatoのDNSサーバに名前解決のリクエストを送る
- リクエストを受け取ったCatoのDNSサーバからプライベートDNSにリクエストを転送する
- プライベートDNSが社内ドメインの名前解決を行い、CatoのDNSサーバに対してレスポンスを行う。
- プライベートDNSからの返答を受け取ったCatoのDNSサーバが端末に対してレスポンスを行う
設定方法
DNS Forwardingの設定方法をご説明します。
まずCMAにログインし、Network > DNS Settings > DNS Forwardingを開きます。
Newを開き、Domainと転送先となるプライベートDNSのアドレスを設定するだけで設定完了です。
注意点
ここで注意すべき点は以下3つです。
- アカウントレベルのDNS設定を上書きした場合、DNS Forwardingはサポートされない
- 転送先のプライベートDNSはSocket配下にある必要がある
- DNS Forwardingの設定を行った場合、CatoのDNSサーバはキャッシュ保存をしない
前述の通り、このDNS Forwardingという機能はCatoのDNSサーバに届いた名前解決のリクエストを任意のDNSサーバに転送させる機能であるため、CatoのDNSサーバを使用している必要があります。
さらに、転送先のプライベートDNSに対してCatoから疎通性がある必要があるということになります。
拠点のDNS設定
次に、拠点のDNS設定についてご説明します。
設定方法
CMAにログインし、Network > Sites(対象サイトを選択) > Site Configuration > DNSを開きます。
拠点のDNS設定画面はアカウントの設定画面と同様に、Primary/Secondary DNSサーバとDNS Suffixの設定ができます。
アカウントと拠点でそれぞれDNSの設定を構成していた場合は、拠点の設定が優先されます。
モバイルユーザのDNS設定 ~DNS Settings Policy~
次に、モバイルユーザのDNS設定に関するご説明です。
モバイルユーザのDNS設定はアカウントや拠点の設定方法と異なり、ルールベースに変更されました。(2024年7月末現在)
既存の設定方法と比べて、ぱっと見の変更点はこのくらいでした。
- 1つの画面で設定が完結する
- ユーザーやユーザグループに加えてOSの指定ができる
詳しく見ていきます。
設定方法
CMAにログインし、Access > DNS Settings Policy を開きます。
※2024年11月以降 メニュー変更後はAccess > Access Configuration> DNS Settings Policy
Newを開くと以下の設定項目がありました。
- General:ルール名やルールの順番を指定する
- User & Groups:対象のユーザやユーザグループを指定する
- Platform:OSを指定する
- DNS Settings:DNSの設定をする
DNS Settingsでは、下図の通り「Setup marually」と「Assign Account DNS Settings」の2つの選択項目があります。
ここで「Setup marually」を選択するとPrimary・SecondaryDNSサーバとDNS Suffixの設定ができます。
また、「Assign Account DNS Settings」を選択すると、アカウントの設定を適用させることができます。
注意点
最後に、DNS Settings Policyを設定するうえでのポイントをまとめてみました。
- 順序付けられたルールベースである。
- オフィスモードの場合は拠点のDNS設定が適用される。
- DNS Settings Policyで設定されたDNS設定は、DNS Forwardingルールよりも優先される。
それぞれ簡単にご説明します。
- 順序付けられたルールベース
DNS Settings PolicyはFirewallやClient Connectivity Policyなどと同様に順序付けられたルールベースとなっています。つまり、上位のルールから順にチェックが行われ、一度ルールにヒットすると以降のルールはチェックされません。また、一番下には暗黙のルールがデフォルトで設定されており、上位に設定したルールにヒットしなかった場合は暗黙のルールが適用されアカウントのDNS設定が適用されます。
これまでは、ユーザとユーザグループでそれぞれDNSの設定を構成していた場合、ユーザの設定が優先されておりましたがDNS Settings Policyとなった現在(2024年7月以降)は、設定次第ということになります。
よって、ルールを設定する際は上記の仕様を踏まえ設定を行う必要があります。
- オフィスモードの場合
モバイルユーザーは、Cato SocketまたはIPsecサイトの配下からCatoクラウドに接続した場合オフィスモードになります。
この時、DNS Settings PolicyのDNS設定ではなく拠点のDNS設定が優先されます。
- DNS Forwarding機能を利用する
前述の通り、DNS Forwardingルールを適用させたい場合はCatoのDNSサーバを使用している必要があります。
DNS Settings PolicyでプライベートDNSを設定した場合はDNS Forwardingルールを適用させることができないため注意が必要です。
まとめ
今回はDNSの設定方法や設定いただく際の注意点についてご説明しました。
設定方法に迷われている方のお役に立てれば幸いです。