CenturyルーターでIPsec

# Centuryルーターでサイト間IPsecを実現
Centuryルーター２台を用いて、NAT環境下でIPsec-VPNを実現したときのメモ。

## ネットワーク構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/f57d4994-9cae-3910-55df-98544a4f2ebb.png)
- Router1とRouter2とがIPsec化
- 左側がNAT内側、右側がNAT外側
- Router1のWAN IPアドレスはDHCPにより取得、Router2のWAN IPアドレスは固定IPアドレス（aaa.bbb.ccc.ddd）
- LAN側ネットワークは、左側が192.168.20.0/24、右側が192.168.10.0/24
- 用いたRouterは”NXR-G110”

## 設定
### 情報はあるが、、
下記メーカーサイトに設定情報が記載されていたが、これではうまく動作せず、、であった（小生の環境が不適切であっただけかもしれないが）。
- [1-7. IPsec NATトラバーサル接続設定](https://www.centurysys.co.jp/futurenet-tech-wiki/setting/setting-12902/)

### GUI
いつもはCLIで設定することが多いが、方針を変更して、GUIによる設定を行ったところ、正しく動作した。その内容を下記する。

#### ログイン
![Loginのコピー.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/e3560e97-d896-d7a6-93af-c99e91a9dcf0.jpeg)
- ポート800でアクセス

#### インターフェース
![Interfaceのコピー.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/751757d0-5acd-9532-ccb7-7ba4ac43860d.jpeg)
- Router1のインターフェース設定
    - "ehternet0"がLAN側
    - "ethernet1"がWAN側
- Router2では、ethernet1(WAN)側は固定IPアドレス設定

#### NAT
![NAT2のコピー.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/878f3cc9-e0f1-7e12-0af1-f15bcff81358.jpeg)
- ethernet1(WAN)にマスカレードを適用

#### IPsecトンネル
![IPsecTunnel1のコピー.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/436741d5-799f-8966-589e-f15138af00cf.jpeg)
![IPsecTunnel2のコピー.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/f1b6bbcf-d633-8074-2e6d-8285b60d076c.jpeg)
- リモート（接続先）アドレスを指定（Router1のみ）
- リモート（接続先）もローカル（自分）もIDとして、KEY-IDを指定し、同じ内容を入力
- 認証方式はPSK、同じパスワードを入力
- トンネルの対象となる送信元アドレスおよび宛先アドレスの指定
- NATトラバーサル使用

設定状況は下記となる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/e89e09c1-6f17-16dc-0ce5-64863d5005d5.png)


#### スタティックルート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/18442c52-0e4f-c12e-e938-68aba6adf9dd.png)
リモートのLAN側ネットワークはトンネルインターフェースを利用。

### 設定情報
GUIで設定した内容のコンフィグである。関連するところのみ記載。
#### Router1
```
ipsec local policy 1
 address ip 
 self-identity key himitsu2
!
ipsec isakmp policy 1
 version 2
 authentication pre-share himitsu1
 authentication remote pre-share himitsu1
 hash sha256
 encryption aes128
 group 2
 isakmp-mode aggressive
 remote address ip aaa.bbb.ccc.ddd
 remote identity key himitsu2
 local policy 1
!
ipsec tunnel policy 1
 description Client
 set transform esp-aes128 esp-sha256-hmac 
 set key-exchange isakmp 1
 match address __webipsec1 nat-traversal  # ここにNATトラバーサルの設定があることが特徴
!
interface tunnel 0
 no ip address
 tunnel mode ipsec ipv4
 tunnel protection ipsec policy 1
!
interface ethernet 0
 ip address 192.168.20.1/24
!
interface ethernet 1
 ip address dhcp 
 ip masquerade
 ipsec policy 1
!
ip route 192.168.10.0/24 tunnel 0
!
ipsec access-list __webipsec1 ip 192.168.20.0/24 192.168.10.0/24
```

#### Router2
```
ipsec local policy 1
 address ip 
 self-identity key himitsu2
!
ipsec isakmp policy 1
 version 2
 authentication pre-share himitsu1
 authentication remote pre-share himitsu1
 hash sha256
 encryption aes128
 group 2
 isakmp-mode aggressive
 remote address ip any
 remote identity key himitsu2
 local policy 1
!
ipsec tunnel policy 1
 description Client
 set transform esp-aes128 esp-sha256-hmac 
 set key-exchange isakmp 1
 match address __webipsec1 nat-traversal  # ここにNATトラバーサルの設定があることが特徴
!
interface tunnel 0
 no ip address
 tunnel mode ipsec ipv4
 tunnel protection ipsec policy 1
!
interface ethernet 0
 ip address 192.168.10.1/24
!
interface ethernet 1
 ip address aaa.bbb.ccc.ddd/24
 ip masquerade
 ipsec policy 1
!
ip route 0.0.0.0/0 aaa.bbb.ccc.1
ip route 192.168.20.0/24 tunnel 0
!
ipsec access-list __webipsec1 ip 192.168.10.0/24 192.168.20.0/24
```
上記は、メーカーサイトの下記記載とは異なる。
- [1-7. IPsec NATトラバーサル接続設定](https://www.centurysys.co.jp/futurenet-tech-wiki/setting/setting-12902/)

なお、ESPパケットが流れるだけなので、パケットデータは省略。

EOF