Meraki Auto VPN - 設定とトラブルシューティング
Auto VPNはMerakiが開発した独自技術で、別拠点のMeraki WANアプライアンス間に数クリックで迅速かつ容易にVPNトンネルを構築できます。Auto VPNは通常手動で行うVPN設定に必要な作業をクラウドベースのシンプルなプロセスで実行します。本記事ではAuto VPNの仕組みと、MerakiがAuto VPN向けのクラウドプロセスをどのように管理しているかを概説します。
定義
- VPNレジストリ: Auto VPNを実現する主要なサーバーメカニズムです。組織内でAuto VPNに参加する全WANアプライアンスの連絡先情報を管理するクラウドサービスです。
Virtual IPアドレス(VIP)でウォームスペア構成されたWANアプライアンスは、VPNレジストリとの通信にVIPを使用します。
- ハブ: VPNトポロジ内で、リモートピアサイト(スポークなど)からハブへの接続、およびハブからリモートピアサイトへの接続を提供するデバイスです。ハブはまた、複数のリモートピアサイト同士がハブ経由で通信するゲートウェイとしても機能します。
- ピア: 同一組織内の別のWANアプライアンスを指し、ローカルWANアプライアンスがVPNトンネルを形成する(または形成した)相手のことです。
- コンタクト: Auto VPNでWANアプライアンスが通信に使用するパブリックIPアドレスとUDPポートです。
Auto VPNの仕組み
- MX1とMX2は同一組織に属し、Auto VPNへの参加が設定されています。MX1およびMX2はそれぞれVPNレジストリにRegister Requestメッセージを送信し、自身のコンタクト情報を共有するとともに、トンネルを形成すべきピアWANアプライアンスのコンタクト情報を取得します。Register RequestメッセージにはWANアプライアンスの通信に使用するIPアドレスとUDPポートが含まれます。
- VPNレジストリはRegister ResponseメッセージをWANアプライアンスに送信し、VPNトンネルを確立すべきピアのコンタクト情報を提供します。
- ピア情報がWANアプライアンスに共有されると、WANアプライアンス同士でVPNトンネルが形成されます。Merakiクラウドは各WANアプライアンスのサブネット情報とトンネル作成に必要なIPアドレスを既に把握しており、AES暗号化されたIPsec相当のトンネルを確立するためのキーを各アプライアンスにプッシュします。ダッシュボード管理者が指定したローカルサブネットはVPN経由でエクスポート/共有され、その過程でVPNルートがダッシュボードからアプライアンスにプッシュされます。最後に、ダッシュボードは各WANアプライアンスに動的にVPNピア情報(エクスポートされたサブネットやトンネルIP情報など)をプッシュし、それぞれのルーティングテーブルに保存します。
WANアプライアンス上流の機器は、Auto VPNレジストリと通信できるように以下の宛先をホワイトリストに追加する必要があります:
-
ポート
- UDP 9350–9381
-
非中国クラウド用IPレンジ (meraki.com):
- 209.206.48.0/20
- 158.115.128.0/19
- 216.157.128.0/20
-
中国クラウド用IPレンジ (meraki.cn):
- 43.192.139.128/25
- 43.196.13.128/25
IPsecトンネルに使用するポート:
- 送信元UDPポート範囲: 32768–61000
- 宛先UDPポート範囲: 32768–61000
VPN接続はセキュリティ & SD-WAN > 監視 > VPN ステータスページで監視できます。各WANアプライアンスの状態、エクスポートされたサブネット、レイテンシ、接続状況、およびAuto VPNドメイン内でのルーティング決定がほぼリアルタイムで表示されます。
Auto VPNと非Meraki拠点間VPNの比較
- Auto VPNは同一Merakiダッシュボード組織内のWANアプライアンス間でのVPN接続です。
- 非Meraki拠点間VPNは、サードパーティ/非Merakiデバイスとトンネルを形成する場合、または異なるダッシュボード組織内のMeraki WANアプライアンスと接続する場合に使用します。
- 非Meraki拠点間VPN同様、Auto VPNにも暗号化、認証、キーがあります。トラフィックはAES暗号で保護されますが、ユーザー側で変更する必要も変更できる余地もありません。
Auto VPN — Meraki SD-WANのコンポーネント
SD-WANの特長 | Meraki SD-WANのコンポーネント |
VPNサポート | Meraki Auto VPN |
複数接続タイプ (MPLS、インターネット、LTEなど) | WANアプライアンスのアップリンクオプションで対応 |
動的経路選択(WAN接続間のロードシェア) | WANアプライアンス間でのアップリンク負荷分散を実行可能 |
シンプルなWAN設定インターフェース(ブランチでのゼロタッチプロビジョニング対応、簡単セットアップ) | Merakiダッシュボード&API設定インターフェース |
Auto VPNはSD-WANの一部として、VPNトンネル設定の手順を単純化・自動化します。数クリックでSD-WAN環境の展開と管理が容易になり、冗長性、セキュリティ、アプリケーション最適化を実現します。IKE/IPsec相当のトンネルによる自動VPNルート生成を備え、すべてMerakiクラウドで実行されます。
WANアプライアンスに2つのアップリンクがある場合、SD-WANコンポーネントとしてのAuto VPNでは、セキュリティ & SD-WAN > 設定 > SD-WAN & traffic shaping > アップリンク選択 > マルチアップリンク Auto VPNでVPNトンネル内のフロー優先度を設定できます。マルチアップリンク Auto VPNを有効にすると、両方のアップリンクでフロー優先度付きのVPNトンネルを作成できます。
マルチアップリンク Auto VPNを無効にすると、トンネルはプライマリWANリンク上に形成され、プライマリが障害を起こした場合にセカンダリへフェイルオーバーします。
Auto VPNの設定
拠点間VPNを有効化するには、Merakiダッシュボードにログインし、セキュリティ & SD-WAN > 設定 > サイト間VPNページでハブまたはスポークを選択して保存するだけです。Auto VPNが接続設定を自動的に処理し、即座にVPNを確立します。
Auto VPNはシンプルなオプトインプロセスです。ダッシュボード組織を既存のハブ&スポークメッシュと考え、Auto VPNを有効にした各WANアプライアンスがそのメッシュに参加するイメージです。デフォルトでは、すべてのハブが他のハブと接続し、すべてのスポークが指定ハブと接続します。追加設定は以下をご参照ください。
Auto VPN設定の詳細
WANアプライアンスがAuto VPNドメイン内で他のデバイスと通信する方法を定義して有効化
WANアプライアンスをハブとして設定すると、Auto VPNドメイン内(同一ダッシュボード組織内)の他のすべてのハブWANアプライアンスと、このアプライアンスをハブに指定したすべてのスポークWANアプライアンスとのVPNトンネルを構築します。ドメイン内すべてがハブ設定なら、フルメッシュトポロジが形成されます。
スポークとして設定すると、そのスポークは設定されたハブとのみトンネルを構築します。ドメイン内の大多数がスポークで、いくつかの拠点(データセンターや本社など)がハブ設定なら、ハブ&スポークトポロジとなります。
フルトンネルまたはスプリットトンネル
デフォルトでは、Auto VPNドメイン内のWANアプライアンスは、ドメイン内サブネット宛のトラフィックのみピアに送信します。これを「スプリットトンネル」と呼びます。ドメイン外のトラフィックは通常のアップリンク経由でルーティングされます。ドメイン外を含めすべてのトラフィックを特定ハブ経由にしたい場合は「フルトンネル」と呼びます。
フルトンネルはクライアントデータにのみ影響し、Meraki管理トラフィックは常にプライマリアップリンクから送信されます。
フルメッシュトポロジでフルトンネルを設定するには、ドメイン内のWANアプライアンスから出口ハブを定義します。
ハブ&スポークトポロジでフルトンネルを設定するには、1つ以上のハブWANアプライアンスに「デフォルトルート」を関連付けます:
VPNでエクスポートするサブネット(ローカルネットワーク)の選択
ローカルで定義または利用可能なサブネットをAuto VPNドメインへエクスポートするには、該当サブネットを VPN モードで有効にし、非該当サブネットを無効に設定します。
変更を保存して、WANアプライアンスがクラウドから最新設定を取得するようにします。
Auto VPNのトラブルシューティング
Meraki Learning Hubの無料オンライン研修コースでさらに学習できます:
自動NATトラバーサルを使用する構成
- 拠点間VPN:同一組織内の2拠点以上間でVPNを作成するようMXシリーズWANアプライアンスが設定されている場合。
- テレワーカVPN:MRシリーズアクセスポイントが全トラフィックを中央コンセントレータにトンネルするSSIDを設定している場合。このコンセントレータはMXシリーズWANアプライアンスのパススルー/コンセントレータモード、またはVM(仮想マシン)コンセントレータのいずれかです。
VPN登録のトラブルシューティング
WANアプライアンスの拠点間VPNやアクセスポイントのテレワーカVPNなど、Cisco Merakiデバイス間でトラフィックを安全にトンネルするVPN機能を使用する場合、まずデバイスをダッシュボードのVPNレジストリに登録する必要があります。これにより、手動設定なしでデバイス間の接続が動的かつ自動的に確立されます。しかし、このプロセスで問題が発生することがあり、このセクションで説明します。
接続を維持するため、各Merakiノードは10秒ごとにVPNレジストリにキープアライブメッセージを送信します。6回以上キープアライブが届かない場合、そのノードは切断済みとしてマークされます。VPNレジストリへの接続の仕組みについては、自動NATトラバーサルの記事を参照してください。
正しいVPNトンネルを形成するには、両方のMerakiピアがVPNレジストリと通信できる必要があります。一方のMerakiデバイス(MX WANアプライアンスなど)がVPNレジストリに到達できても、対象のピアWANアプライアンスが到達できない場合、トンネルは形成されません。一般的な例として、上流のファイアウォールがUDPポート9350–9381でのVPNレジストリ通信をブロックしているケースがあります。この問題は「VPNレジストリ切断」のセクションで詳しく説明しています。
アプライアンスまたはコンセントレータがVPNレジストリに正常に接続しているが、別のVPNピアから切断されている場合は、ピア間VPN接続のトラブルシューティングの記事を参照してください。
VPNレジストリ切断
「VPNレジストリ: 切断済み」メッセージがセキュリティ & SD-WAN > 監視 > VPN ステータスページに表示される場合、アプライアンスがVPNレジストリとの接続を確立できていないことを示します。これは、ファイアウォールや他の上流デバイスがVPNレジストリへのトラフィック到達、またはアプライアンスへの戻りトラフィックを阻害していることが原因です。
想定される動作: WANアプライアンスがVPNレジストリとの接続を失うと、ピア情報は直ちには削除されませんが、時間の経過とともにパージされます。接続を失った後にコンタクト情報が変更された場合、レジストリへの再接続が重要です。
コンタクト情報が同じままであれば、ハブとスポークはレジストリ接続が失われてもトンネルを維持できます。数時間後にピア情報がパージされ、トンネルがダウンとマークされます。
例
以下のパケットキャプチャ例では、WANアプライアンスがUDPポート9350でVPNレジストリに到達しようとしましたが、上流のファイアウォールがアウトバウンドトラフィックを阻止しているため応答がありません:
この例では、VPNレジストリへのトラフィックを許可するファイアウォールルールを追加した結果、双方向通信が確認できます:
解決策
この問題が発生した場合、上流ファイアウォールがヘルプ > ファイアウォール情報ページに記載されたIPアドレスとポートへの通信を許可するよう設定されていることを確認してください。特にVPNレジストリへの通信を許可し、ステートフルファイアウォールでは既存接続からの戻りトラフィックも許可してください。
NATタイプ: 非フレンドリー
UDPホールパンチングはCisco Merakiデバイス間のVPN接続を確立する仕組みで、両デバイスが常に同一のパブリックIPアドレスとポートを使用していることを前提とします。冗長化のため2台のVPNレジストリサーバーが使用され、いずれも同じIPとポートで可用性を期待します。
しかし、一部のNATデバイス(ファイアウォールなど)は各レジストリサーバーへの接続でソースポートを書き換えます。さらに、ロードバランサーは接続を異なるパブリックIPアドレスに分散させる場合があります。これらはいずれもVPN接続の失敗および「NAT非フレンドリー」エラーの要因となります:
例
この例では、上流ファイアウォールが各アウトバウンド接続のソースポートを異なる番号に書き換えています。最初の接続は56125に、2番目は56126に変更されます。レジストリサーバーが異なるソースポートを検出すると、「NAT非フレンドリー」エラーが表示されます:
別の例では、上流のファイアウォールが2つのWAN接続をロードバランシングし、その後2つの異なるパブリックIPでNATを実行しています。最初の接続は198.51.100.23、2番目は198.51.100.17から送信されます。レジストリサーバーが異なるソースIPアドレスを検出すると、「NAT非フレンドリー」エラーが表示されます:
解決策
ロードバランサーまたは複数パブリックIPを跨いだNATを使用している場合は、内部アドレスから単一のパブリックIPへのマッピングを設定してください。これによりVPNレジストリが一貫したIPを認識できます。
-または-
このWANアプライアンス宛のすべてのVPNトラフィックで使用する任意のポート(例: UDP 51625)を選択し、上流ファイアウォールでそのパブリックIPとポートを内部アドレスの該当ポートに転送するポートマッピングを手動で作成します。ダッシュボードのセキュリティ & SD-WAN > 設定 > サイト間VPNページで NATトラバーサル > 手動: ポート転送 オプションを選択し、設定したパブリックIPアドレスとポートを指定してください。これで全ピアが同一のIP/ポートで接続されます。
自動NATトラバーサルのトラブルシューティング
Cisco MerakiのVPNピアは、自動NATトラバーサルを使用して、ファイアウォールやNAT越しに安全なIPsecトンネルを確立できます。上流のファイアウォールでACLが送信元ポートや、より一般的には送信トラフィックのUDPポート範囲32768–61000をブロックすると、ピアはファイアウォールに「ホール」を開けられず、リモートピアとのトンネルを確立できません。
注意: Cisco MerakiのVPNピア同士は、高番号のUDPポートを使用して通信できる必要があります。ファイアウォールなどのセキュリティ機器がこのトラフィックを許可しないと、VPN上での正常な通信が妨げられる可能性があります。以下の診断およびトラブルシューティング手順に従って問題を解決してください。
以下の例では、ファイアウォールがpeer1からの必須宛先ポート範囲へのアウトバウンドUDPパケットをブロックしています。これによりホールパンチが失敗します。続いてpeer2がインバウンドパケットを送信しても、既存のアウトバウンドセッションと一致しないためファイアウォールの外部インターフェースで破棄され、peer1とpeer2間でトンネルは確立されません。
接続テストが失敗するか、ダッシュボードのVPNステータスが「切断済み」と表示される場合は、ピア間のトンネル確立に失敗しています。
サイト間VPNで2台のピアがVPN接続を確立できない場合、お互いのVPNステータスページに「切断済み」と表示されます。この場合、両ピアのプライマリインターネットインターフェースでパケットキャプチャを取得し、どのファイアウォールがIPsec通信をブロックしているかを解析してください。
IPsec接続性を調査するためのパケットキャプチャ解析
ダッシュボードからパケットキャプチャを取得し、.pcapファイルとしてダウンロードしてからWiresharkなどのパケット解析ツールで分析およびフィルタリングが可能です。ホスト間の接続問題の切り分けに非常に有用です。
以下の例では、アクセスポイントからVPNコンセントレータへのトンネルが確立されません。経路上の異なるポイントでパケットキャプチャを取得し、どのファイアウォールがピア間通信をブロックしているかを調べます。
最初のキャプチャはアクセスポイント(10.0.8.99)の有線インターフェースで取得しました。アクセスポイントはローカル上流ファイアウォールにホールを開けるため、NAT背後にあるVPNコンセントレータの外部IPアドレス(208.72.143.11)宛にパケットを送信していますが、NAT内のWANアプライアンスからの戻りトラフィックはキャプチャにありません。
Access Point 10.0.8.99:45540 → WAN Appliance 208.72.143.11:53654
次のキャプチャはVPNコンセントレータ上流のWANアプライアンス内側インターフェースで取得しました。VPNコンセントレータはLAN上で10.0.50.246を使用し、アクセスポイント背後のNAT外部IP(208.72.143.18)宛にホールパンチを試みています。しかしアクセスポイント側からの戻りトラフィックはありません。
WAN Appliance 10.0.50.246:53654 → Access Point 208.72.143.18:45540
3回目のキャプチャはVPNコンセントレータ上流のWANアプライアンス外部インターフェースで取得しました。コンセントレータのトラフィックはNAT後に208.72.143.11としてインターネットに転送されています。これはコンセントレータ側のファイアウォールがアウトバウンドIPsecトラフィックをブロックしていないことを示します。ただしアクセスポイント背後のNAT外部IP(208.72.143.18)発信トラフィックは見られず、アクセスポイント側の上流ファイアウォールがUDPポート範囲32768–61000のアウトバウンドIPsecトラフィックをブロックしていることが判明します。
WAN Appliance 208.72.143.18:53654 → Access Point 208.72.143.18:45540
最後に、アクセスポイント上流のWANアプライアンス外部インターフェースで再度キャプチャを取得しました。VPNコンセントレータ発信パケット(208.72.143.11 → 208.72.143.18)はアクセスポイントファイアウォール外部インターフェースに到達していますが、アクセスポイント発信パケットは依然として外部インターフェースに現れません。これは、WANアプライアンスの内部インターフェースがUDPポート範囲32768–61000のアウトバウンドIPsecトラフィックをブロックしていることを示しています。
WAN Appliance 208.72.143.18:53654 → Access Point 208.72.143.18:45540
アクセスポイント上流のファイアウォールをUDPポート範囲32768–61000のアウトバウンド宛に開放すると、ピア間でトンネルが確立可能になります。最初の4つのキャプチャはUDPポート53654および45540でフィルタされていましたが、ファイアウォールを双方向に開放すると、動的に選択された任意のポートで双方向トラフィックが発生することが確認できます。下図はアクセスポイントの有線インターフェースで取得したキャプチャで、VPN通信にポート41091を使用して登録されている様子を示しています。
Access Point 10.0.8.99:41091 ← WAN Appliance 208.72.143.11:53654
以下に、Cisco MerakiのVPNピア間通信を許可するためのACL例を2つ示します。2つ目の例では、X.X.X.X/32が対象MerakiデバイスのIPアドレスを表します。
allow inside to outside, protocol: udp, source ip: any, src port: any, dst ip: any, dst port: 32768-61000 allow outside to inside established (may not be necessary with stateful firewalls)
- または -
allow inside to outside, protocol: udp, source ip: X.X.X.X/32, src port: 32768-61000, dst ip: any, dst port: 32768-61000 allow outside to inside established (may not be necessary with stateful firewalls)
アクセスポイントからWANアプライアンスコンセントレータへの接続テスト
アクセスポイント - WANアプライアンスコンセントレータ接続タイプでは、ワイヤレスネットワーク上の接続テストボタンを使用します。テストを実行すると、どのアクセスポイントが「コンセントレータへの接続に失敗したか」がレポートされます。コンセントレータ側に問題がある場合は、すべてのアクセスポイントがテストに失敗することがあります。接続に失敗した各アクセスポイントの有線インターフェースでパケットキャプチャを取得し、さらにWANアプライアンスのプライマリインターネットインターフェースでもキャプチャを取得してください。これらのキャプチャを解析することで、どのサイトのファイアウォールがアウトバウンドIPsec通信をブロックしているかが判別できます。