YAHAMA RTX830を使用したOCI IPSec VPN接続例

## 概要
YAHAMA RTX830を使用してOCIにIPSec VPNで接続する設定例です。

(追記)
IKEv2を使用した設定例は[こちら](https://qiita.com/tktk2712/items/365ce1eacef543bcf476)

## 構成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/8fc659dc-33d5-2e46-3c81-9128b61af212.png)

## 設定例
* OCI
OCIメニューからネットワーキング>>サイト間VPNを選択します。
作成については以下のサイトをご参照ください。
サイト間VPNの設定
https://docs.oracle.com/ja-jp/iaas/Content/Network/Tasks/settingupIPsec.htm

ここでは作成済みの設定となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/d2c93551-3cc1-b83b-5565-d02a1d49b654.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/3fcae536-fd2a-cda3-a99f-4cf2fd74ecdf.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/754bd8dd-f16d-5a31-edcf-b302770b7bed.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/b6d9a20c-e0bb-16a1-1a40-1aedda3e40c7.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/c80d30bd-bfe0-39ee-28ec-dcf43f682712.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/ec33d590-17f2-4bfa-85f6-828d693ceef8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/a61bac78-0302-65e6-e982-156c105998b7.png)


* RTX830
ファームウェアバージョンはRev.15.02.26です。
AccesslistやVRRPは環境に応じて設定が必要です。

Config
```config.txt
login password *
administrator password encrypted *
login user admin *
user attribute connection=serial,telnet,remote,ssh,sftp,
http gui-page=dashboard,lan-map,config login-timer=300
user attribute admin connection=serial,telnet,remote,ssh,
sftp,http gui-page=dashboard,lan-map,config login-timer=2678400
ip route default gateway 【LAN GW】
ip route 10.0.0.0/25 gateway tunnel 1 hide gateway tunnel 2 hide
ip lan1 address 192.168.100.1/24
ip lan2 address 【LAN IP】
tunnel select 1
 description tunnel OCI-VPN1
 ipsec tunnel 1
  ipsec sa policy 1 1 esp aes256-cbc sha256-hmac
  ipsec ike version 1 1
  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
  ipsec ike keepalive log 1 off
  ipsec ike keepalive use 1 on dpd 5 4
  ipsec ike local address 1 【LAN IP】
  ipsec ike local id 1 0.0.0.0/0
  ipsec ike nat-traversal 1 on
  ipsec ike pfs 1 on
  ipsec ike pre-shared-key 1 text 【PreSharedKey】
  ipsec ike remote address 1 【OCI_Global_IP1】
  ipsec ike remote id 1 0.0.0.0/0
 ip tunnel address 192.168.0.9/30
 ip tunnel remote address 192.168.0.10
 ip tunnel mtu 1340             *MTUを1340に調整
 ip tunnel tcp mss limit 1300   *MSSを1300に調整
 tunnel enable 1
tunnel select 2
 description tunnel OCI-VPN2
 ipsec tunnel 2
  ipsec sa policy 2 2 esp aes256-cbc sha256-hmac
  ipsec ike version 2 1
  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 local address 2 【LAN IP】
  ipsec ike local id 2 0.0.0.0/0
  ipsec ike nat-traversal 2 on
  ipsec ike pfs 2 on
  ipsec ike pre-shared-key 2 text 【PreSharedKey】
  ipsec ike remote address 2 【OCI_Global_IP2】
  ipsec ike remote id 2 0.0.0.0/0
 ip tunnel address 192.168.0.13/30
 ip tunnel remote address 192.168.0.14
 ip tunnel mtu 1340             *MTUを1340に調整
 ip tunnel tcp mss limit 1300   *MSSを1300に調整
 tunnel enable 2
ipsec auto refresh on
syslog notice on
syslog debug off
telnetd service off
dhcp service server
dhcp server rfc2131 compliant except remain-silent
sshd service on
sshd host key generate *
sftpd host any
statistics traffic on
```
* フェーズ1/フェーズ2のDHグループは同じグループを使う仕様とのことでDH Group5(modp1536)を使用しています

IPSec状況
```
tunnel2# show ipsec sa
Total: isakmp:2 send:2 recv:5

sa    sgw isakmp connection    dir  life[s] remote-id
----------------------------------------------------------------------------
1     2    -     isakmp        -    28742   【OCI_Global_IP2】
2     2    1     tun[0002]esp  send 3544    【OCI_Global_IP2】
3     2    -     tun[0002]esp  recv 1830    【OCI_Global_IP2】
4     2    -     tun[0002]esp  recv 1902    【OCI_Global_IP2】
5     1    -     isakmp        -    28500   【OCI_Global_IP1】
6     1    5     tun[0001]esp  send 3302    【OCI_Global_IP1】
7     1    -     tun[0001]esp  recv 1938    【OCI_Global_IP1】
8     1    5     tun[0001]esp  recv 3302    【OCI_Global_IP1】
9     2    1     tun[0002]esp  recv 3544    【OCI_Global_IP2】

tunnel2#
```
* Pingテスト
OCIサーバーからオンプレへのping結果
``` Server.
[user@linux ~]$ ping 192.168.100.102
PING 192.168.100.102 (192.168.100.102) 56(84) bytes of data.
64 bytes from 192.168.100.102: icmp_seq=1 ttl=125 time=51.2 ms
64 bytes from 192.168.100.102: icmp_seq=2 ttl=125 time=24.9 ms
64 bytes from 192.168.100.102: icmp_seq=3 ttl=125 time=28.9 ms
64 bytes from 192.168.100.102: icmp_seq=4 ttl=125 time=47.9 ms
64 bytes from 192.168.100.102: icmp_seq=5 ttl=125 time=47.1 ms
^C
--- 192.168.100.102 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 24.943/40.031/51.207/10.849 ms
[user@linux ~]$

```

## Static RouteからBGPへの変更
上記の例はStatic RouteですがBGPへの変更は以下のように行います。
- OCIコンソールから ネットワーキング>>顧客接続性>>サイト間VPN>>対象VPN>>対象トンネルを選択して、編集ボタンを押下しルーティングをBGP動的ルーティングに変更して必要なパラメータを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/5fc9aa11-d080-69f6-4c51-dd73cfd33550.png)

- OCIコンソールから ネットワーキング>>顧客接続性>>サイト間VPN>>対象VPNを選択して編集ボタンを押下し、オンプレミス・ネットワークへのルートを削除します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/3adbaa5f-eb0c-c59f-31f0-03a659032b2e.png)


- RTXのconfigからOCI VCN向けのStatic routeを削除してBGPの設定を追加します。以下の例ではRTX830のLAN側192.168.100.0/24を広報対象としています。
``` config.
【Static route削除】
no ip route 10.0.0.0/25 gateway tunnel 1 hide gateway tunnel 2 hide

【BGP追加　OCI側のASNは31898です】
bgp use on
bgp autonomous-system 64512
bgp log neighbor
bgp neighbor 1 31898 192.168.0.10 hold-time=180 local-address=192.168.0.9 ignor
e-capability=on
bgp neighbor 2 31898 192.168.0.14 hold-time=180 local-address=192.168.0.13 igno
re-capability=on
bgp import filter 1 include 192.168.100.0/24
bgp import 31898 static filter 1

【BGP設定反映】
bgp configure refresh

```