FutureNet

NXR,WXRシリーズ

IPv6編

4. IPv6 IPsec設定

4-1. IPv6 PPPoE IPsec接続設定

NTT東日本/西日本が提供するフレッツ光ネクスト回線でIPv6 PPPoE接続を行います。そして、それを利用して拠点間でIPv4 over IPv6のIPsec接続を行います。

 

【 構成図 】

  • ルータNXR_Aには固定でプレフィックス「2001:0db8:1:1::/56」が、ルータNXR_Bには固定でプレフィックス「2001:0db8:2:1::/56」が割り当てられるものとします。
  • この設定例ではRoute Based IPsecを利用します。
  • この設定例ではルータ配下の端末からインターネットへアクセスすることはできません。

 

【 設定データ 】

〔NXR_Aの設定〕

設定項目 設定内容
ホスト名 NXR_A
LAN側インタフェース ethernet0のIPv4アドレス 192.168.10.1/24
WAN側インタフェース PPPoEクライアント(ethernet1) ppp0
ppp0のIPv4アドレス 無効
ppp0のIPv6アドレス dhcpv6pd ::1/64
IPCP 無効
IPv6CP 有効
DHCPv6クライアント(PD) クライアント名 dhcpv6pd
IPv6アクセスグループ in ppp0_in
IPv6 SPIフィルタ 有効
IPv6 TCP MSS自動調整 オート
ISP接続用ユーザID test1@v6.example.jp
ISP接続用パスワード test1pass
IPsecローカルポリシー 1
スタティックルート No.1 宛先IPv4アドレス 192.168.20.0/24
ゲートウェイ(インタフェース) tunnel1
ディスタンス 1
No.2 宛先IPv4アドレス 192.168.20.0/24
ゲートウェイ(インタフェース) null
ディスタンス 254
No.3 宛先IPv6アドレス ::/0
ゲートウェイ(インタフェース) ppp0
IPv6フィルタ ルール名 ppp0_in
ppp0_in No.1 動作 許可
送信元IPv6アドレス any
宛先IPv6アドレス any
プロトコル UDP
送信元ポート any
宛先ポート 546
No.2 動作 許可
送信元IPv6アドレス 2001:0db8:2:1::1
宛先IPv6アドレス 2001:0db8:1:1::1
プロトコル UDP
送信元ポート 500
宛先ポート 500
No.3 動作 許可
送信元IPv6アドレス 2001:0db8:2:1::1
宛先IPv6アドレス 2001:0db8:1:1::1
プロトコル 50(ESP)
IPsec IPsecアクセスリスト リスト名 ipsec_acl
送信元IPv4アドレス any
宛先IPv4アドレス any
IPsecローカルポリシー1 address ipv6
IPsec ISAKMPポリシー1 名前 NXR_B
認証方式 pre-share
認証鍵 ipseckey
認証アルゴリズム sha1
暗号化アルゴリズム aes128
DHグループ 5
ライフタイム 10800秒
ISAKMPモード メインモード
リモートアドレス 2001:0db8:2:1::1
DPD 再送間隔 30秒
リトライ回数 3回
動作 restart
ローカルポリシー 1
IPsecトンネルポリシー1 名前 NXR_B
ネゴシエーションモード オート
認証アルゴリズム sha1
暗号化アルゴリズム aes128
PFS 有効(グループ5)
ライフタイム 3600秒
ISAKMPポリシー 1
IPsecアクセスリスト ipsec_acl
トンネル1インタフェース トンネルモード IPsec(IPv6)
トンネルプロテクション ipsec policy 1
IPv4 TCP MSS自動調整 オート

〔NXR_Bの設定〕

設定項目 設定内容
ホスト名 NXR_B
LAN側インタフェース ethernet0のIPv4アドレス 192.168.20.1/24
WAN側インタフェース PPPoEクライアント(ethernet1) ppp0
ppp0のIPv4アドレス 無効
ppp0のIPv6アドレス dhcpv6pd ::1/64
IPCP 無効
IPv6CP 有効
DHCPv6クライアント(PD) クライアント名 dhcpv6pd
IPv6アクセスグループ in ppp0_in
IPv6 SPIフィルタ 有効
IPv6 TCP MSS自動調整 オート
ISP接続用ユーザID test2@v6.example.jp
ISP接続用パスワード test2pass
IPsecローカルポリシー 1
スタティックルート No.1 宛先IPv4アドレス 192.168.10.0/24
ゲートウェイ(インタフェース) tunnel1
ディスタンス 1
No.2 宛先IPv4アドレス 192.168.10.0/24
ゲートウェイ(インタフェース) null
ディスタンス 254
No.3 宛先IPv6アドレス ::/0
ゲートウェイ(インタフェース) ppp0
IPv6フィルタ ルール名 ppp0_in
ppp0_in No.1 動作 許可
送信元IPv6アドレス any
宛先IPv6アドレス any
プロトコル UDP
送信元ポート any
宛先ポート 546
No.2 動作 許可
送信元IPv6アドレス 2001:0db8:1:1::1
宛先IPv6アドレス 2001:0db8:2:1::1
プロトコル UDP
送信元ポート 500
宛先ポート 500
No.3 動作 許可
送信元IPv6アドレス 2001:0db8:1:1::1
宛先IPv6アドレス 2001:0db8:2:1::1
プロトコル 50(ESP)
IPsec IPsecアクセスリスト リスト名 ipsec_acl
送信元IPv4アドレス any
宛先IPv4アドレス any
IPsecローカルポリシー1 address ipv6
IPsec ISAKMPポリシー1 名前 NXR_A
認証方式 pre-share
認証鍵 ipseckey
認証アルゴリズム sha1
暗号化アルゴリズム aes128
DHグループ 5
ライフタイム 10800秒
ISAKMPモード メインモード
リモートアドレス 2001:0db8:1:1::1
DPD 再送間隔 30秒
リトライ回数 3回
動作 restart
ローカルポリシー 1
IPsecトンネルポリシー1 名前 NXR_A
ネゴシエーションモード オート
認証アルゴリズム sha1
暗号化アルゴリズム aes128
PFS 有効(グループ5)
ライフタイム 3600秒
ISAKMPポリシー 1
IPsecアクセスリスト ipsec_acl
トンネル1インタフェース トンネルモード IPsec(IPv6)
トンネルプロテクション ipsec policy 1
IPv4 TCP MSS自動調整 オート

【 設定例 】

〔NXR_Aの設定〕

nxrg100#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxrg100(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)#ipv6 route ::/0 ppp 0
NXR_A(config)#ipv6 access-list ppp0_in permit any any udp any 546
NXR_A(config)#ipv6 access-list ppp0_in permit 2001:0db8:2:1::1 2001:0db8:1:1::1 udp 500 500
NXR_A(config)#ipv6 access-list ppp0_in permit 2001:0db8:2:1::1 2001:0db8:1:1::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 ipv6
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 ipseckey
NXR_A(config-ipsec-isakmp)#hash sha1
NXR_A(config-ipsec-isakmp)#encryption aes128
NXR_A(config-ipsec-isakmp)#group 5
NXR_A(config-ipsec-isakmp)#lifetime 10800
NXR_A(config-ipsec-isakmp)#isakmp-mode main
NXR_A(config-ipsec-isakmp)#remote address ipv6 2001:0db8:2:1::1
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)#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-sha1-hmac
NXR_A(config-ipsec-tunnel)#set pfs group5
NXR_A(config-ipsec-tunnel)#set sa lifetime 3600
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 tunnel 1
NXR_A(config-tunnel)#tunnel mode ipsec ipv6
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)#ppp account username test1@v6.example.jp password test1pass
NXR_A(config)#interface ppp 0
NXR_A(config-ppp)#no ip address
NXR_A(config-ppp)#no ppp ipcp enable
NXR_A(config-ppp)#ppp ipv6cp enable
NXR_A(config-ppp)#ipv6 dhcp client pd dhcpv6pd
NXR_A(config-ppp)#ipv6 address dhcpv6pd ::1/64
NXR_A(config-ppp)#ipv6 access-group in ppp0_in
NXR_A(config-ppp)#ipv6 spi-filter
NXR_A(config-ppp)#ipv6 tcp adjust-mss auto
NXR_A(config-ppp)#ppp username test1@v6.example.jp
NXR_A(config-ppp)#ipsec policy 1
NXR_A(config-ppp)#exit
NXR_A(config)#interface ethernet 1
NXR_A(config-if)#no ip address
NXR_A(config-if)#pppoe-client ppp 0
NXR_A(config-if)#exit
NXR_A(config)#exit
NXR_A#save config

〔NXR_Bの設定〕

nxrg100#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxrg100(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)#ipv6 route ::/0 ppp 0
NXR_B(config)#ipv6 access-list ppp0_in permit any any udp any 546
NXR_B(config)#ipv6 access-list ppp0_in permit 2001:0db8:1:1::1 2001:0db8:2:1::1 udp 500 500
NXR_B(config)#ipv6 access-list ppp0_in permit 2001:0db8:1:1::1 2001:0db8:2:1::1 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 ipv6
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 ipseckey
NXR_B(config-ipsec-isakmp)#hash sha1
NXR_B(config-ipsec-isakmp)#encryption aes128
NXR_B(config-ipsec-isakmp)#group 5
NXR_B(config-ipsec-isakmp)#lifetime 10800
NXR_B(config-ipsec-isakmp)#isakmp-mode main
NXR_B(config-ipsec-isakmp)#remote address ipv6 2001:0db8:1:1::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)#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-sha1-hmac
NXR_B(config-ipsec-tunnel)#set pfs group5
NXR_B(config-ipsec-tunnel)#set sa lifetime 3600
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 tunnel 1
NXR_B(config-tunnel)#tunnel mode ipsec ipv6
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)#ppp account username test2@v6.example.jp password test2pass
NXR_B(config)#interface ppp 0
NXR_B(config-ppp)#no ip address
NXR_B(config-ppp)#no ppp ipcp enable
NXR_B(config-ppp)#ppp ipv6cp enable
NXR_B(config-ppp)#ipv6 dhcp client pd dhcpv6pd
NXR_B(config-ppp)#ipv6 address dhcpv6pd ::1/64
NXR_B(config-ppp)#ipv6 access-group in ppp0_in
NXR_B(config-ppp)#ipv6 spi-filter
NXR_B(config-ppp)#ipv6 tcp adjust-mss auto
NXR_B(config-ppp)#ppp username test2@v6.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)#exit
NXR_B#save config

【 設定例解説 】

〔NXR_Aの設定〕

1. <ホスト名の設定>
nxrg100(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インタフェースのIPv4アドレスを設定します。

 

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

LAN_B向けのルートを設定します。なお、IPsec SA確立時はトンネル1インタフェースを、未確立時はnullインタフェースのルートを利用するように設定します。
(☞) nullインタフェースを出力インタフェースとして設定した場合、パケットが出力されることはありません(ドロップされます)。

NXR_A(config)#ipv6 route ::/0 ppp 0

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

 

4. <IPv6アクセスリスト設定>
NXR_A(config)#ipv6 access-list ppp0_in permit any any udp any 546

IPv6アクセスリスト名をppp0_inとし、宛先UDPポート546番(DHCPv6クライアント)を許可します。

NXR_A(config)#ipv6 access-list ppp0_in permit 2001:0db8:2:1::1 2001:0db8:1:1::1 udp 500 500
NXR_A(config)#ipv6 access-list ppp0_in permit 2001:0db8:2:1::1 2001:0db8:1:1::1 50

IPv6アクセスリスト名をppp0_inとし、送信元がNXR_BのWAN側IPv6アドレス2001:0db8:2:1::1、宛先がNXR_AのWAN側IPv6アドレス2001:0db8:1:1::1のIKEパケット(UDPポート500番)、ESPパケット(プロトコル番号50)を許可します。
なお、これらIPv6アクセスリスト設定はppp0インタフェース設定で登録します。
(☞) IPv6アクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。

 

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

ipsec_aclという名前のIPsecアクセスリストを設定します。なお、送信元IPv4アドレス,宛先IPv4アドレスともにanyとします。

 

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

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

 

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

ISAKMPポリシーの説明としてNXR_B、認証方式としてpre-share(事前共有鍵)を選択し事前共有鍵ipseckeyを設定します。なお、事前共有鍵はNXR_Bと共通の値を設定します。

NXR_A(config-ipsec-isakmp)#hash sha1
NXR_A(config-ipsec-isakmp)#encryption aes128
NXR_A(config-ipsec-isakmp)#group 5
NXR_A(config-ipsec-isakmp)#lifetime 10800
NXR_A(config-ipsec-isakmp)#isakmp-mode main

認証アルゴリズムとしてsha1、暗号化アルゴリズムとしてaes128,Diffie-Hellman(DH)グループとしてgroup 5、ISAKMP SAのライフタイムとして10800秒、フェーズ1のネゴシエーションモードとしてメインモードを設定します。

NXR_A(config-ipsec-isakmp)#remote address ipv6 2001:0db8:2:1::1
NXR_A(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_A(config-ipsec-isakmp)#local policy 1

リモートアドレスにNXR_BのWAN側IPv6アドレスを設定します。また、IKE KeepAlive(DPD)を監視間隔30秒,リトライ回数3回としkeepalive失敗時にSAを削除しIKEのネゴシエーションを開始するよう設定します。そして、IPsecローカルポリシー1と関連づけを行います。

 

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

IPsecトンネルポリシーの説明としてNXR_B、ネゴシエーションモードとしてautoを設定します。

NXR_A(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac
NXR_A(config-ipsec-tunnel)#set pfs group5
NXR_A(config-ipsec-tunnel)#set sa lifetime 3600

暗号化アルゴリズムとしてaes128、認証アルゴリズムとしてsha1、PFSを有効にし、かつDHグループとしてgroup5、IPsec SAのライフタイムとして3600秒を設定します。

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

ISAKMPポリシー1と関連づけを行い、IPsecアクセスリストipsec_aclを設定します。

 

9. <トンネル1インタフェース設定>
NXR_A(config)#interface tunnel 1
NXR_A(config-tunnel)#tunnel mode ipsec ipv6
NXR_A(config-tunnel)#tunnel protection ipsec policy 1
NXR_A(config-tunnel)#ip tcp adjust-mss auto

トンネル1インタフェースでトンネルモードをipsec ipv6、使用するトンネルポリシーとして1を設定します。また、IPv4 TCP MSSの調整機能をオートに設定します。

 

10. <PPPアカウント設定>
NXR_A(config)#ppp account username test1@v6.example.jp password test1pass

ppp0インタフェースで使用するIPv6 ISP接続用ユーザID,パスワードを設定します。
(☞) ここで設定したアカウントはppp0インタフェースの設定で利用します。

 

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

ppp0インタフェースのIPv4アドレスを無効に設定します。

NXR_A(config-ppp)#no ppp ipcp enable
NXR_A(config-ppp)#ppp ipv6cp enable

IPCPを無効、IPv6CPを有効に設定します。

NXR_A(config-ppp)#ipv6 dhcp client pd dhcpv6pd

DHCPv6-PD名を指定し、DHCPv6-PDを有効にします。

NXR_A(config-ppp)#ipv6 address dhcpv6pd ::1/64

ppp0インタフェースのIPv6アドレスを設定します。
(☞) DHCPv6-PDで取得したIPv6プレフィックスを使用し、プレフィックス以降は::1/64とします。

NXR_A(config-ppp)#ipv6 access-group in ppp0_in

IPv6アクセスリストppp0_inをinフィルタに適用します。

NXR_A(config-ppp)#ipv6 spi-filter

IPv6ステートフルパケットインスペクションを有効に設定します。

NXR_A(config-ppp)#ipv6 tcp adjust-mss auto

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

NXR_A(config-ppp)#ppp username test1@v6.example.jp

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

NXR_A(config-ppp)#ipsec policy 1

IPsecトンネルのエンドポイントとなるためIPsecローカルポリシー1を設定します。

 

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

PPPoEクライアントとしてppp0インタフェースを使用できるように設定します。

 

〔NXR_Bの設定〕

1. <ホスト名の設定>
nxrg100(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インタフェースのIPv4アドレスを設定します。

 

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

LAN_A向けのルートを設定します。なお、IPsec SA確立時はトンネル1インタフェースを、未確立時はnullインタフェースのルートを利用するように設定します。
(☞) nullインタフェースを出力インタフェースとして設定した場合、パケットが出力されることはありません(ドロップされます)。

NXR_B(config)#ipv6 route ::/0 ppp 0

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

 

4. <IPv6アクセスリスト設定>
NXR_B(config)#ipv6 access-list ppp0_in permit any any udp any 546

IPv6アクセスリスト名をppp0_inとし、宛先UDPポート546番(DHCPv6クライアント)を許可します。

NXR_B(config)#ipv6 access-list ppp0_in permit 2001:0db8:1:1::1 2001:0db8:2:1::1 udp 500 500
NXR_B(config)#ipv6 access-list ppp0_in permit 2001:0db8:1:1::1 2001:0db8:2:1::1 50

IPv6アクセスリスト名をppp0_inとし、送信元がNXR_AのWAN側IPv6アドレス2001:0db8:1:1::1、宛先がNXR_BのWAN側IPv6アドレス2001:0db8:2:1::1のIKEパケット(UDPポート500番)、ESPパケット(プロトコル番号50)を許可します。
なお、これらIPv6アクセスリスト設定はppp0インタフェース設定で登録します。
(☞) IPv6アクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。

 

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

ipsec_aclという名前のIPsecアクセスリストを設定します。なお、送信元IPv4アドレス,宛先IPv4アドレスともにanyとします。

 

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

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

 

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

ISAKMPポリシーの説明としてNXR_A、認証方式としてpre-share(事前共有鍵)を選択し事前共有鍵ipseckeyを設定します。なお、事前共有鍵はNXR_Aと共通の値を設定します。

NXR_B(config-ipsec-isakmp)#hash sha1
NXR_B(config-ipsec-isakmp)#encryption aes128
NXR_B(config-ipsec-isakmp)#group 5
NXR_B(config-ipsec-isakmp)#lifetime 10800
NXR_B(config-ipsec-isakmp)#isakmp-mode main

認証アルゴリズムとしてsha1、暗号化アルゴリズムとしてaes128,Diffie-Hellman(DH)グループとしてgroup 5、ISAKMP SAのライフタイムとして10800秒、フェーズ1のネゴシエーションモードとしてメインモードを設定します。

NXR_B(config-ipsec-isakmp)#remote address ipv6 2001:0db8:1:1::1
NXR_B(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_B(config-ipsec-isakmp)#local policy 1

リモートアドレスにNXR_AのWAN側IPv6アドレスを設定します。また、IKE KeepAlive(DPD)を監視間隔30秒,リトライ回数3回としkeepalive失敗時にSAを削除しIKEのネゴシエーションを開始するよう設定します。そして、IPsecローカルポリシー1と関連づけを行います。

 

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

IPsecトンネルポリシーの説明としてNXR_A、ネゴシエーションモードとしてautoを設定します。

NXR_B(config-ipsec-tunnel)#set transform esp-aes128 esp-sha1-hmac
NXR_B(config-ipsec-tunnel)#set pfs group5
NXR_B(config-ipsec-tunnel)#set sa lifetime 3600

暗号化アルゴリズムとしてaes128、認証アルゴリズムとしてsha1、PFSを有効にし、かつDHグループとしてgroup5、IPsec SAのライフタイムとして3600秒を設定します。

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

ISAKMPポリシー1と関連づけを行い、IPsecアクセスリストipsec_aclを設定します。

 

9. <トンネル1インタフェース設定>
NXR_B(config)#interface tunnel 1
NXR_B(config-tunnel)#tunnel mode ipsec ipv6
NXR_B(config-tunnel)#tunnel protection ipsec policy 1
NXR_B(config-tunnel)#ip tcp adjust-mss auto

トンネル1インタフェースでトンネルモードをipsec ipv6、使用するトンネルポリシーとして1を設定します。また、IPv4 TCP MSSの調整機能をオートに設定します。

 

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

ppp0インタフェースで使用するIPv6 ISP接続用ユーザID,パスワードを設定します。
(☞) ここで設定したアカウントはppp0インタフェースの設定で利用します。

 

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

ppp0インタフェースのIPv4アドレスを無効に設定します。

NXR_B(config-ppp)#no ppp ipcp enable
NXR_B(config-ppp)#ppp ipv6cp enable

IPCPを無効、IPv6CPを有効に設定します。

NXR_B(config-ppp)#ipv6 dhcp client pd dhcpv6pd

DHCPv6-PD名を指定し、DHCPv6-PDを有効にします。

NXR_B(config-ppp)#ipv6 address dhcpv6pd ::1/64

ppp0インタフェースのIPv6アドレスを設定します。
(☞) DHCPv6-PDで取得したIPv6プレフィックスを使用し、プレフィックス以降は::1/64とします。

NXR_B(config-ppp)#ipv6 access-group in ppp0_in
NXR_B(config-ppp)#ipv6 spi-filter
NXR_B(config-ppp)#ipv6 tcp adjust-mss auto

IPv6アクセスリストppp0_inをinフィルタに適用し、IPv6ステートフルパケットインスペクションを有効に設定します。またIPv6 TCP MSSの調整機能をオートに設定します。

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

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

NXR_B(config-ppp)#ipsec policy 1

IPsecトンネルのエンドポイントとなるためIPsecローカルポリシー1を設定します。

 

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インタフェースを使用できるように設定します。

 

【 端末の設定例 】

LAN_Aの端末 LAN_Bの端末
IPv4アドレス 192.168.10.100 192.168.20.100
サブネットマスク 255.255.255.0
デフォルトゲートウェイ 192.168.10.1 192.168.20.1