[OCI,RTX]Oracle Cloud InfrastructureとRTXでVPN(IPsec)接続できない場合のチェックポイント

Oracle Cloud

チェック項目

基本的に,以下のサイトで紹介されている 設定 で接続可能です。

Oracle Cloud InfrastructureとVPN(IPsec)接続するルーターの設定 : コマンド設定
ヤマハのネットワーク機器の設定例ページです。Oracle Cloud InfrastructurとVPN(IPsec)接続するための、ルーターの設定をご紹介します。

検証日:2020/9/30
RTX1210 Rev.14.01.38
RTX830 Rev.15.02.17 , Rev.15.02.13

必須条件:自分側は固定のグローバルIP(パブリックIP)が必要

RTXファームウェアのバージョン

ファームウェアが古いと対応していないようです。Yamahaのサイトで対応バージョンかどうか確認し必要に応じてアップデートしなければなりません。

https://network.yamaha.com/setting/router_firewall/cloud/oracle_cloud/setup_rt

ip pp address (ルーターのグローバルIPアドレス) の記述を加えてみる (プロバイダーとIPOE接続の場合は除く)

トンネルの設定部分を注視しがちですが,PP インターフェースに
ip pp address (ルーターのグローバルIPアドレス) ・・・※1
が記述されているでしょうか。

これはNATと関係しているようです。
もしNATの内側アドレスに グローバルIPが含まれている,またはAUTOなら
(nat descriptor address inner xx の部分になりますが)
この場合,上記の※1がなければリンクアップしないかIPSECフェーズ2が失敗します。

MEMO
NATの内側アドレスがAutoでもなく,ローカルアドレスのみ(グローバルIPが含まれていない)なら
(nat descriptor address inner xx にグローバルIPがない)
上記の※1はなくてもOCIに接続できます。(もちろんあっても接続できます)
なので,NAT内側アドレスをどうしているかによって,※1の記述をするかしないかを決定します。

メモ

ip pp address を設定すると,いわゆる「ヘアピンNAT」が無効になります。
ルーター配下に WEBサーバーなどNATを使って稼働させている場合は注意が必要です。
ルーター配下のPCからグローバルIPでWEBサーバーに接続できなくなります。
この場合,WEBサーバーのローカルIPで接続させるよう変更しなければなりません。
社内から接続するURLを別のものにするか,社内PCが使用するDNSサーバーを調整してローカルIPを返すようにするか。

NATディスクリプターの外側・内側・NATマスカレード

IPsecでのNATの設定について

に記載されているとおり,外側・内側・NATマスカレードの設定につじつまがあっていなければなりません。すでにNATマスカレードUPD 500,4500,esp を ルーターのローカルIPへ宛先としている(下記の※2)なら,以下のように内側アドレスにもルーターのローカルIPが含まれていなければなりません。※3

Yamahaのサンプルに従うとすれば 以下の内容

nat descriptor address outer 1 グローバルIP
nat descriptor address inner 1 192.168.0.1-192.168.0.254  ・・・※3
nat descriptor masquerade static 1 1 192.168.0.1 udp 500  ・・・※2
nat descriptor masquerade static 1 2 192.168.0.1 udp 4500 ・・・※2
nat descriptor masquerade static 1 3 192.168.0.1 esp *   ・・・※2

tunnel Select x
  ipsec ike local address xx グローバルIP --ここはグローバルIPでないとNG

上記どちらでもOKとのことです。

外側アドレスは下図のところでも確認できる。もし固定IPなら Auto ではなく 明確に記述しておいた方がいいかもしれない。

内側アドレスが Auto の場合どうも接続がうまくいかない。まずはローカルIP範囲だけ登録して様子をみて,だめならグローバルIPを追加してみる。

ipsec ike nat-traversal を on にしてみる

Oracle のヘルプでは以下の記述があります。

Oracle Cloud InfrastructureでIPSecトンネルを確立するときに、CPEでNAT-Tを無効にすることをお薦めします。複数のCPEで同じNAT IPを共有している場合を除き、NAT-Tは必要ありません。

https://docs.oracle.com/ja-jp/iaas/Content/Network/Tasks/configuringCPE.htm

ネットに直で接続しているRTXの場合(グローバルIPをルーターが持っている)は確かにNATトラバーサルは不要でした。Off でもリンクアップします。とはいえ不調の場合ONに変更してみるとつながるかもしれません。RTX側でNATトラバーサルが不要だとしても,Onのままでも別に構いません。(内部的に不要と判断されているようです。YamahaのサンプルではONにしています。

ファイアウォールはどうか

以下を許可します

受信方向フィルタ
UDP 500 宛先 拠点のグローバルIP, ルーターのローカルIP
UDP 4500 宛先 拠点のグローバルIP, ルーターのローカルIP
esp 宛先 拠点のグローバルIP, ルーターのローカルIP

ipsec auto refresh on

この一文がないと接続できない。技術忘れはありませんか?

RTXのVPN拠点間接続ウィザードで設定を上書きしていないか?

1度でも,該当のVPN接続をGUIで保存してしまうと設定がおかしなことになります。コンソールで Tunnel 部分を 再チェックします。

VPNはUP, IPSECは稼働中となっているのにPINGが飛ばない

考えられる要素は大きく3つ

●OCIで設定しているルーティングの設定またはYamahaルーターに設定しているルーティング設定に問題があるかもしれない

●単にOCI側のルーティングの設定反映に時間がかかっているだけ
 メモ:ルーティング設定に問題がなかったが,OCIにあるインスタンスとCPE側にあるすべての端末が通信できるようになるまで2日ほどかかったことがあった。2日間かけて,徐々に通信できる端末が増えていき,またPINGがNGでもTCP通信を行うアプリが使えるなど不思議な状況に見舞われた。いずれにせよ設定を変えることなく2日間放置していただけ。これはトラブルが起きた拠点だけです。設定がすんなり進んだところは即ルーティングが反映されていました。

●OCIまたはCPE側のファイアウォールでブロックされている
OCI側としては,セキュリティリストの設定を見直すことと。インスタンス(仮想サーバー)に設定されているファイアウォールがどうなっているか。同様に,CPE側でもファイアウォールでブロックされていないかどうか。

通信はできるが,RTXのsyslogに大量の initate info exchange (notification) , respond IPsec phase to xxx.xxx.xxx.xxxx がある場合

VPNはリンクアップしているしPING試験も問題ないが,20秒間隔ぐらいで上記のログがRTX側にある場合。また,Oracle側のIPSECログに「ignoring informational payload NO_PROPOSAL_CHOSEN, msgid=00000000, length=28」「set ikev1 error <14>」が大量にある場合。

A.Oracleクラウド側の IPC に設定している CPE IKE識別子 を 拠点ルーターのローカルIP から 拠点のグローバルIPにしてみる。
B.RTXのNAT内側アドレスからグローバルIPを削除してみる

変更するといったんVPNは切断されます。問題がなければ10秒ほどで復帰します。

「VPN接続のバージョン」が v1 だと不具合あり

急にトンネルの1つが切断されたままUPしなくなりました。サポートに問い合わせたところ,以下の情報が得られた。ルーターを再起動しても切断のまま。トンネルは2つありますが,なぜか片方はUPし通信も問題ない。

・「VPN接続のバージョン:v1」では,Yamaha製のCPE機器において複数のプロポーザルを同時に処理できないことに起因した動作不良が報告されている。

・「VPN接続のバージョン:v2」では,OCI側の設定をカスタマイズできるし,限られた分だけのプロポーザルを行うので不具合発生が抑制される。

てっきり IKE v2 にしなさいと言われているかと思いましたが,IKEのバージョンのことではありません。OCI側のIPSEC機能のバージョン(オラクル社内でのバージョン呼称)ですね。自社での設定変更や仕様が変わっても,相手先に勝手に影響しないようにバージョン管理して維持しているんですね。ある意味すごい。

てっきり IKE v2 にしなさいと言われているかと思いましたが,IKEのバージョンのことではありません。(IKE v2 化で試行錯誤を数時間してしまった。)

要は 「サイト間VPNを終了させ,新たに作り直せばVPNの接続のバージョンが新しくなるし問題も起きなくなるでしょう。」ということでした。

VPN接続のバージョン。v1 だと 不具合がある。(IKEのバージョンのことではない)

なので,
〇OCIサイトで現在のサイト間VPNの設定やトンネル設定を可能な限りメモして(←重要)
〇サイト間VPN「終了」で削除(トンネルが2つとも削除されますね)
〇サイト間VPNを新しく作り直す(メモ情報を頼りに同じ値に)
〇Oracle VPN IPアドレスが新たに割り当てられるので,RTXの設定を変更する。ip remote address の行

結局はこれで 治りました。

調査やサポート受けるために

show ipsec sa

SA が作成されているかどうかを確認できる。SAが作成されていなければ,WANやフィルターの設定,IPSEC SA policy の設定を見直す

packetdump pp x

実際に 何が起きているのか パケットキャプチャ を行える。OCIと何かしらやり取りできているのか,それともまったく通信ができていなか参考になる。

syslog debug on が必要

43.10 パケットダンプの設定

Yamahaのサポートに提出するファイルを取得する

もしYamahaのサポートにヘルプを求める場合は,ルーターのWEB設定画面にアクセスして 右上にある TECHINFO からテキストファイルを取得し提出する。

コメント

スポンサーリンク
タイトルとURLをコピーしました