
以前Oracle Cloud Infrastructure(以下OCI)とYamahaのRTX 1210でサイト間VPN(Site-to-Site VPN)を繋いだ時に、公式のドキュメント通りにやっても上手く疎通できなかったので、その解消方法を備忘録として記録しておきます。
同じ状態になった人の参考になれば幸いです。
また、ここで言及する問題以外の部分の設定方法に関しては記載しないので、OCI公式のクイックスタートを参照してください。
ネットワーク構成
自宅のネットワークが、諸事情で少しイレギュラーなものになっているので、その紹介をしておきます。

実線が有線接続、破線が無線接続です。
諸事情でONU一体型ルーターを使用する必要があり、このルーターを迂回することもできません。そのため、RTX 1210はL3スイッチとして使用しています。
詰まったポイント①
↑の構成図にあるように、VPNを接続したいRTX 1210がルーターの背後にあるため、OCI側とRTX 1210側の両方でNAT-T(NATトラバーサル)という機能を有効にしてやる必要があります。
OCI側でのNAT-T有効化
OCI側でのNAT-T有効化は
NAT-Tを有効化したいトンネル → 編集 → 拡張オプション →「NAT-T有効」を「自動」または「有効」にして「変更の保存」
で有効化できます。
RTX 1210側でのNAT-T有効化
以下のコマンドで有効化できます。
ipsec ike nat-traversal <トンネル番号> on type=2また、公式リファレンスの15.48.5 IPsec NAT トラバーサルを利用するための設定に詳しい説明や追加のオプションが記載されています。
詰まったポイント②
これは厳密には詰まったポイントとは違うかもしれないのですが、公式ドキュメント通りやってると抜けそうなので記載しておきます。
OCIの公式ドキュメントではISAKMP Policy Options、IPSec Policy Optionsの両方で、Diffie-Hellman Groupの推奨が「Group 5」となっています。
しかし、RFC 9142には「MODP groups with a modulus size less than 2048 bits are weak and MUST NOT be used.」という記載があり、1536bitである「Group 5」は使うべきではありません。そのため、RTX 1210が対応している最大のbit長である2048bitの「Group 14」を使用することにしました。
OCI側でのDiffie-Hellman Group変更
フェーズ1、フェーズ2両方でDiffie-Hellman Groupを変更してやる必要があります。
フェーズ1
Diffie-Hellman Groupを変更したいトンネル → 編集 → 「フェーズ1(ISAKMP)の情報」 → 「カスタム構成の設定」をオンにする → 「カスタムDiffie-Hellmanグループ」で「GROUP 14」を選択。
「カスタム暗号化アルゴリズム」、「カスタム認証アルゴリズム」、「IKEセッション・キー存続時間」は公式ドキュメントの推奨通りで問題ありません。
フェーズ2
Diffie-Hellman Groupを変更したいトンネル → 編集 → 「フェーズ2(IPSec)の情報」 → 「完全な前方秘匿性の有効化」をオンにする → 「完全な前方秘匿性Diffie-Hellmanグループ」で「GROUP 14」を選択。
RTX 1210側でのDiffie-Hellman Group変更
以下のコマンドで有効化できます。
ipsec ike group <ゲートウェイID> modp2048また、公式リファレンスの15.24 IKE が用いるグループの設定に詳しい説明や追加のオプションが記載されています。
詰まったポイント③
色々調べていたところ鍵交換のプロトコルにIKEv1とv2というものがあり、v2の方が推奨されていた(例)のでそちらを採用することにしていました。
また、YAMAHAの公式リファレンスには次のような記載があります。
IKEv2 では、ipsec ike proposal-limitation コマンドが on に設定されているとき、本コマンドで設定されたアルゴリズムを提案する。ipsec ike proposal-limitation コマンドが off に設定されているとき、または、ipsec ike proposal-limitation コマンドに対応していない機種では、本コマンドの設定にかかわらず、サポートするすべてのアルゴリズムを同時に提案し、相手側セキュリティ・ゲートウェイに選択させる。また応答側として働く場合は、提案されたものからより安全なアルゴリズムを選択する。
これを読んで自分は、OCI側で適切なアルゴリズムを選択してくれるので設定する必要はないのだと思っていました。
ただ、他の設定を正しく行ってもトンネルが繋がらず、onにすると繋がったので、どうやら必要なようです。
以下のコマンドで有効化できます。
ipsec ike proposal-limitation <ゲートウェイID> onまとめ
OCI と RTX 1210 でサイト間VPNを構築する際に詰まった3つのポイントを紹介しました。
・NAT環境を意識する:RTX 1210 が上位ルーター配下にある場合、NAT-T の有効化は OCI 側・RTX 1210 側の両方で必要
・公式ドキュメントの推奨値を鵜呑みにしない:OCI が推奨する DH Group 5 は RFC 9142 で「MUST NOT」とされており、Group 14 以上を使うべき
・リファレンスは正確に読む:ipsec ike proposal-limitation は「OCI側で選んでくれるから不要」ではなく、IKEv2 では on にしないと接続できない
VPN接続が確立しないときは、show ipsec sa 等で Phase 1 / Phase 2 のどちらで止まっているかを切り分けると原因の特定が早くなります。





![Microsoft Power BI [実践] 入門 ―― BI初心者でもすぐできる! リアルタイム分析・可視化の手引きとリファレンス](/assets/img/banner-power-bi.c9bd875.png)
![Microsoft Power Apps ローコード開発[実践]入門――ノンプログラマーにやさしいアプリ開発の手引きとリファレンス](/assets/img/banner-powerplatform-2.213ebee.png)
![Microsoft PowerPlatformローコード開発[活用]入門 ――現場で使える業務アプリのレシピ集](/assets/img/banner-powerplatform-1.a01c0c2.png)


