FutureNet

NXR,VXRシリーズ

IPsec編

1. Route Based IPsec設定

1-3. RSA公開鍵暗号方式での接続設定

対向ルータのIKE認証にRSA公開鍵暗号方式を利用する設定例です。 なおRSA公開鍵暗号方式を利用する場合、IKEのフェーズ1でメインモードを使用する必要があります。

 

【 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シリーズ(2022/7現在)

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

 

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

 

【 構成図 】

fnw_ipsec_route_main-static

 

【 設定例 】

〔 NXR_Aの設定 〕

nxr650#configure terminal
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 203.0.113.5/32 203.0.113.2
NXR_A(config)#ipsec generate rsa-sig-key 1024
NXR_A(config)#exit
NXR_A#show ipsec rsa-pub-key
RSA public key :
[NXR_AのRSA公開鍵情報]
NXR_A#configure terminal
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)#self-identity fqdn NXRA
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 rsa-sig [NXR_BのRSA公開鍵情報]
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)#isakmp-mode main
NXR_A(config-ipsec-isakmp)#remote address ip 203.0.113.5
NXR_A(config-ipsec-isakmp)#remote identity fqdn NXRB
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)#interface ethernet 1
NXR_A(config-if)#ip address 203.0.113.1/30
NXR_A(config-if)#ipsec policy 1
NXR_A(config-if)#exit
NXR_A(config)#fast-forwarding enable
NXR_A(config)#exit
NXR_A#save config

 

〔 NXR_Bの設定 〕

nxr530#configure terminal
nxr530(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 203.0.113.1/32 203.0.113.6
NXR_B(config)#ipsec generate rsa-sig-key 1024
NXR_B(config)#exit
NXR_B#show ipsec rsa-pub-key
RSA public key :
[NXR_BのRSA公開鍵情報]
NXR_B#configure terminal
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)#self-identity fqdn NXRB
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 rsa-sig [NXR_AのRSA公開鍵情報]
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)#isakmp-mode main
NXR_B(config-ipsec-isakmp)#remote address ip 203.0.113.1
NXR_B(config-ipsec-isakmp)#remote identity fqdn NXRA
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)#interface ethernet 1
NXR_B(config-if)#ip address 203.0.113.5/30
NXR_B(config-if)#ipsec policy 1
NXR_B(config-if)#exit
NXR_B(config)#fast-forwarding enable
NXR_B(config)#exit
NXR_B#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向けのルートを設定します。

NXR_A(config)#ip route 203.0.113.5/32 203.0.113.2

203.0.113.5/32向けのルートを設定します。

 

4. <RSA Signature Keyの作成>
NXR_A(config)#ipsec generate rsa-sig-key 1024

IKEの認証で使用するRSA Signature Keyを作成します。この例では1024ビットで作成します。

 

5. <RSA公開鍵の確認>
NXR_A#show ipsec rsa-pub-key
RSA public key :
[NXR_AのRSA公開鍵情報]

作成したRSA公開鍵を表示します。ここで表示された公開鍵は、NXR_BのIPsec ISAKMPポリシー設定で使用します。

 

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

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

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

 

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

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

NXR_A(config-ipsec-local)#self-identity fqdn NXRA

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

 

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

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

NXR_A(config-ipsec-isakmp)#authentication rsa-sig [NXR_BのRSA公開鍵情報]

認証方式としてrsa-sig(公開鍵暗号方式)を選択し、NXR_Bで作成した公開鍵を設定します。

NXR_A(config-ipsec-isakmp)#hash sha256

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

NXR_A(config-ipsec-isakmp)#encryption aes128

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

NXR_A(config-ipsec-isakmp)#group 5

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

NXR_A(config-ipsec-isakmp)#lifetime 86400

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

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

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

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

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

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

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

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

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

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

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

 

9. <トンネル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の調整機能をオートに設定します。

 

10. <IPsec トンネルポリシー設定>
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

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

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

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

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

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

 

11. <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)#ipsec policy 1

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

 

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

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

 

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

設定内容を保存します。

 

〔 NXR_Bの設定 〕

1. <ホスト名の設定>
nxr530(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 203.0.113.1/32 203.0.113.6

203.0.113.1/32向けのルートを設定します。

 

4. <RSA Signature Keyの作成>
NXR_B(config)#ipsec generate rsa-sig-key 1024

IKEの認証で使用するRSA Signature Keyを作成します。この例では1024ビットで作成します。

 

5. <RSA公開鍵の確認>
NXR_B#show ipsec rsa-pub-key
RSA public key :
[NXR_BのRSA公開鍵情報]

作成したRSA公開鍵を表示します。ここで表示された公開鍵は、NXR_AのIPsec ISAKMPポリシー設定で使用します。

 

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

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

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

 

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

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

NXR_B(config-ipsec-local)#self-identity fqdn NXRB

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

 

8. <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 rsa-sig [NXR_AのRSA公開鍵情報]

認証方式としてrsa-sig(公開鍵暗号方式)を選択し、NXR_Aで作成した公開鍵を設定します。

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

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

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

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

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

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

NXR_B(config-ipsec-isakmp)#remote identity fqdn NXRA

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

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

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

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

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

 

9. <トンネル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の調整機能をオートに設定します。

 

10. <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

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

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

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

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

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

 

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

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

NXR_B(config-if)#ipsec policy 1

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

 

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

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

 

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

設定内容を保存します。

 

【 端末の設定例 】

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

 

【 付録 】