FutureNet

NXR,VXRシリーズ

IPsec編

6. IKEv2設定

6-5. ハブアンドスポーク型IKEv2接続設定

IKEv2を使用したハブ&スポーク構成のIPsec接続設定例です。

 

コンテンツ
構成図 設定例 設定例解説 端末の設定例 補足 付録

 

【 構成図 】

  • NXR_Aのeth1で接続しているISPのDNSサーバアドレスを以下とします。
    プライマリDNSサーバ:203.0.113.253
    セカンダリDNSサーバ:203.0.113.254
  • この例ではNXR_CのモバイルルータにNXR-G100/L-CAを使用しています。
  • この例ではリキーのタイミングで再認証(reauth)を行います。詳しくはこちら

 

【 設定例 】

〔NXR_Aの設定〕

nxr650#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxr650(config)#hostname NXR_A
NXR_A(config)#interface ethernet 0
NXR_A(config-if)#ip address 192.168.10.1/24
NXR_A(config-if)#exit
NXR_A(config)#ip route 192.168.20.0/24 tunnel 1 1
NXR_A(config)#ip route 192.168.20.0/24 null 254
NXR_A(config)#ip route 192.168.30.0/24 tunnel 2 1
NXR_A(config)#ip route 192.168.30.0/24 null 254
NXR_A(config)#ip route 0.0.0.0/0 203.0.113.2
NXR_A(config)#ip access-list eth1_in permit any 203.0.113.1 udp any 500
NXR_A(config)#ip access-list eth1_in permit any 203.0.113.1 udp any 4500
NXR_A(config)#ip access-list eth1_in permit any 203.0.113.1 50
NXR_A(config)#ipsec access-list ipsec_acl ip any any
NXR_A(config)#ipsec local policy 1
NXR_A(config-ipsec-local)#address ip
NXR_A(config-ipsec-local)#exit
NXR_A(config)#ipsec isakmp policy 1
NXR_A(config-ipsec-isakmp)#description NXR_B
NXR_A(config-ipsec-isakmp)#authentication pre-share ipseckey1
NXR_A(config-ipsec-isakmp)#version 2
NXR_A(config-ipsec-isakmp)#hash sha256
NXR_A(config-ipsec-isakmp)#encryption aes128
NXR_A(config-ipsec-isakmp)#group 5
NXR_A(config-ipsec-isakmp)#lifetime 86400
NXR_A(config-ipsec-isakmp)#remote address ip 192.0.2.2
NXR_A(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_A(config-ipsec-isakmp)#local policy 1
NXR_A(config-ipsec-isakmp)#exit
NXR_A(config)#interface tunnel 1
NXR_A(config-tunnel)#tunnel mode ipsec ipv4
NXR_A(config-tunnel)#tunnel protection ipsec policy 1
NXR_A(config-tunnel)#ip tcp adjust-mss auto
NXR_A(config-tunnel)#exit
NXR_A(config)#ipsec tunnel policy 1
NXR_A(config-ipsec-tunnel)#description NXR_B
NXR_A(config-ipsec-tunnel)#negotiation-mode auto
NXR_A(config-ipsec-tunnel)#set transform esp-aes128 esp-sha256-hmac
NXR_A(config-ipsec-tunnel)#set pfs group5
NXR_A(config-ipsec-tunnel)#set sa lifetime 28800
NXR_A(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR_A(config-ipsec-tunnel)#match address ipsec_acl
NXR_A(config-ipsec-tunnel)#exit
NXR_A(config)#ipsec isakmp policy 2
NXR_A(config-ipsec-isakmp)#description NXR_C
NXR_A(config-ipsec-isakmp)#authentication pre-share ipseckey2
NXR_A(config-ipsec-isakmp)#version 2
NXR_A(config-ipsec-isakmp)#hash sha256
NXR_A(config-ipsec-isakmp)#encryption aes128
NXR_A(config-ipsec-isakmp)#group 5
NXR_A(config-ipsec-isakmp)#lifetime 86400
NXR_A(config-ipsec-isakmp)#remote address ip any
NXR_A(config-ipsec-isakmp)#remote identity fqdn nxrc
NXR_A(config-ipsec-isakmp)#keepalive 30 3 periodic clear
NXR_A(config-ipsec-isakmp)#local policy 1
NXR_A(config-ipsec-isakmp)#exit
NXR_A(config)#interface tunnel 2
NXR_A(config-tunnel)#tunnel mode ipsec ipv4
NXR_A(config-tunnel)#tunnel protection ipsec policy 2
NXR_A(config-tunnel)#ip tcp adjust-mss auto
NXR_A(config-tunnel)#exit
NXR_A(config)#ipsec tunnel policy 2
NXR_A(config-ipsec-tunnel)#description NXR_C
NXR_A(config-ipsec-tunnel)#negotiation-mode responder
NXR_A(config-ipsec-tunnel)#set transform esp-aes128 esp-sha256-hmac
NXR_A(config-ipsec-tunnel)#set pfs group5
NXR_A(config-ipsec-tunnel)#set sa lifetime 28800
NXR_A(config-ipsec-tunnel)#set key-exchange isakmp 2
NXR_A(config-ipsec-tunnel)#match address ipsec_acl
NXR_A(config-ipsec-tunnel)#exit
NXR_A(config)#interface ethernet 1
NXR_A(config-if)#ip address 203.0.113.1/30
NXR_A(config-if)#ip masquerade
NXR_A(config-if)#ip spi-filter
NXR_A(config-if)#ip access-group in eth1_in
NXR_A(config-if)#ipsec policy 1
NXR_A(config-if)#exit
NXR_A(config)#dns
NXR_A(config-dns)#service enable
NXR_A(config-dns)#address 203.0.113.253
NXR_A(config-dns)#address 203.0.113.254
NXR_A(config-dns)#exit
NXR_A(config)#fast-forwarding enable
NXR_A(config)#exit
NXR_A#save config

 

〔NXR_Bの設定〕

nxrg240#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
nxrg240(config)#hostname NXR_B
NXR_B(config)#interface ethernet 0
NXR_B(config-if)#ip address 192.168.20.1/24
NXR_B(config-if)#exit
NXR_B(config)#ip route 192.168.10.0/24 tunnel 1 1
NXR_B(config)#ip route 192.168.10.0/24 null 254
NXR_B(config)#ip route 0.0.0.0/0 ppp 0
NXR_B(config)#ip access-list ppp0_in permit 203.0.113.1 192.0.2.2 udp 500 500
NXR_B(config)#ip access-list ppp0_in permit 203.0.113.1 192.0.2.2 50
NXR_B(config)#ipsec access-list ipsec_acl ip any any
NXR_B(config)#ipsec local policy 1
NXR_B(config-ipsec-local)#address ip
NXR_B(config-ipsec-local)#exit
NXR_B(config)#ipsec isakmp policy 1
NXR_B(config-ipsec-isakmp)#description NXR_A
NXR_B(config-ipsec-isakmp)#authentication pre-share ipseckey1
NXR_B(config-ipsec-isakmp)#version 2
NXR_B(config-ipsec-isakmp)#hash sha256
NXR_B(config-ipsec-isakmp)#encryption aes128
NXR_B(config-ipsec-isakmp)#group 5
NXR_B(config-ipsec-isakmp)#lifetime 86400
NXR_B(config-ipsec-isakmp)#remote address ip 203.0.113.1
NXR_B(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_B(config-ipsec-isakmp)#local policy 1
NXR_B(config-ipsec-isakmp)#exit
NXR_B(config)#interface tunnel 1
NXR_B(config-tunnel)#tunnel mode ipsec ipv4
NXR_B(config-tunnel)#tunnel protection ipsec policy 1
NXR_B(config-tunnel)#ip tcp adjust-mss auto
NXR_B(config-tunnel)#exit
NXR_B(config)#ipsec tunnel policy 1
NXR_B(config-ipsec-tunnel)#description NXR_A
NXR_B(config-ipsec-tunnel)#negotiation-mode auto
NXR_B(config-ipsec-tunnel)#set transform esp-aes128 esp-sha256-hmac
NXR_B(config-ipsec-tunnel)#set pfs group5
NXR_B(config-ipsec-tunnel)#set sa lifetime 28800
NXR_B(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR_B(config-ipsec-tunnel)#match address ipsec_acl
NXR_B(config-ipsec-tunnel)#exit
NXR_B(config)#ppp account username test2@example.jp password test2pass
NXR_B(config)#interface ppp 0
NXR_B(config-ppp)#ip address 192.0.2.2/32
NXR_B(config-ppp)#ip masquerade
NXR_B(config-ppp)#ip spi-filter
NXR_B(config-ppp)#ip access-group in ppp0_in
NXR_B(config-ppp)#ip tcp adjust-mss auto
NXR_B(config-ppp)#ppp username test2@example.jp
NXR_B(config-ppp)#ipsec policy 1
NXR_B(config-ppp)#exit
NXR_B(config)#interface ethernet 1
NXR_B(config-if)#no ip address
NXR_B(config-if)#pppoe-client ppp 0
NXR_B(config-if)#exit
NXR_B(config)#dns
NXR_B(config-dns)#service enable
NXR_B(config-dns)#exit
NXR_B(config)#fast-forwarding enable
NXR_B(config)#exit
NXR_B#save config

 

〔NXR_Cの設定〕

nxrg100#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
nxrg100(config)#hostname NXR_C
NXR_C(config)#interface ethernet 0
NXR_C(config-if)#ip address 192.168.30.1/24
NXR_C(config-if)#exit
NXR_C(config)#ip route 192.168.10.0/24 tunnel 1 1
NXR_C(config)#ip route 192.168.10.0/24 null 254
NXR_C(config)#ip access-list wwan0_in permit 203.0.113.1 any udp 500 500
NXR_C(config)#ip access-list wwan0_in permit 203.0.113.1 any udp 4500 4500
NXR_C(config)#ip access-list wwan0_in permit 203.0.113.1 any 50
NXR_C(config)#ipsec access-list ipsec_acl ip any any
NXR_C(config)#ipsec local policy 1
NXR_C(config-ipsec-local)#address ip
NXR_C(config-ipsec-local)#self-identity fqdn nxrc
NXR_C(config-ipsec-local)#exit
NXR_C(config)#ipsec isakmp policy 1
NXR_C(config-ipsec-isakmp)#description NXR_A
NXR_C(config-ipsec-isakmp)#authentication pre-share ipseckey2
NXR_C(config-ipsec-isakmp)#version 2
NXR_C(config-ipsec-isakmp)#hash sha256
NXR_C(config-ipsec-isakmp)#encryption aes128
NXR_C(config-ipsec-isakmp)#group 5
NXR_C(config-ipsec-isakmp)#lifetime 86400
NXR_C(config-ipsec-isakmp)#remote address ip 203.0.113.1
NXR_C(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_C(config-ipsec-isakmp)#local policy 1
NXR_C(config-ipsec-isakmp)#exit
NXR_C(config)#interface tunnel 1
NXR_C(config-tunnel)#tunnel mode ipsec ipv4
NXR_C(config-tunnel)#tunnel protection ipsec policy 1
NXR_C(config-tunnel)#ip tcp adjust-mss auto
NXR_C(config-tunnel)#exit
NXR_C(config)#ipsec tunnel policy 1
NXR_C(config-ipsec-tunnel)#description NXR_A
NXR_C(config-ipsec-tunnel)#negotiation-mode auto
NXR_C(config-ipsec-tunnel)#set transform esp-aes128 esp-sha256-hmac
NXR_C(config-ipsec-tunnel)#set pfs group5
NXR_C(config-ipsec-tunnel)#set sa lifetime 28800
NXR_C(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR_C(config-ipsec-tunnel)#match address ipsec_acl
NXR_C(config-ipsec-tunnel)#exit
NXR_C(config)#interface wwan 0
NXR_C(config-wwan)#ip masquerade
NXR_C(config-wwan)#ip spi-filter
NXR_C(config-wwan)#ip access-group in wwan0_in
NXR_C(config-wwan)#ip tcp adjust-mss auto
NXR_C(config-wwan)#wwan username [ユーザID] password [パスワード]
NXR_C(config-wwan)#wwan authentication chap
NXR_C(config-wwan)#mobile apn [APN] cid 1 pdp-type ip
NXR_C(config-wwan)#ipsec policy 1
NXR_C(config-wwan)#exit
NXR_C(config)#mobile error-recovery-reset
NXR_C(config)#mobile termination-recovery reset
NXR_C(config)#mobile 1 carrier [キャリア]
NXR_C(config)#exit
NXR_C#clear mobile 1
NXR_C#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
NXR_C(config)#dns
NXR_C(config-dns)#service enable
NXR_C(config-dns)#exit
NXR_C(config)#exit
NXR_C#save config

 

【 設定例解説 】

〔NXR_Aの設定〕

1. <ホスト名の設定>
nxr650(config)#hostname NXR_A

ホスト名を設定します。

 

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

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

 

3. <スタティックルート設定>
NXR_A(config)#ip route 192.168.20.0/24 tunnel 1 1
NXR_A(config)#ip route 192.168.20.0/24 null 254

192.168.20.0/24向けのルートを設定します。
(☞) Child SA確立時はトンネル1インタフェースを、未確立時はnullインタフェースのルートを利用するように設定します。

NXR_A(config)#ip route 192.168.30.0/24 tunnel 2 1
NXR_A(config)#ip route 192.168.30.0/24 null 254

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

NXR_A(config)#ip route 0.0.0.0/0 203.0.113.2

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

 

4. <IPアクセスリスト設定>
NXR_A(config)#ip access-list eth1_in permit any 203.0.113.1 udp any 500
NXR_A(config)#ip access-list eth1_in permit any 203.0.113.1 udp any 4500
NXR_A(config)#ip access-list eth1_in permit any 203.0.113.1 50

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

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

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

 

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

送信元,宛先IPアドレスともにanyのIPsecアクセスリストipsec_aclを設定します。

 

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

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

 

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

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

NXR_A(config-ipsec-isakmp)#authentication pre-share ipseckey1

認証方式にpre-share(事前共有鍵)を選択し、事前共有鍵を設定します。
(☞) 事前共有鍵はNXR_Bのipsec isakmp policy 1と共通の値を設定します。

NXR_A(config-ipsec-isakmp)#version 2

IKEのバージョンを設定します。

NXR_A(config-ipsec-isakmp)#hash sha256

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

NXR_A(config-ipsec-isakmp)#encryption aes128

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

NXR_A(config-ipsec-isakmp)#group 5

DH(Diffie-Hellman)グループをgroup 5に設定します。

NXR_A(config-ipsec-isakmp)#lifetime 86400

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

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

リモートアドレスにNXR_BのWAN側IPアドレスを設定します。

NXR_A(config-ipsec-isakmp)#keepalive 30 3 periodic restart

IKE KeepAlive(DPD)を監視間隔30秒、リトライ回数3回、keepalive失敗時にSAを削除しIKEのネゴシエーションを開始するように設定します。

NXR_A(config-ipsec-isakmp)#local policy 1

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

 

8. <トンネル1インタフェース設定>
NXR_A(config)#interface tunnel 1
NXR_A(config-tunnel)#tunnel mode ipsec ipv4

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

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

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

NXR_A(config-tunnel)#ip tcp adjust-mss auto

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

 

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

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

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

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

NXR_A(config-ipsec-tunnel)#set transform esp-aes128 esp-sha256-hmac

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

NXR_A(config-ipsec-tunnel)#set pfs group5

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

NXR_A(config-ipsec-tunnel)#set sa lifetime 28800

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

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

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

NXR_A(config-ipsec-tunnel)#match address ipsec_acl

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

 

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

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

NXR_A(config-ipsec-isakmp)#authentication pre-share ipseckey2

認証方式にpre-share(事前共有鍵)を選択し、事前共有鍵を設定します。
(☞) 事前共有鍵はNXR_Cのipsec isakmp policy 1と共通の値を設定します。

NXR_A(config-ipsec-isakmp)#version 2

IKEのバージョンを設定します。

NXR_A(config-ipsec-isakmp)#hash sha256

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

NXR_A(config-ipsec-isakmp)#encryption aes128

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

NXR_A(config-ipsec-isakmp)#group 5

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

NXR_A(config-ipsec-isakmp)#lifetime 86400

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

NXR_A(config-ipsec-isakmp)#remote address ip any

リモートアドレスにanyを設定します。

NXR_A(config-ipsec-isakmp)#remote identity fqdn nxrc

リモートID(FQDN方式)を設定します。
(☞) NXR_CのセルフIDと同じIDを設定します。

NXR_A(config-ipsec-isakmp)#keepalive 30 3 periodic clear

IKE KeepAlive(DPD)を監視間隔30秒、リトライ回数3回、keepalive失敗時にSAを削除するように設定します。

NXR_A(config-ipsec-isakmp)#local policy 1

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

 

11. <トンネル2インタフェース設定>
NXR_A(config)#interface tunnel 2
NXR_A(config-tunnel)#tunnel mode ipsec ipv4

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

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

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

NXR_A(config-tunnel)#ip tcp adjust-mss auto

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

 

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

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

NXR_A(config-ipsec-tunnel)#negotiation-mode responder

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

NXR_A(config-ipsec-tunnel)#set transform esp-aes128 esp-sha256-hmac

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

NXR_A(config-ipsec-tunnel)#set pfs group5

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

NXR_A(config-ipsec-tunnel)#set sa lifetime 28800

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

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

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

NXR_A(config-ipsec-tunnel)#match address ipsec_acl

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

 

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

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

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

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

NXR_A(config-if)#ip access-group in eth1_in

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

NXR_A(config-if)#ipsec policy 1

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

 

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

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

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

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

 

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

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

 

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

設定内容を保存します。

 

〔NXR_Bの設定〕

1. <ホスト名の設定>
nxrg240(config)#hostname NXR_B

ホスト名を設定します。

 

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

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

 

3. <スタティックルート設定>
NXR_B(config)#ip route 192.168.10.0/24 tunnel 1 1
NXR_B(config)#ip route 192.168.10.0/24 null 254

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

NXR_B(config)#ip route 0.0.0.0/0 ppp 0

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

 

4. <IPアクセスリスト設定>
NXR_B(config)#ip access-list ppp0_in permit 203.0.113.1 192.0.2.2 udp 500 500
NXR_B(config)#ip access-list ppp0_in permit 203.0.113.1 192.0.2.2 50

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

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

 

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

送信元,宛先IPアドレスともにanyのIPsecアクセスリストipsec_aclを設定します。

 

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

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

 

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

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

NXR_B(config-ipsec-isakmp)#authentication pre-share ipseckey1

認証方式にpre-share(事前共有鍵)を選択し、事前共有鍵を設定します。
(☞) 事前共有鍵はNXR_Aのipsec isakmp policy 1と共通の値を設定します。

NXR_B(config-ipsec-isakmp)#version 2

IKEのバージョンを設定します。

NXR_B(config-ipsec-isakmp)#hash sha256

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

NXR_B(config-ipsec-isakmp)#encryption aes128

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

NXR_B(config-ipsec-isakmp)#group 5

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

NXR_B(config-ipsec-isakmp)#lifetime 86400

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

NXR_B(config-ipsec-isakmp)#remote address ip 203.0.113.1

リモートアドレスにNXR_AのWAN側IPアドレスを設定します。

NXR_B(config-ipsec-isakmp)#keepalive 30 3 periodic restart

IKE KeepAlive(DPD)を監視間隔30秒、リトライ回数3回、keepalive失敗時にSAを削除しIKEのネゴシエーションを開始するように設定します。

NXR_B(config-ipsec-isakmp)#local policy 1

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

 

8. <トンネル1インタフェース設定>
NXR_B(config)#interface tunnel 1
NXR_B(config-tunnel)#tunnel mode ipsec ipv4

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

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

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

NXR_B(config-tunnel)#ip tcp adjust-mss auto

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

 

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

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

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

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

NXR_B(config-ipsec-tunnel)#set transform esp-aes128 esp-sha256-hmac

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

NXR_B(config-ipsec-tunnel)#set pfs group5

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

NXR_B(config-ipsec-tunnel)#set sa lifetime 28800

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

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

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

NXR_B(config-ipsec-tunnel)#match address ipsec_acl

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

 

10. <PPPアカウント設定>
NXR_B(config)#ppp account username test2@example.jp password test2pass

ppp0インタフェースで使用するISP接続用ユーザID,パスワードを設定します。

 

11. <WAN側(ppp0)インタフェース設定>
NXR_B(config)#interface ppp 0
NXR_B(config-ppp)#ip address 192.0.2.2/32

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

NXR_B(config-ppp)#ip masquerade
NXR_B(config-ppp)#ip spi-filter

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

NXR_B(config-ppp)#ip access-group in ppp0_in

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

NXR_B(config-ppp)#ip tcp adjust-mss auto

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

NXR_B(config-ppp)#ppp username test2@example.jp

ISP接続用ユーザIDを設定します。

NXR_B(config-ppp)#ipsec policy 1

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

 

12. <ethernet1インタフェース設定>
NXR_B(config)#interface ethernet 1
NXR_B(config-if)#no ip address
NXR_B(config-if)#pppoe-client ppp 0

PPPoEクライアントにppp0を設定します。

 

13. <DNS設定>
NXR_B(config)#dns
NXR_B(config-dns)#service enable

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

 

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

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

 

15. <設定の保存>
NXR_B#save config

設定内容を保存します。

 

〔NXR_Cの設定〕

1. <ホスト名の設定>
nxrg100(config)#hostname NXR_C

ホスト名を設定します。

 

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

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

 

3. <スタティックルート設定>
NXR_C(config)#ip route 192.168.10.0/24 tunnel 1 1
NXR_C(config)#ip route 192.168.10.0/24 null 254

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

 

4. <IPアクセスリスト設定>
NXR_C(config)#ip access-list wwan0_in permit 203.0.113.1 any udp 500 500
NXR_C(config)#ip access-list wwan0_in permit 203.0.113.1 any udp 4500 4500
NXR_C(config)#ip access-list wwan0_in permit 203.0.113.1 any 50

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

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

 

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

送信元,宛先IPアドレスともにanyのIPsecアクセスリストipsec_aclを設定します。

 

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

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

NXR_C(config-ipsec-local)#self-identity fqdn nxrc

セルフID(FQDN方式)を設定します。
(☞) NXR_AのIPsec ISAKMPポリシー2のリモートIDと同じIDを設定します。

 

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

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

NXR_C(config-ipsec-isakmp)#authentication pre-share ipseckey2

認証方式にpre-share(事前共有鍵)を選択し、事前共有鍵を設定します。
(☞) 事前共有鍵はNXR_Aのipsec isakmp policy 2と共通の値を設定します。

NXR_C(config-ipsec-isakmp)#version 2

IKEのバージョンを設定します。

NXR_C(config-ipsec-isakmp)#hash sha256

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

NXR_C(config-ipsec-isakmp)#encryption aes128

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

NXR_C(config-ipsec-isakmp)#group 5

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

NXR_C(config-ipsec-isakmp)#lifetime 86400

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

NXR_C(config-ipsec-isakmp)#remote address ip 203.0.113.1

リモートアドレスにNXR_AのWAN側IPアドレスを設定します。

NXR_C(config-ipsec-isakmp)#keepalive 30 3 periodic restart

IKE KeepAlive(DPD)を監視間隔30秒、リトライ回数3回、keepalive失敗時にSAを削除しIKEのネゴシエーションを開始するように設定します。

NXR_C(config-ipsec-isakmp)#local policy 1

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

 

8. <トンネル1インタフェース設定>
NXR_C(config)#interface tunnel 1
NXR_C(config-tunnel)#tunnel mode ipsec ipv4

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

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

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

NXR_C(config-tunnel)#ip tcp adjust-mss auto

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

 

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

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

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

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

NXR_C(config-ipsec-tunnel)#set transform esp-aes128 esp-sha256-hmac

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

NXR_C(config-ipsec-tunnel)#set pfs group5

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

NXR_C(config-ipsec-tunnel)#set sa lifetime 28800

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

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

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

NXR_C(config-ipsec-tunnel)#match address ipsec_acl

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

 

10. <WAN側(wwan0)インタフェース設定>
NXR_C(config)#interface wwan 0

wwan0インタフェースを設定します。
(☞) wwan0インタフェースはデフォルトでDHCPクライアントが設定されています。

NXR_C(config-wwan)#ip masquerade
NXR_C(config-wwan)#ip spi-filter

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

NXR_C(config-wwan)#ip access-group in wwan0_in

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

NXR_C(config-wwan)#ip tcp adjust-mss auto

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

NXR_C(config-wwan)#wwan username [ユーザID] password [パスワード]

WWAN接続用ユーザID,パスワードを設定します。

NXR_C(config-wwan)#wwan authentication chap

WWAN接続用の認証方式を設定します。

NXR_C(config-wwan)#mobile apn [APN] cid 1 pdp-type ip

APN,CID,PDPタイプを設定します。

NXR_C(config-wwan)#ipsec policy 1

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

 

11. <モバイルエラーリカバリー設定>
NXR_C(config)#mobile error-recovery-reset

通信モジュールとの通信に重大な問題が発生する可能性が高いと判断した場合、通信モジュールのリセットを行うように設定します。

 

12. <モバイルターミネーションリカバリー設定>
NXR_C(config)#mobile termination-recovery reset

WWAN接続時に網側から切断された場合、通信モジュールのリセットを行うように設定します。

 

13. <モバイルキャリア設定>
NXR_C(config)#mobile 1 carrier [キャリア]

mobile1(内蔵通信モジュール)のキャリアを設定します。
(☞) キャリア設定は「clear mobile 1」コマンドによるモバイルリセットを行うことで反映されます。

 

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

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

 

15. <設定の保存>
NXR_C#save config

設定内容を保存します。

 

【 端末の設定例 】

192.168.10.0/24 192.168.20.0/24 192.168.30.0/24
IPアドレス 192.168.10.100 192.168.20.100 192.168.30.100
サブネットマスク 255.255.255.0
デフォルトゲートウェイ 192.168.10.1 192.168.20.1 192.168.30.1
DNSサーバアドレス

 

【 補足 】

この例では、リキーのタイミングで再認証を行います。再認証時は、IKE SAのリキー時にChild SAの再作成が行われます。なお負荷を考慮する場合は、再認証を無効にして下さい。
再認証を無効にする設定は、IPsec ISAKMPポリシー設定で行います。

(config-ipsec-isakmp)#no reauthentication enable

リキー時の再認証を無効にします。

 

【 付録 】

←前のページ

次のページ→