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

Oracle Cloud

チェック項目

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

Oracle Cloud InfrastructureとVPN(IPsec)接続するルーターの設定 : コマンド設定
ヤマハのネットワーク機器の設定例ページで...

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

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

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

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

ip pp address (ルーターのグローバルIPアドレス) が記述されているか(プロバイダーとIPOE接続の場合は除く)

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

nat descriptor address inner xx (ルーターのグローバルIPアドレスが含まれている,またはAuto)
この場合,上記の※1がなければリンクアップしないか,IPSECフェーズ2が失敗します。

nat descriptor address inner xx (ローカルアドレスのみ)
この場合,上記の※1はなくてもOCIに接続できていました。

メモ

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へ宛先としているなら,以下のように,内側アドレスにもルーターのローカルIPが含まれていなければなりません。

ipsec ike local address 1 192.168.0.1
nat descriptor address outer 1 172.16.100.1
nat descriptor address inner 1 192.168.0.1-192.168.0.254
nat descriptor masquerade static 1 1 192.168.0.1 udp 500
nat descriptor masquerade static 1 2 192.168.0.1 udp 4500
nat descriptor masquerade static 1 3 192.168.0.1 esp *

tunnel Select x
  ipsec ike local address xx 172.16.100.1 --ここはグローバルIPのままでOK

もし,NATマスカレードの宛先がグローバルIP(例,172.16.100.1)へ なら,下記のように なります。

ipsec ike local address 1 172.16.100.1
nat descriptor address outer 1 172.16.100.1
nat descriptor address inner 1 172.16.100.1 192.168.0.1-192.168.0.254
nat descriptor masquerade static 1 1 172.16.100.1 udp 500
nat descriptor masquerade static 1 2 172.16.100.1 udp 4500
nat descriptor masquerade static 1 3 172.16.100.1 esp *

tunnel Select x
  ipsec ike local address xx 172.16.100.1

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

外側アドレスは以下のところでも確認できる

ipsec ike nat-traversal x on か?

OCIのサイト側はNATトラバーサルを使用しませんが ON でないと リンクアップしません。Yamahaサイトの設定例でもONになっています。

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

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

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

以下を許可します

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

1本目は接続できたのに,2本目の設定を追加すると接続ができない

NATの影響かもしれません。以下の個所を2本とも変更してみます。

tunnel Select x
ipsec ike local address xx ルーターのローカルIP

に変更してみます。

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

1度でも,該当のVPN接続をGUIで保存してしまうと設定がおかしなことになるので,Yamahaサイトの事例にある内容で 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>」が大量にある場合。

Oracleクラウド側の IPC に設定している CPE IKE識別子 を 拠点ルーターのローカルIP から 拠点のグローバルIPに変更してみる。

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

show ipsec sa

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

packetdump pp x

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

syslog debug on が必要

43.10 パケットダンプの設定

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

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

コメント

タイトルとURLをコピーしました