FutureNet

NXR,WXRシリーズ

IPv6編

7.「v6プラス」接続設定

7-4. 「v6プラス」+ IPv4 PPPoE接続設定

日本ネットワークイネイブラー株式会社(以下JPNE社)が提供する「v6プラス」とIPv4 PPPoEを組み合わせた設定例です。この例ではIPv4 PPPoEで外部へのサーバ公開を行います。

※「v6プラス」は、日本ネットワークイネイブラー株式会社の登録商標(または商標)です。

 

【対象機種】NXR-650,NXR-530,NXR-G180/L-CA,NXR-G200シリーズ,NXR-G110シリーズ(2020/10現在)
最新の対応状況は、各製品の更新履歴やユーザーズガイドをご確認ください。

 

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

 

【 構成図 】

  • この例ではひかり電話契約なしの環境を想定しています。
  • ひかり電話契約なしの場合、IPv6プレフィックスはRAで、DNSサーバアドレスはDHCPv6で取得します。
  • ルータ配下の端末にはIPv6プレフィックスはRAで、DNSサーバアドレスはDHCPv6で広告します。またIPv4アドレスはDHCPで配布します。(WWWサーバは除く)
  • IPv4アドレスでWWWサーバを外部へ公開するためにPPPoE接続を行います。またWWWサーバ用の経路をポリシーベースルーティングで設定します。

 

【 設定例 】

nxrg240#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxrg240(config)#ipv6 dhcp-client ipv6dhcpc
nxrg240(config-dhcp6c)#information-only enable
nxrg240(config-dhcp6c)#option-request dns-servers
nxrg240(config-dhcp6c)#exit
nxrg240(config)#ipv6 dhcp-server ipv6dhcps
nxrg240(config-dhcp6s)#option-send dns-server add dhcp-client ethernet 1
nxrg240(config-dhcp6s)#exit
nxrg240(config)#ip policy access-list ppp0_pbr_out 192.168.10.10 any
nxrg240(config)#route-map pbr permit 1
nxrg240(config-route-map)#match ip address ppp0_pbr_out
nxrg240(config-route-map)#set interface ppp 0
nxrg240(config-route-map)#exit
nxrg240(config)#mape-rule v6plus type jpne auto
nxrg240(config)#interface map 0
nxrg240(config-map)#tunnel mode ipipv6 mape-rule v6plus
nxrg240(config-map)#ip spi-filter
nxrg240(config-map)#ip tcp adjust-mss auto
nxrg240(config-map)#no tunnel encap-limit
nxrg240(config-map)#exit
nxrg240(config)#ip route 0.0.0.0/0 map 0
nxrg240(config)#ip dnat ppp0_dnat tcp any any 192.0.2.1 80 192.168.10.10
nxrg240(config)#ip access-list ppp0_forward-in permit any 192.168.10.10 tcp any 80
nxrg240(config)#ipv6 access-list eth1_in permit any any icmpv6
nxrg240(config)#ipv6 access-list eth1_in permit any any udp any 546
nxrg240(config)#ipv6 access-list eth1_in permit any any 4
nxrg240(config)#interface ethernet 0
nxrg240(config-if)#ip address 192.168.10.1/24
nxrg240(config-if)#ipv6 address autoconfig interface-id mape-rule v6plus
nxrg240(config-if)#ipv6 nd send-ra
nxrg240(config-if)#ipv6 nd other-config-flag
nxrg240(config-if)#ipv6 dhcp server ipv6dhcps
nxrg240(config-if)#ip policy route-map pbr
nxrg240(config-if)#ip access-linkdown
nxrg240(config-if)#ipv6 access-linkdown
nxrg240(config-if)#exit
nxrg240(config)#dhcp-server 1
nxrg240(config-dhcps)#network 192.168.10.0/24 range 192.168.10.200 192.168.10.210
nxrg240(config-dhcps)#gateway 192.168.10.1
nxrg240(config-dhcps)#dns-server 192.168.10.1
nxrg240(config-dhcps)#exit
nxrg240(config)#ppp account username test1@example.jp password test1pass
nxrg240(config)#interface ppp 0
nxrg240(config-ppp)#ip address 192.0.2.1/32
nxrg240(config-ppp)#ip dnat-group ppp0_dnat
nxrg240(config-ppp)#ip access-group forward-in ppp0_forward-in
nxrg240(config-ppp)#ip masquerade
nxrg240(config-ppp)#ip spi-filter
nxrg240(config-ppp)#ip tcp adjust-mss auto
nxrg240(config-ppp)#ppp username test1@example.jp
nxrg240(config-ppp)#exit
nxrg240(config)#interface ethernet 1
nxrg240(config-if)#no ip address
nxrg240(config-if)#ipv6 nd accept-ra proxy ethernet 0
nxrg240(config-if)#ipv6 dhcp client ipv6dhcpc
nxrg240(config-if)#ipv6 access-group in eth1_in
nxrg240(config-if)#ipv6 spi-filter
nxrg240(config-if)#pppoe-client ppp 0
nxrg240(config-if)#exit
nxrg240(config)#dns
nxrg240(config-dns)#service enable
nxrg240(config-dns)#edns-query enable
nxrg240(config-dns)#priority dhcpv6 1
nxrg240(config-dns)#priority ppp 0 2
nxrg240(config-dns)#timeout 5
nxrg240(config-dns)#exit
nxrg240(config)#exit
nxrg240#save config

 

【 設定例解説 】

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

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

nxrg240(config-dhcp6c)#information-only enable

information-only機能を有効にします。

nxrg240(config-dhcp6c)#option-request dns-servers

DHCPv6サーバに対してDNSサーバアドレスの通知を要求するように設定します。

 

2. <DHCPv6サーバ設定>
nxrg240(config)#ipv6 dhcp-server ipv6dhcps

DHCPv6サーバ設定の名前を定義します。

nxrg240(config-dhcp6s)#option-send dns-server add dhcp-client ethernet 1

DHCPv6 Reply送信時に、DNSサーバアドレスを通知するように設定します。
(☞) この設定例ではDHCPv6クライアントで取得したDNSサーバアドレスを広告します。

 

3. <IPポリシーアクセスリスト設定>
nxrg240(config)#ip policy access-list ppp0_pbr_out 192.168.10.10 any

IPポリシーアクセスリスト名をppp0_pbr_outとし、送信元IPアドレス192.168.10.10を登録します。
IPポリシーアクセスリスト設定は、ルートマップ設定で登録します。
(☞) IPポリシーアクセスリストを設定しただけでは、ポリシーベースルーティングは機能しません。ルートマップ設定およびパケット受信インタフェースでルートマップの登録が必要になります。

 

4. <ルートマップ設定>
nxrg240(config)#route-map pbr permit 1

ルートマップ名をpbrとし、No.1のルールを作成します。

nxrg240(config-route-map)#match ip address ppp0_pbr_out

マッチ条件として、IPポリシーアクセスリストで設定したppp0_pbr_outを設定します。

nxrg240(config-route-map)#set interface ppp 0

該当条件にマッチした際のネクストホップとしてppp0を設定します。

 

5. <MAP-Eルール設定>
nxrg240(config)#mape-rule v6plus type jpne auto

MAP-Eルール名をv6plusとし、MAP-Eのルールタイプをjpne,取得方法をautoに設定します。

 

6. <map0インタフェース設定>
nxrg240(config)#interface map 0
nxrg240(config-map)#tunnel mode ipipv6 mape-rule v6plus

map0インタフェースでトンネルモードとMAP-Eルール名を設定します。

nxrg240(config-map)#ip spi-filter
nxrg240(config-map)#ip tcp adjust-mss auto

ステートフルパケットインスペクションを有効にします。またTCP MSSの調整機能をオートに設定します。

nxrg240(config-map)#no tunnel encap-limit

encap-limit設定を無効にします。

 

7. <スタティックルート設定>
nxrg240(config)#ip route 0.0.0.0/0 map 0

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

 

8. <DNAT設定>
nxrg240(config)#ip dnat ppp0_dnat tcp any any 192.0.2.1 80 192.168.10.10

DNAT名をppp0_dnatとし、宛先IPアドレス192.0.2.1,宛先TCPポート番号80のパケットの宛先IPアドレスを192.168.10.10に変換します。
(☞) DNATを設定しただけでは、宛先IPアドレスの変換機能は有効になりません。宛先IPアドレスの変換を行うインタフェースでの登録が必要になります。

 

9. <IPv4アクセスリスト設定>
nxrg240(config)#ip access-list ppp0_forward-in permit any 192.168.10.10 tcp any 80

IPアクセスリスト名をppp0_forward-inとし、宛先IPアドレス192.168.10.10,宛先TCPポート番号80のパケットを許可します。
(☞) IPv4アクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。

 

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

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

nxrg240(config)#ipv6 access-list eth1_in permit any any 4

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

 

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

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

nxrg240(config-if)#ipv6 address autoconfig interface-id mape-rule v6plus

ethernet0インタフェースのIPv6アドレスを設定します。なおインタフェースIDにはMAP-Eルール名を設定します。

nxrg240(config-if)#ipv6 nd send-ra
nxrg240(config-if)#ipv6 nd other-config-flag

IPv6 RA(Router Advertisement)を送信するように設定します。またRAパケットのOフラグ(other-config-flag)を設定します。

nxrg240(config-if)#ipv6 dhcp server ipv6dhcps

DHCPv6サーバ名を指定し、DHCPv6サーバを有効にします。

nxrg240(config-if)#ip policy route-map pbr

ポリシーベースルーティング用のルートマップを登録します。

nxrg240(config-if)#ip access-linkdown

IPアクセスリンクダウンを有効にします。

nxrg240(config-if)#ipv6 access-linkdown

IPv6アクセスリンクダウンを有効にします。

 

12. <DHCPサーバ設定>
nxrg240(config)#dhcp-server 1
nxrg240(config-dhcps)#network 192.168.10.0/24 range 192.168.10.200 192.168.10.210
nxrg240(config-dhcps)#gateway 192.168.10.1
nxrg240(config-dhcps)#dns-server 192.168.10.1

DHCPサーバを設定します。

 

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

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

 

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

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

nxrg240(config-ppp)#ip dnat-group ppp0_dnat

DNATで設定したppp0_dnatを適用します。

nxrg240(config-ppp)#ip access-group forward-in ppp0_forward-in

IPv4アクセスリストppp0_forward-inをforward-inフィルタに適用します。

nxrg240(config-ppp)#ip masquerade
nxrg240(config-ppp)#ip spi-filter
nxrg240(config-ppp)#ip tcp adjust-mss auto

IPマスカレード、ステートフルパケットインスペクションを有効にします。またTCP MSSの調整機能をオートに設定します。

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

ISP接続用ユーザIDを設定します。
(☞) PPPアカウント設定で登録したアカウントを設定します。

 

15. <ethernet1インタフェース設定>
nxrg240(config)#interface ethernet 1
nxrg240(config-if)#no ip address

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

nxrg240(config-if)#ipv6 nd accept-ra proxy ethernet 0

RAプロキシを有効にします。

nxrg240(config-if)#ipv6 dhcp client ipv6dhcpc

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

nxrg240(config-if)#ipv6 access-group in eth1_in

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

nxrg240(config-if)#ipv6 spi-filter

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

nxrg240(config-if)#pppoe-client ppp 0

PPPoEクライアントを設定します。また使用するPPPインタフェースとしてppp0を指定します。

 

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

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

nxrg240(config-dns)#priority dhcpv6 1
nxrg240(config-dns)#priority ppp 0 2
nxrg240(config-dns)#timeout 5

DNSサーバの優先度を変更します。DHCPv6で取得したDNSサーバアドレスを、ppp0で取得したDNSサーバアドレスよりも優先するように設定します。
またタイムアウト時間も設定します。

 

【 端末の設定例 】

IPv4 アドレス DHCPサーバから自動取得
サブネットマスク
デフォルトゲートウェイ
DNSサーバアドレス
IPv6 プレフィックス ルータからRAで取得
アドレス プレフィックス情報を元に自動生成
デフォルトゲートウェイ ルータからRAで取得
DNSサーバアドレス ルータからDHCPv6で取得

 

【 補足 】

map0インタフェースにMAPルールで割り当てられたIPv4アドレスを割り当てる場合、下記のように設定します。

<map0インタフェースのIPv4アドレス設定>
nxrg240(config)#interface map 0
nxrg240(config-map)#ip address mape-rule

 

【 付録 】