今回はMeraki MXにおけるローカル・インターネット・ブレイクアウトについて動作確認を行いました。
Meraki MXのローカル・インターネット・ブレイクアウトとは?
Meraki MXにおけるローカル・インターネット・ブレイクアウトとは何なのでしょうか?
MXでAuto-VPNによってHUB拠点と接続しているSpoke拠点において、全てのInternet通信をHUB拠点を介して行う設定にしている場合に、特定の宛先のトラフィックに対してHUB拠点を介さずに直接Internetへ通信(ブレイクアウト)させることを示します。
設定としては「セキュリティ&-SD-WAN > 設定 > SD-WAN&トラフィックシェーピング」から行います。
「追加」をクリックすると、「カスタム表現」か「Major applications」が選択出来ます。
「Major applications」はMXのSD-WAN+ライセンスを利用している時のみ利用可能な機能で、Merakiが定める10アプリケーションに対して簡単にローカル・インターネット・ブレイクアウトの機能を利用することが出来ます。
・AWS
・BOX
・O365 Sharepoint
・O365 Suite
・Salesforce
・SAP
・Skype&Teams
・Webex
・Zoom
が定義されています。
本記事ではこの「Major Applications」の機能に関しては割愛します。
これら10アプリケーション以外に対しては、「カスタム表現」で設定を行う必要があります。
カスタム表現とは?
ここから本題である「カスタム表現」の設定に関してまとめていきます。
カスタム表現では、
・TCP
・UDP
・ICMP
・DNS
・すべて
からブレイクアウトを行いたいプロトコルを選択しCIDR(後述するDNS以外)を設定します。
例えばMeraki CloudのIPアドレスである「64.62.142.12/32」をブレイクアウトしたい場合は下図のように記述し「表現の更新」から設定を行います。
今回はプロトコルは「すべて」としましたが、もちろんTCPやUDPを選択しポート番号も限定的にした設定を行いたい場合は適宜設定を行ってみてください。
この状態でtracerouteを行ってみます。
私の検証環境の詳細に関しては説明しませんが、設定を行ったMXから直接Internet通信が行われていることがわかります。
私のInternet環境はtransix(IPoE)を介して行われています。
比較のため、ブレイクアウト対象では無い通信のtracerouteを記録しておきます。
先ほどとは異なり、transixを通過していないことが分かります。
ICMPの応答をしないRouterを通過しているので何だか分かりにくいですが。。
これにより、通常のトラフィックはAuto-VPNによるHUB拠点を介して、カスタム表現にマッチしたトラフィックにおいてはローカル・インターネット・ブレイクアウトが行えていることが確認できました。
DNSによるホスト名記述
ここからが今回の記事で一番まとめておきたかったことです。
TCP、UDP、ICMPに関しては上記の通り「カスタム表現」でCIDR形式により特定のIPアドレス宛の通信においてブレイクアウトすることが出来るのはまとめましたが、ブレイクアウト設定を行うのにいちいちIPアドレスの手打ちを行うのは大変です。
「カスタム表現」にあるDNSの項目を使うことによりCIDR形式ではなくホスト名による記述が可能になるようなので検証を行ってみます。
しかし、このホスト名記述においてはFWルールに関してまとめた記事があります。
ローカル・ブレイクアウトにおいてもFWルールと同様の動きになるのかを検証してみます。
まずは阿部寛さんのHPから
この検証では欠かすことのできない阿部寛さんのHPに対して設定を行ってみますが、まずはtracerouteの確認から。
transixを経由していないことからHUB拠点を介して通信していることが分かります。
「abehiroshi.la.coocan.jp」に対してDNSによるブレイクアウト設定を行います。
この状態で再びtracerouteを行います。
設定がない状態で試したtracerouteとは明らかに異なりtransixを経由したものとなっていることが確認できました。
yahoo.co.jpを設定
次にyahoo.co.jpで試してみます。
nslookupでyahoo.co.jpのIPアドレスを確認します。
複数のIPアドレスが返ってきましたので、最初の2つのIPアドレスに対するtracerouteを打ってみます。
それぞれがtransix経由になっていることが分かります。
FWルールのFQDN設定と同様にDNSクエリで複数のIPが帰ってきた場合は全てが対象となることが確認できました。
www.yahoo.co.jpはどうか?
次に「www.yahoo.co.jp」で試してみます。
www.yahoo.co.jpはDNSクエリー毎に異なるIPアドレスを返してきます。
2回のnslookupで「183.79.248.124」と「183.79.249.252」が帰ってきました。
まずは後の方の「183.79.249.252」でtracerouteを行います。
transixを経由していることが分かります。
次に1回目の「183.79.248.124」に対してtracerouteを行います。
transixを経由していないことが分かります。
これによりFWルールの時の検証と同じように、常に最後の一回のDNSクエリのみが対象となることが確認できました。
まとめ
DNSによるローカル・インターネット・ブレイクアウトはFWルールの検証と同じ結果となることが確認できました。
阿部寛さんのHPのように常に同じIPアドレスが返ってくるような場合には有効ですが、www.yahoo.co.jpのようにクエリー毎に異なるIPが返ってくる場合にはあまり有効では無いことが確認出来ました。
むしろブレイクアウトしたいのは巨大なサイトだったりするのでなかなか難しい所です。