FutureNet

NXR,WXRシリーズ

相互接続編

2. NEC製IXルータとの接続

2-3. NEC製IXルータとのIPsec接続設定(IPv6)

WAN回線にNTT東日本/西日本が提供するフレッツ光ネクスト回線(IPv6 IPoE接続)を使用したIPv4 over IPv6のIPsec接続設定例です。この例では対向ルータにNEC製ルータのIXシリーズを利用します。なおこの例はひかり電話契約なしの場合を想定しており、かつNGN網内でVPN接続を行います。
この設定例は弊社独自の検証結果を元に作成しております。よってNEC製IXルータとの接続を保証するものではありません。

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

 

【 構成図 】

  • 動作確認時に利用したNEC製IXルータ
    – IX2207(Ver.9.5.11)
    (☞) ご利用頂くNEC製IXルータやファームウェアバージョンによって設定等異なる場合もありますので、詳しくはご利用製品のドキュメント等をご参照下さい。
  • この設定例はフレッツv6オプションの「ネーム」の利用を想定しています。なお「ネーム」の利用には事前登録が必要です。
    (☞) 「ネーム」を利用してNTT東日本,西日本間で通信することはできません。
  • NXRで対向ルータのFQDNの名前解決後、IPsec接続を開始します。よって名前解決ができない場合、IPsec接続を開始することができませんのでご注意ください。

 

【 設定フロー 】

〔NXRの設定フロー〕

【 設定例 】

〔NEC製IXルータの設定〕

NEC製IXルータの設定方法についてはご利用製品のドキュメント等をご参照下さい。

hostname IX
!
ipv6 ufs-cache enable
ip route 192.168.20.0/24 Tunnel0.0
!
ipv6 access-list flt-list permit udp src any sport eq 500 dest any dport eq 500
ipv6 access-list flt-list permit 50 src any dest any
ipv6 access-list flt-list permit icmp router-advertisement src any dest any
ipv6 access-list flt-list permit icmp neighbor-solicitation src any dest any
ipv6 access-list flt-list permit icmp neighbor-advertisement src any dest any
!
ip access-list ipsec-acl permit ip src any dest any
!
ike proposal p1-prop encryption aes hash sha2-256 group 1536-bit
!
ike policy isakmp-policy peer any key ipseckey mode aggressive p1-prop
ike remote-id isakmp-policy fqdn nxr
!
ipsec autokey-proposal p2-prop esp-aes esp-sha2-256
!
ipsec dynamic-map ipsec-policy ipsec-acl p2-prop pfs 1536-bit ike isakmp-policy
!
interface GigaEthernet2.0
ip address 192.168.10.1/24
no shutdown
!
interface GigaEthernet0.0
ipv6 enable
ipv6 interface-identifier 00:00:00:00:00:00:00:01
ipv6 address autoconfig receive-default
ipv6 filter flt-list 1 in
no shutdown
!
interface Tunnel0.0
tunnel mode ipsec
ip unnumbered GigaEthernet2.0
ip tcp adjust-mss auto
ipsec policy tunnel ipsec-policy out
no shutdown

〔NXRの設定〕

nxrg100#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxrg100(config)#hostname NXR
NXR(config)#ipv6 dhcp-client ipv6dhcpc
NXR(config-dhcp6c)#information-only enable
NXR(config-dhcp6c)#option-request dns-servers
NXR(config-dhcp6c)#exit
NXR(config)#interface ethernet 0
NXR(config-if)#ip address 192.168.20.1/24
NXR(config-if)#exit
NXR(config)#ip route 192.168.10.0/24 tunnel 1 1
NXR(config)#ip route 192.168.10.0/24 null 254
NXR(config)#ipv6 access-list eth1_in permit any any icmpv6
NXR(config)#ipv6 access-list eth1_in permit any any udp any 546
NXR(config)#ipv6 access-list eth1_in permit any any udp 500 500
NXR(config)#ipv6 access-list eth1_in permit any any 50
NXR(config)#ipsec access-list ipsec_acl ip any any
NXR(config)#ipsec local policy 1
NXR(config-ipsec-local)#address ipv6
NXR(config-ipsec-local)#self-identity fqdn nxr
NXR(config-ipsec-local)#exit
NXR(config)#ipsec isakmp policy 1
NXR(config-ipsec-isakmp)#description NEC_IX
NXR(config-ipsec-isakmp)#authentication pre-share ipseckey
NXR(config-ipsec-isakmp)#hash sha256
NXR(config-ipsec-isakmp)#encryption aes128
NXR(config-ipsec-isakmp)#group 5
NXR(config-ipsec-isakmp)#lifetime 10800
NXR(config-ipsec-isakmp)#isakmp-mode aggressive
NXR(config-ipsec-isakmp)#remote address ipv6 ○○○.aoi.flets-east.jp
NXR(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR(config-ipsec-isakmp)#local policy 1
NXR(config-ipsec-isakmp)#exit
NXR(config)#ipsec tunnel policy 1
NXR(config-ipsec-tunnel)#description NEC_IX
NXR(config-ipsec-tunnel)#negotiation-mode auto
NXR(config-ipsec-tunnel)#set transform esp-aes128 esp-sha256-hmac
NXR(config-ipsec-tunnel)#set pfs group5
NXR(config-ipsec-tunnel)#set sa lifetime 3600
NXR(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR(config-ipsec-tunnel)#match address ipsec_acl
NXR(config-ipsec-tunnel)#exit
NXR(config)#interface tunnel 1
NXR(config-tunnel)#tunnel mode ipsec ipv6
NXR(config-tunnel)#tunnel protection ipsec policy 1
NXR(config-tunnel)#ip tcp adjust-mss auto
NXR(config-tunnel)#exit
NXR(config)#interface ethernet 1
NXR(config-if)#no ip address
NXR(config-if)#ipv6 address autoconfig
NXR(config-if)#ipv6 access-group in eth1_in
NXR(config-if)#ipv6 spi-filter
NXR(config-if)#ipv6 dhcp client ipv6dhcpc
NXR(config-if)#ipsec policy 1
NXR(config-if)#exit
NXR(config)#dns
NXR(config-dns)#service enable
NXR(config-dns)#edns-query enable
NXR(config-dns)#exit
NXR(config)#exit
NXR#save config

【 設定例解説 】

〔NXRの設定〕

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

ホスト名を設定します。

 

2. <DHCPv6クライアント設定>
NXR(config)#ipv6 dhcp-client ipv6dhcpc

DHCPv6クライアント設定の名前を定義します。

NXR(config-dhcp6c)#information-only enable
NXR(config-dhcp6c)#option-request dns-servers

information-only機能を有効にし、DHCPv6サーバに対してDNSサーバアドレスの通知を要求するように設定します。

 

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

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

 

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

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

 

5. <IPv6アクセスリスト設定>
NXR(config)#ipv6 access-list eth1_in permit any any icmpv6
NXR(config)#ipv6 access-list eth1_in permit any any udp any 546

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

NXR(config)#ipv6 access-list eth1_in permit any any udp 500 500
NXR(config)#ipv6 access-list eth1_in permit any any 50

IPv6アクセスリスト名をeth1_inとし、IKEパケット(UDPポート500番)、ESPパケット(プロトコル番号50)を許可します。
なお、これらIPv6アクセスリスト設定はethernet1インタフェース設定で登録します。
(☞) IPv6アクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。

 

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

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

 

7. <IPsecローカルポリシー設定>
NXR(config)#ipsec local policy 1
NXR(config-ipsec-local)#address ipv6
NXR(config-ipsec-local)#self-identity fqdn nxr

IPsecトンネルの送信元IPアドレスにipv6を設定します。またセルフIDをFQDN方式でnxrとし、IXのike remote-id isakmp-policyと同じIDを設定します。

 

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

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

NXR(config-ipsec-isakmp)#hash sha256
NXR(config-ipsec-isakmp)#encryption aes128
NXR(config-ipsec-isakmp)#group 5
NXR(config-ipsec-isakmp)#lifetime 10800
NXR(config-ipsec-isakmp)#isakmp-mode aggressive

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

NXR(config-ipsec-isakmp)#remote address ipv6 ○○○.aoi.flets-east.jp
NXR(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR(config-ipsec-isakmp)#local policy 1

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

 

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

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

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

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

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

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

 

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

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

 

11. <WAN側(ethernet1)インタフェース設定>
NXR(config)#interface ethernet 1
NXR(config-if)#no ip address
NXR(config-if)#ipv6 address autoconfig

ethernet1インタフェースのIPv4アドレスを無効、IPv6アドレスを自動設定に設定します。

NXR(config-if)#ipv6 access-group in eth1_in
NXR(config-if)#ipv6 spi-filter

IPv6アクセスリストeth1_inをinフィルタに適用し、IPv6ステートフルパケットインスペクションを有効に設定します。

NXR(config-if)#ipv6 dhcp client ipv6dhcpc

DHCPv6クライアント名を指定し、DHCPv6クライアントを有効にします。

NXR(config-if)#ipsec policy 1

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

 

12. <DNS設定>
NXR(config)#dns
NXR(config-dns)#service enable
NXR(config-dns)#edns-query enable

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

 

【 端末の設定例 】

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

 

【 付録 】