FutureNet

NXR,WXRシリーズ

相互接続編

1. YAMAHA製ルータとの接続

1-5. YAMAHA製ルータとのIPsec接続設定(IPv6)

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

 

【 構成図 】

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

 

【 設定データ 】

〔NXRの設定〕

設定項目 設定内容
ホスト名 NXR
LAN側インタフェース ethernet0のIPv4アドレス 192.168.20.1/24
WAN側インタフェース ethernet1のIPv4アドレス 無効
ethernet1のIPv6アドレス 自動設定
DHCPv6クライアント クライアント名 ipv6dhcpc
IPv6アクセスグループ in eth1_in
IPv6 SPIフィルタ 有効
IPsecローカルポリシー 1
スタティックルート No.1 宛先IPv4アドレス 192.168.10.0/24
ゲートウェイ(インタフェース) tunnel1
ディスタンス 1
No.2 宛先IPv4アドレス 192.168.10.0/24
ゲートウェイ(インタフェース) null
ディスタンス 254
IPv6フィルタ ルール名 eth1_in
eth1_in No.1 動作 許可
送信元IPv6アドレス any
宛先IPv6アドレス any
プロトコル ICMPv6
No.2 動作 許可
送信元IPv6アドレス any
宛先IPv6アドレス any
プロトコル UDP
送信元ポート any
宛先ポート 546
No.3 動作 許可
送信元IPv6アドレス any
宛先IPv6アドレス any
プロトコル UDP
送信元ポート 500
宛先ポート 500
No.4 動作 許可
送信元IPv6アドレス any
宛先IPv6アドレス any
プロトコル 50(ESP)
IPsec IPsecアクセスリスト リスト名 ipsec_acl
送信元IPv4アドレス any
宛先IPv4アドレス any
IPsecローカルポリシー1 address ipv6
セルフID(FQDN) nxr
IPsec ISAKMPポリシー1 名前 YAMAHA
認証方式 pre-share
認証鍵 ipseckey
認証アルゴリズム sha256
暗号化アルゴリズム aes128
DHグループ 5
ライフタイム 10800秒
ISAKMPモード アグレッシブモード
リモートアドレス ○○○.aoi.flets-east.jp
DPD 再送間隔 30秒
リトライ回数 3回
動作 restart
ローカルポリシー 1
IPsecトンネルポリシー1 名前 YAMAHA
ネゴシエーションモード オート
認証アルゴリズム sha256
暗号化アルゴリズム aes128
PFS 有効(グループ5)
ライフタイム 3600秒
ISAKMPポリシー 1
IPsecアクセスリスト ipsec_acl
トンネル1インタフェース トンネルモード IPsec(IPv6)
トンネルプロテクション ipsec policy 1
IPv4 TCP MSS自動調整 オート
DHCPv6クライアント 名前 ipv6dhcpc
information-only 有効
option-request DNSサーバ
DNS サービス 有効
EDNS 有効

【 設定例 】

〔YAMAHA製ルータの設定〕

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

ip route 192.168.20.0/24 gateway tunnel 1
ip lan1 address 192.168.10.1/24
ipv6 lan2 address ra-prefix@lan2::1/64
ipv6 lan2 secure filter in 110 120 130 140 2000
ipv6 lan2 secure filter out 3000 dynamic 210 220
ipv6 lan2 dhcp service client ir=on
tunnel select 1
ipsec tunnel 1
ipsec sa policy 1 1 esp aes-cbc sha256-hmac
ipsec ike always-on 1 off
ipsec ike encryption 1 aes-cbc
ipsec ike group 1 modp1536
ipsec ike hash 1 sha256
ipsec ike keepalive use 1 on dpd
ipsec ike local address 1 ipv6 prefix ra-prefix@lan2::1 on lan2
ipsec ike payload type 1 3
ipsec ike pfs 1 on
ipsec ike pre-shared-key 1 text ipseckey
ipsec ike remote address 1 any
ipsec ike remote name 1 nxr fqdn
tunnel enable 1
ipv6 filter 110 pass * * icmp6 * *
ipv6 filter 120 pass * * udp * 546
ipv6 filter 130 pass * * udp * 500
ipv6 filter 140 pass * * esp * *
ipv6 filter 2000 reject * * * * *
ipv6 filter 3000 pass * * * * *
ipv6 filter dynamic 210 * * tcp
ipv6 filter dynamic 220 * * udp

〔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 YAMAHA
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 YAMAHA
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とし、RTXのipsec tunnel1のリモートネームと同じIDを設定します。

 

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

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

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

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

 

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

IPsecトンネルポリシーの説明としてYAMAHA、ネゴシエーションモードとして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