はじめに
OCI に VPN(IPsec) 接続したいという要望がありました。公式のサイトに記載の無かった YAMAHA RTX810 で接続できましたので、ここに手順を示します。
・公式のサイト
Title: Oracle Cloud InfrastructureとVPN(IPsec)接続するルーターの設定 : コマンド設定
URL: https://network.yamaha.com/setting/router_firewall/cloud/oracle_cloud/setup_rt
◆抜粋
本機能の対応機種は、RTX5000、RTX3510、RTX3500、RTX1300、RTX1220、RTX1210、RTX830、NVR700Wです。
前置き
OCI 側の設定の記載はありません。OCI 側の設定は完了していることが前提となります。
OCI 側で必要な情報は [ネットワーキング] - [顧客接続性] - [サイト間VPN] の「IPsecの接続情報」から、トンネル1と2の【Oracle VPN IPアドレス】および各トンネルの【共有シークレット】となります。
ルータ(YAMAHA RTX810)は VPN の接続設定のみの記載となります。
設定手順
1. NATの設定
ip lan2 nat descriptor 200
nat descriptor type 200 masquerade
nat descriptor address outer 200 primary
nat descriptor masquerade static 200 1 192.168.99.1 udp 500
nat descriptor masquerade static 200 2 192.168.99.1 esp
nat descriptor masquerade static 200 3 192.168.99.1 udp 4500
2. トンネルインタフェースの設定
tunnel select 1
ipsec tunnel 1
3. SAポリシーを定義
ipsec sa policy 1 1 esp aes256-cbc sha-hmac
4. IKEの暗号アルゴリズム、ハッシュアルゴリズム、グループ、寿命の設定
ipsec ike duration ipsec-sa 1 3600
ipsec ike duration isakmp-sa 1 28800
ipsec ike encryption 1 aes256-cbc
ipsec ike group 1 modp1536
ipsec ike hash 1 sha256
5. キープアライブの設定
ipsec ike keepalive log 1 off
ipsec ike keepalive use 1 on dpd 5 4
注意
キープアライブの方式ですが公式のサイトにある heartbeat ではトンネルのアップダウンが頻繁に繰り返されました(追記参照)。DPD(Dead Peer Detection) にしております。
6. OCI で取得した【共有シークレット】の設定
ipsec ike pre-shared-key 1 text 7BxgJNkZ0bBZZ5yIH7wVsypRUm9n9CnLhVgsmog7ztF94NzOHyy9Tqdacm5
警告
このキーは記事掲載用に ChatGPT にて生成したランダムな文字列です。実際に使われているものではありません。
7. ルータ(YAMAHA RTX810)側のグローバル IP アドレスを設定
ipsec ike local address 1 203.0.113.99
ipsec ike local id 1 203.0.113.0/24
参考
この IP アドレス(203.0.113.0/24)は、RFC 5737 によりドキュメンテーション目的で予約されています。この IP アドレスを使用して公開情報を作成しても、他のネットワークに影響を与えることは無いため記事掲載用に使用しています。
8. OCI で取得した【Oracle VPN IPアドレス】を設定
ipsec ike remote address 1 198.51.100.77
ipsec ike remote id 1 192.168.99.0/24
参考
この IP アドレス(198.51.100.77)は、RFC 5737 によりドキュメンテーション目的で予約されています。この IP アドレスを使用して公開情報を作成しても、他のネットワークに影響を与えることは無いため記事掲載用に使用しています。
9. IPsec NAT トラバーサルを利用するための設定
ipsec ike nat-traversal 1 on
10. PFS を用いるか否かの設定
ipsec ike pfs 1 on
11. TCP セッションの MSS 制限の設定
ip tunnel tcp mss limit auto
12. トンネルインターフェースを有効化
tunnel enable 1
13. 拠点 VPN 装置側から IKE を開始する設定
ipsec auto refresh on
14. トンネル2の設定
tunnel select 2
ipsec tunnel 2
ipsec sa policy 2 2 esp aes256-cbc sha-hmac
ipsec ike duration ipsec-sa 2 3600
ipsec ike duration isakmp-sa 2 28800
ipsec ike encryption 2 aes256-cbc
ipsec ike group 2 modp1536
ipsec ike hash 2 sha256
ipsec ike keepalive log 2 off
ipsec ike keepalive use 2 on dpd 5 4
ipsec ike pre-shared-key 2 text KakcHSJob0jy4XMZZP2yIH7wVsypRUm9n9CnihVgsmog7ztF94NzOHyy9Tq
ipsec ike local address 2 203.0.113.99
ipsec ike local id 2 203.0.113.0/24
ipsec ike remote address 2 198.51.100.88
ipsec ike remote id 2 192.168.99.0/24
ipsec ike nat-traversal 2 on
ipsec ike pfs 2 on
ip tunnel tcp mss limit auto
tunnel enable 2
15. ゲートウェイの設定
ip route 10.0.0.0/16 gateway tunnel 1 hide gateway tunnel 2 hide
注意
この IP アドレス(10.0.0.0/16) は OCI の VCN の【IPv4 CIDRブロック】です。
ルータ(YAMAHA RTX810)の接続画面
終わり
設定は以上となります。
追記
(2023/12/28)
・キープアライブの設定を修正しました。
ipsec ike keepalive use 1 on heartbeat 10 4
ipsec ike keepalive use 1 on dpd 5 4
heartbeat を設定した場合、トンネルのアップダウンが頻繁に繰り返されました(show log.txt 参照)。YAMAHA RTX810 の場合は DPD(RFC3706) を使用した方が良さそうです。
[IKE] heartbeat: dead peer detection SA[1] 198.51.100.77
[IKE] initiate ISAKMP phase to 198.51.100.77 (local address 203.0.113.99)
[IKE] initiate informational exchange (delete)
IP Tunnel[1] Down
[IKE] initiate IPsec phase to 198.51.100.77
IP Tunnel[1] Up
[IKE] initiate informational exchange (delete)
参考
キープアライブの方式としては、heartbeat、ICMP Echo、DPD(RFC3706) の 3 種類から選ぶことができます。