FutureNet

NXR,VXRシリーズ

IPsec編

4. Virtual Private Cloud(VPC)設定

4-3. Amazon VPCとのVPN接続(スタティックルートの利用)

Amazon Virtual Private Cloud(以下Amazon VPC)とIPsec接続する設定例です。なお、この設定例では経路制御にスタティックルートを使用します。また、この設定例は弊社独自の検証結果を元に作成しております。よって、Amazon VPCの仮想ネットワークとの接続および動作を保証するものではありません。また、今後の仕様変更により接続できない可能性があります。

 

※Amazon VPCに関する情報はこちら

※Amazon Web Services およびその他のAWS商標は、米国およびその他の諸国におけるAmazon.com, Inc. またはその関連会社の商標です。

 

【 IPsec機能対応機種 】

NXR-1300シリーズ,NXR-650,NXR-610Xシリーズ,NXR-530,NXR-350/C,NXR-230/C,NXR-160/LW,NXR-G180/L-CA,NXR- G200シリーズ,NXR-G110シリーズ,NXR-G100シリーズ,NXR-G050シリーズ,VXRシリーズ(2023/7現在)

設定例で使用している機能の対応状況は、各製品の更新履歴やユーザーズガイドをご確認ください。

 

コンテンツ
構成図 設定データ 設定例 設定例解説 端末の設定例 付録

 

【 構成図 】

  • NXRではVPN接続用に固定のグローバルIPアドレスを使用します。
  • この例で使用しているルータは、NXR-530です。
  • NXRのeth1で接続しているISPのDNSサーバアドレスを以下とします。
    プライマリDNSサーバ:203.0.113.253
    セカンダリDNSサーバ:203.0.113.254

 

〔 正常時 〕

  • NXRは Virtual Private Gateway(以下VGW)の外部IPアドレス(192.0.2.1, 192.0.2.2)に対してIPsecトンネルを確立し、ディスタンス値により192.0.2.1向けのIPsecトンネルの経路を優先して使用します。

 

〔 IPsecトンネル#1障害時 〕

  • VGWの外部IPアドレス192.0.2.1とのIPsecトンネルダウン時、ディスタンス値により192.0.2.2向けのIPsecトンネルの経路を使用します。

 

【 設定データ 】

〔 Amazon VPCの設定パラメータ 〕

この設定例ではAmazon VPCでVPN設定作成後、ベンダに「Generic」を指定してダウンロードした設定パラメータの条件を下記とします。

IPSec Tunnel #1
==================================================
#1: Internet Key Exchange Configuration
– IKE version : IKEv1
– Authentication Method : Pre-Shared Key
– Pre-Shared Key : IPsecKEY1
– Authentication Algorithm : sha1
– Encryption Algorithm : aes-128-cbc
– Lifetime : 28800 seconds
– Phase 1 Negotiation Mode : main
– Diffie-Hellman : Group 2
#2: IPSec Configuration
– Protocol : esp
– Authentication Algorithm : hmac-sha1-96
– Encryption Algorithm : aes-128-cbc
– Lifetime : 3600 seconds
– Mode : tunnel
– Perfect Forward Secrecy : Diffie-Hellman Group 2
– DPD Interval : 10
– DPD Retries : 3
– TCP MSS Adjustment : 1379 bytes
– Clear Don’t Fragment Bit : enabled
– Fragmentation : Before encryption
#3: Tunnel Interface Configuration
Outside IP Addresses:
– Customer Gateway : 203.0.113.1
– Virtual Private Gateway : 192.0.2.1
Inside IP Addresses
– Customer Gateway : 169.254.119.66/30
– Virtual Private Gateway : 169.254.119.65/30
– Tunnel interface MTU : 1436 bytes
#4: Static Routing Configuration:
– Next hop : 169.254.119.65

IPSec Tunnel #2
==================================================
#1: Internet Key Exchange Configuration
– IKE version : IKEv1
– Authentication Method : Pre-Shared Key
– Pre-Shared Key : IPsecKEY2
– Authentication Algorithm : sha1
– Encryption Algorithm : aes-128-cbc
– Lifetime : 28800 seconds
– Phase 1 Negotiation Mode : main
– Diffie-Hellman : Group 2
#2: IPSec Configuration
– Protocol : esp
– Authentication Algorithm : hmac-sha1-96
– Encryption Algorithm : aes-128-cbc
– Lifetime : 3600 seconds
– Mode : tunnel
– Perfect Forward Secrecy : Diffie-Hellman Group 2
– DPD Interval : 10
– DPD Retries : 3
– TCP MSS Adjustment : 1379 bytes
– Clear Don’t Fragment Bit : enabled
– Fragmentation : Before encryption
#3: Tunnel Interface Configuration
Outside IP Addresses:
– Customer Gateway : 203.0.113.1
– Virtual Private Gateway : 192.0.2.2
Inside IP Addresses
– Customer Gateway : 169.254.184.158/30
– Virtual Private Gateway : 169.254.184.157/30
– Tunnel interface MTU : 1436 bytes
#4: Static Routing Configuration:
– Next hop : 169.254.184.157

 

【 設定例 】

〔 NXRの設定 〕

nxr530#configure terminal
nxr530(config)#interface ethernet 0
nxr530(config-if)#ip address 192.168.10.1/24
nxr530(config-if)#exit
nxr530(config)#ip route 10.0.1.0/24 tunnel 1 1
nxr530(config)#ip route 10.0.1.0/24 tunnel 2 10
nxr530(config)#ip route 10.0.1.0/24 null 254
nxr530(config)#ip route 0.0.0.0/0 203.0.113.2
nxr530(config)#ip access-list eth1_IN permit 192.0.2.1 203.0.113.1 udp 500 500
nxr530(config)#ip access-list eth1_IN permit 192.0.2.1 203.0.113.1 50
nxr530(config)#ip access-list eth1_IN permit 192.0.2.2 203.0.113.1 udp 500 500
nxr530(config)#ip access-list eth1_IN permit 192.0.2.2 203.0.113.1 50
nxr530(config)#ipsec priority-ignore enable
nxr530(config)#ipsec access-list IPsec_ACL ip any any
nxr530(config)#ipsec local policy 1
nxr530(config-ipsec-local)#address ip
nxr530(config-ipsec-local)#exit
nxr530(config)#ipsec isakmp policy 1
nxr530(config-ipsec-isakmp)#description IPSecTunnel1
nxr530(config-ipsec-isakmp)#authentication pre-share IPsecKEY1
nxr530(config-ipsec-isakmp)#hash sha1
nxr530(config-ipsec-isakmp)#encryption aes128
nxr530(config-ipsec-isakmp)#group 2
nxr530(config-ipsec-isakmp)#lifetime 28800
nxr530(config-ipsec-isakmp)#isakmp-mode main
nxr530(config-ipsec-isakmp)#remote address ip 192.0.2.1
nxr530(config-ipsec-isakmp)#keepalive 10 3 periodic restart
nxr530(config-ipsec-isakmp)#local policy 1
nxr530(config-ipsec-isakmp)#exit
nxr530(config)#interface tunnel 1
nxr530(config-tunnel)#ip address 169.254.119.66/30
nxr530(config-tunnel)#tunnel mode ipsec ipv4
nxr530(config-tunnel)#tunnel protection ipsec policy 1
nxr530(config-tunnel)#no tunnel path-mtu-discovery
nxr530(config-tunnel)#mtu 1436
nxr530(config-tunnel)#ip tcp adjust-mss 1379
nxr530(config-tunnel)#exit
nxr530(config)#ipsec tunnel policy 1
nxr530(config-ipsec-tunnel)#description IPSecTunnel1
nxr530(config-ipsec-tunnel)#negotiation-mode auto
nxr530(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac
nxr530(config-ipsec-tunnel)#set pfs group2
nxr530(config-ipsec-tunnel)#set sa lifetime 3600
nxr530(config-ipsec-tunnel)#set key-exchange isakmp 1
nxr530(config-ipsec-tunnel)#match address IPsec_ACL
nxr530(config-ipsec-tunnel)#exit
nxr530(config)#ipsec isakmp policy 2
nxr530(config-ipsec-isakmp)#description IPSecTunnel2
nxr530(config-ipsec-isakmp)#authentication pre-share IPsecKEY2
nxr530(config-ipsec-isakmp)#hash sha1
nxr530(config-ipsec-isakmp)#encryption aes128
nxr530(config-ipsec-isakmp)#group 2
nxr530(config-ipsec-isakmp)#lifetime 28800
nxr530(config-ipsec-isakmp)#isakmp-mode main
nxr530(config-ipsec-isakmp)#remote address ip 192.0.2.2
nxr530(config-ipsec-isakmp)#keepalive 10 3 periodic restart
nxr530(config-ipsec-isakmp)#local policy 1
nxr530(config-ipsec-isakmp)#exit
nxr530(config)#interface tunnel 2
nxr530(config-tunnel)#ip address 169.254.184.158/30
nxr530(config-tunnel)#tunnel mode ipsec ipv4
nxr530(config-tunnel)#tunnel protection ipsec policy 2
nxr530(config-tunnel)#no tunnel path-mtu-discovery
nxr530(config-tunnel)#mtu 1436
nxr530(config-tunnel)#ip tcp adjust-mss 1379
nxr530(config-tunnel)#exit
nxr530(config)#ipsec tunnel policy 2
nxr530(config-ipsec-tunnel)#description IPSecTunnel2
nxr530(config-ipsec-tunnel)#negotiation-mode auto
nxr530(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac
nxr530(config-ipsec-tunnel)#set pfs group2
nxr530(config-ipsec-tunnel)#set sa lifetime 3600
nxr530(config-ipsec-tunnel)#set key-exchange isakmp 2
nxr530(config-ipsec-tunnel)#match address IPsec_ACL
nxr530(config-ipsec-tunnel)#exit
nxr530(config)#interface ethernet 1
nxr530(config-if)#ip address 203.0.113.1/30
nxr530(config-if)#ip masquerade
nxr530(config-if)#ip spi-filter
nxr530(config-if)#ip access-group in eth1_IN
nxr530(config-if)#ip tcp adjust-mss auto
nxr530(config-if)#ipsec policy 1
nxr530(config-if)#exit
nxr530(config)#dns
nxr530(config-dns)#service enable
nxr530(config-dns)#address 203.0.113.253
nxr530(config-dns)#address 203.0.113.254
nxr530(config-dns)#exit
nxr530(config)#fast-forwarding enable
nxr530(config)#exit
nxr530#save config

 

【 設定例解説 】

〔 NXRの設定 〕

1. <LAN側(ethernet0)インタフェース設定>
nxr530(config)#interface ethernet 0
nxr530(config-if)#ip address 192.168.10.1/24

ethernet0インタフェースのIPアドレスを設定します。

 

2. <スタティックルート設定>
nxr530(config)#ip route 10.0.1.0/24 tunnel 1 1
nxr530(config)#ip route 10.0.1.0/24 tunnel 2 10
nxr530(config)#ip route 10.0.1.0/24 null 254

10.0.1.0/24向けのルートを設定します。

nxr530(config)#ip route 0.0.0.0/0 203.0.113.2

デフォルトルートを設定します。

 

3. <IPアクセスリスト設定>
nxr530(config)#ip access-list eth1_IN permit 192.0.2.1 203.0.113.1 udp 500 500
nxr530(config)#ip access-list eth1_IN permit 192.0.2.1 203.0.113.1 50
nxr530(config)#ip access-list eth1_IN permit 192.0.2.2 203.0.113.1 udp 500 500
nxr530(config)#ip access-list eth1_IN permit 192.0.2.2 203.0.113.1 50

IPアクセスリストeth1_INを以下のルールで設定します。

  • 送信元IPアドレス192.0.2.1、宛先IPアドレス203.0.113.1、送信元,宛先UDPポート500番を許可
  • 送信元IPアドレス192.0.2.1、宛先IPアドレス203.0.113.1、プロトコル番号50(ESP)を許可
  • 送信元IPアドレス192.0.2.2、宛先IPアドレス203.0.113.1、送信元,宛先UDPポート500番を許可
  • 送信元IPアドレス192.0.2.2、宛先IPアドレス203.0.113.1、プロトコル番号50(ESP)を許可

(☞) IPアクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングを行うインタフェースでの登録が必要になります。

 

4. <IPsec priority-ignore設定>
nxr530(config)#ipsec priority-ignore enable

ipsec priority-ignoreを有効にします。

 

5. <IPsecアクセスリスト設定>
nxr530(config)#ipsec access-list IPsec_ACL ip any any

IPsecアクセスリストIPsec_ACLを以下のルールで設定します。

  • 送信元IPアドレス … any
  • 宛先IPアドレス … any

 

6. <IPsecローカルポリシー設定>
nxr530(config)#ipsec local policy 1
nxr530(config-ipsec-local)#address ip

IPsecトンネルの送信元IPアドレスにipを設定します。

 

7. <IPsec ISAKMPポリシー1設定>
nxr530(config)#ipsec isakmp policy 1
nxr530(config-ipsec-isakmp)#description IPSecTunnel1

ISAKMPポリシー1の説明文を設定します。

nxr530(config-ipsec-isakmp)#authentication pre-share IPsecKEY1

認証方式としてpre-share(事前共有鍵)を選択し、事前共有鍵を設定します。
(☞) 事前共有鍵はAmazon VPCのIPSec Tunnel #1と共通の値を設定します。

nxr530(config-ipsec-isakmp)#hash sha1

認証アルゴリズムをsha1に設定します。

nxr530(config-ipsec-isakmp)#encryption aes128

暗号化アルゴリズムをaes128に設定します。

nxr530(config-ipsec-isakmp)#group 2

DHグループをgroup 2に設定します。

nxr530(config-ipsec-isakmp)#lifetime 28800

ISAKMP SAのライフタイムを設定します。

nxr530(config-ipsec-isakmp)#isakmp-mode main

フェーズ1のネゴシエーションモードをメインモードに設定します。

nxr530(config-ipsec-isakmp)#remote address ip 192.0.2.1

リモートアドレスにAmazon VPCのIPsecTunnel#1にあるOutside IP AddressesのVirtual Private GatewayのIPアドレスを設定します。

nxr530(config-ipsec-isakmp)#keepalive 10 3 periodic restart

IKE KeepAlive(DPD)を以下のルールで設定します。

  • 監視間隔 … 10秒
  • リトライ回数 … 3回
  • ダウン検知後の動作 … IKEの再ネゴシエーション
nxr530(config-ipsec-isakmp)#local policy 1

このIPsec ISAKMPポリシーで使用するIPsecローカルポリシーを設定します。

 

8. <トンネル1インタフェース設定>
nxr530(config)#interface tunnel 1
nxr530(config-tunnel)#ip address 169.254.119.66/30

tunnel1インタフェースのIPアドレスを設定します。

nxr530(config-tunnel)#tunnel mode ipsec ipv4

トンネル1インタフェースのトンネルモードをipsec ipv4に設定します。

nxr530(config-tunnel)#tunnel protection ipsec policy 1

このトンネルインタフェースで使用するIPsecトンネルポリシーを設定します。

nxr530(config-tunnel)#no tunnel path-mtu-discovery

Path MTU Discoveryを無効にします。

nxr530(config-tunnel)#mtu 1436

MTU値を1436に設定します。

nxr530(config-tunnel)#ip tcp adjust-mss 1379

TCP MSS値を1379に設定します。

 

9. <IPsec トンネルポリシー1設定>
nxr530(config)#ipsec tunnel policy 1
nxr530(config-ipsec-tunnel)#description IPSecTunnel1

IPsecトンネルポリシー1の説明文を設定します。

nxr530(config-ipsec-tunnel)#negotiation-mode auto

ネゴシエーションモードをautoに設定します。

nxr530(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac

暗号化アルゴリズムをaes128、認証アルゴリズムをsha1に設定します。

nxr530(config-ipsec-tunnel)#set pfs group2

PFSを有効、DHグループをgroup2に設定します。

nxr530(config-ipsec-tunnel)#set sa lifetime 3600

IPsec SAのライフタイムを設定します。

nxr530(config-ipsec-tunnel)#set key-exchange isakmp 1

このIPsecトンネルポリシーで使用するIPsec ISAKMPポリシーを設定します。

nxr530(config-ipsec-tunnel)#match address IPsec_ACL

IPsecアクセスリストを設定します。

 

10. <IPsec ISAKMPポリシー2設定>
nxr530(config)#ipsec isakmp policy 2
nxr530(config-ipsec-isakmp)#description IPSecTunnel2

ISAKMPポリシー2の説明文を設定します。

nxr530(config-ipsec-isakmp)#authentication pre-share IPsecKEY2

認証方式としてpre-share(事前共有鍵)を選択し、事前共有鍵を設定します。
(☞) 事前共有鍵はAmazon VPCのIPSec Tunnel #2と共通の値を設定します。

nxr530(config-ipsec-isakmp)#hash sha1

認証アルゴリズムをsha1に設定します。

nxr530(config-ipsec-isakmp)#encryption aes128

暗号化アルゴリズムをaes128に設定します。

nxr530(config-ipsec-isakmp)#group 2

DHグループをgroup 2に設定します。

nxr530(config-ipsec-isakmp)#lifetime 28800

ISAKMP SAのライフタイムを設定します。

nxr530(config-ipsec-isakmp)#isakmp-mode main

フェーズ1のネゴシエーションモードをメインモードに設定します。

nxr530(config-ipsec-isakmp)#remote address ip 192.0.2.2

リモートアドレスにAmazon VPCのIPsecTunnel#2にあるOutside IP AddressesのVirtual Private GatewayのIPアドレスを設定します。

nxr530(config-ipsec-isakmp)#keepalive 10 3 periodic restart

IKE KeepAlive(DPD)を以下のルールで設定します。

  • 監視間隔 … 10秒
  • リトライ回数 … 3回
  • ダウン検知後の動作 … IKEの再ネゴシエーション
nxr530(config-ipsec-isakmp)#local policy 1

このIPsec ISAKMPポリシーで使用するIPsecローカルポリシーを設定します。

 

11. <トンネル2インタフェース設定>
nxr530(config)#interface tunnel 2
nxr530(config-tunnel)#ip address 169.254.184.158/30

tunnel2インタフェースのIPアドレスを設定します。

nxr530(config-tunnel)#tunnel mode ipsec ipv4

トンネル1インタフェースのトンネルモードをipsec ipv4に設定します。

nxr530(config-tunnel)#tunnel protection ipsec policy 2

このトンネルインタフェースで使用するIPsecトンネルポリシーを設定します。

nxr530(config-tunnel)#no tunnel path-mtu-discovery

Path MTU Discoveryを無効にします。

nxr530(config-tunnel)#mtu 1436

MTU値を1436に設定します。

nxr530(config-tunnel)#ip tcp adjust-mss 1379

TCP MSS値を1379に設定します。

 

12. <IPsec トンネルポリシー2設定>
nxr530(config)#ipsec tunnel policy 2
nxr530(config-ipsec-tunnel)#description IPSecTunnel2

IPsecトンネルポリシー2の説明文を設定します。

nxr530(config-ipsec-tunnel)#negotiation-mode auto

ネゴシエーションモードをautoに設定します。

nxr530(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac

暗号化アルゴリズムをaes128、認証アルゴリズムをsha1に設定します。

nxr530(config-ipsec-tunnel)#set pfs group2

PFSを有効、DHグループをgroup2に設定します。

nxr530(config-ipsec-tunnel)#set sa lifetime 3600

IPsec SAのライフタイムを設定します。

nxr530(config-ipsec-tunnel)#set key-exchange isakmp 2

このIPsecトンネルポリシーで使用するIPsec ISAKMPポリシーを設定します。

nxr530(config-ipsec-tunnel)#match address IPsec_ACL

IPsecアクセスリストを設定します。

 

13. <WAN側(ethernet1)インタフェース設定>
nxr530(config)#interface ethernet 1
nxr530(config-if)#ip address 203.0.113.1/30

ethernet1インタフェースのIPアドレスを設定します。

nxr530(config-if)#ip masquerade
nxr530(config-if)#ip spi-filter

IPマスカレード、ステートフルパケットインスペクションを有効にします。

nxr530(config-if)#ip access-group in eth1_IN

IPアクセスグループのinフィルタにIPアクセスリストeth1_INを設定します。

nxr530(config-if)#ip tcp adjust-mss auto

TCP MSSの調整機能をオートに設定します。

nxr530(config-if)#ipsec policy 1

このインタフェースで使用するIPsecローカルポリシーを設定します。

 

14. <DNS設定>
nxr530(config)#dns
nxr530(config-dns)#service enable

DNSサービスを有効にします。

nxr530(config-dns)#address 203.0.113.253
nxr530(config-dns)#address 203.0.113.254

DNSサーバアドレスを設定します。

 

15. <ファストフォワーディング設定>
nxr530(config)#fast-forwarding enable

ファストフォワーディングを有効にします。

 

16. <設定の保存>
nxr530#save config

設定内容を保存します。

 

【 端末の設定例 】

IPアドレス 192.168.10.100
サブネットマスク 255.255.255.0
デフォルトゲートウェイ 192.168.10.1
DNSサーバアドレス

 

【 付録 】