Help us understand the problem. What is going on with this article?

AzureとOCIでサイト間(S2S)VPNをやってみた

AzureとOCIの間を接続するにはExpressRouteとFastConnectを使ったInterconnectがまず想起されますが、西日本やバックアップ用途を想定して、サイト間(サイト対サイト:S2S)のVPN環境を各クラウドで用意されているサービスを使って構築してみました。

結果

つながるけれども使えない

どういうこと?

Azure側はVPNゲートウェイ、OCI側はVPN接続を、IKEv2で設定すればつながります。
Azure-VNG.png
OCI-VPN1.png
OCIはウィザードで作ると2つのトンネルを用意するので、Azureはアクティブ/スタンバイの仮想ネットワークゲートウェイから2本接続しています。
AzureのVMからルーティングテーブルを見ると、下記のようになります。
Azure-Route.png
pingを打ってみると、疎通します。今回はAzureは西日本リージョン、OCIは東京リージョンについないでいます。
Azure-ping.png
しかし、接続から1時間経つとIPSecが切れてしまい、疎通しなくなります
OCI-VPN2.png

なぜ切れる?

どうやら、それぞれのIPSecで使えるパラメータが異なるためのようです。
具体的には、サポートされるPFS(Perfect Forward Security)が異なっていました。

サポートされるPFSグループ

RouteBased

クラウド サポートされるPFSグループ
Azure 1, 2, 14, 24, なし
OCI 5

出典

PFSの簡易表

PFSグループ 内容 Azure表記
1 768-bit, DH PFS1
2 1024-bit, DH PFS2
5 1536-bit, DH
14 2048-bit, DH PFS2048
19 256-bit, DH (Elliptic Curve) ECP256
20 384-bit, DH (Elliptic Curve) ECP384
24 2048-bit, DH/DSA PFS24

追加情報

解決策

3つぐらい方法があるようです。

  • サポートにSRを出す
  • Libreswanを使う
  • Windows Server RRASを使う

サポートにSRを出す

Stack OverflowにVPN between Oracle Cloud and Azureという投稿があり、オラクルにて対応してもらったようです。これが通常できることなのかどうかはわかりませんので、個別にサポートにSRを出して確認する必要があると思われますが、ここで紹介したクラウド側のサービスで構成できる可能性があります。

I reached out to Oracle and they managed to change the setting for Perfect Forward Secrecy (PFS) to support the preferred Azure PFS setting (PFS 2). This stabilized the connection.

Libreswanを使う

ここで紹介した構成ではなく、オラクルでは、その他のクラウドへのアクセスとしてLibreswanを使った構成をこちらで公開しています。そして、実際にAzureとOCIを接続した例もこちらで公開されておられる方がいらっしゃいます。
この構成の場合は、パフォーマンスや運用を事前にしっかり確認しておく必要があると思われます。

Windows Server RRASを使う

Windows ServerにRouting and Remote Access Service (RRAS)という機能があり、こちらをネットワーク仮想アプライアンスとしてOCIのVM内に構築して、IPSecのVPNを張ることができます。
こちらに記事を書いておきました。

takeokams
マイクロソフトのマーケティング部門に所属していますが、ここでの記事は個人的なものです。 投稿内容は公式なサポートを表明するものでもなく、ライセンスを許諾するものでもありませんが、個人的に実施したことを利用の参考となればと思い、個人的に集めた情報とともに公開するものです。 正確を期すよう最大限の努力はしていますが、最新情報は変わっているかもしれないので、利用はご自身の責任において行ってください。
microsoft
マイクロソフトのメンバーが最新の技術情報をお届けします。Twitterアカウント(@msdevjp)やYouTubeチャンネル「クラウドデベロッパーちゃんねる」も運用中です。
https://aka.ms/MSFT-Docs-JPN
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away