y2blog » IPv6(IPoE)ネットワークの構築(実践編:その2)

3

17

2019

IPv6(IPoE)ネットワークの構築(実践編:その2)

ひかり電話契約ありの環境で設定してみる


現在の我が家のFLET’S光ネクストサービスでは、ひかり電話オプション契約をNTT東と結んでいるので、IPoE方式でのIPv6アドレス設定方法は DHCP-PD方式による56bitのprefixが割り当てられている.


以前の記事で紹介したように、フレッツ光ネクストサービスを契約した当初は、ひかり電話契約の無い状態で、RA方式による単一の64bit長のprefixで使用していたが、これでは使い物にならないので、ひかり電話は全く使う予定も無かったが、56bit長のprefixの委任を受けることが可能になる、ひかり電話のプション契約を追加した.


ひかり電話のプション契約の月額500円の余分な支払いは腹立たしいが、まともなIPv6環境を手に入れるためには仕方がない.


我が家のメインルータはNECの Univerge IX2215 なのだが、ひかり電話(IP電話)の仕組みも色々と調べてみたかったので、ヤフオクで見つけた中古のYAMAHA NVR500(正確には、NTT西日本がビジネス用としてユーザにレンタル?していたN500というNVR500のOEM版)を安価で入手した.


FLET’S光ネクストサービスのIPoEによるIPv6環境では、NGN網側に複数台のルータを直接つなぐと問題が生じる.NTT東西のひかり電話の仕様では、ひかり電話用のルータはNGN網側に直収する前提になっている.


試行錯誤を繰り返しながら、IX2215をメインルータとして活用しながら、NVR500を併用してひかり電話を使う方法を何とか見つけ出すことができた.LAN側にひかり電話用のルータをつなぐには、ちょっとした小細工が必要になる.この辺の設定テクニックについては、続編で具体的な事例を示すことにする.


IPoE-DHCPv6-PD-Cascading
FLET’S NGN側からIX2215で受けて、下位のNVR500にprefix(60bit)で再委任(配布)


上記の接続では、IX2215はひかり電話用(兼IPv4 over IPv6トンネル用)のNVR500に対して、IPv4はブリッジ接続を行い、IPv6はDHCPv6-PD方式で60bitのprefix再委任(再配布)を行っている.IX2215側の設定はかなり複雑になるが、幸いなことにNECのIXシリーズのルータは値段の割にはとても高機能かつ高性能で、小規模事業所用のルータとしてはとても優れている.これから本格的にIPv6環境をマスターしたい人には、このNECのIXシリーズルータをお薦めする.


IXシリーズルータでのIPoE接続の設定例は、NECのホームページ 「UNIVERGE IXシリーズ 技術情報 DS-Lite 設定ガイド」に記載されているので、こちらの情報を参考にすると良いだろう.



今回は、一般的な家庭での使用方法を再現するため、一旦IX2215を切り離した状態で、YAMAHA NVR500をNGN網側に直接つないだ状態で実験を行うことにする.IPoE接続とひかり電話の設定は直接関係ないが、ついでにひかり電話関係の設定も載せておく.


IPoE-NGN-DHCPv6-PD-NVR500
YAMAHA NVR500を直接FLET’S NGN網側につないでテストする

フレッツ光ネクストサービスではIPoEによるIPv6アドレスの設定方法は、IPv4 over IPv6トンネリング方式(DS-Lite、MAP-E)とは関係なく共通な設定となる.今回は、インターネットマルチフィード社が提供する Transixサービス(DS-Lite方式)での設定情報を参考として提示する.


今回実験用に設定したNVR500のコンフィグ


# show config
# N500 Rev.11.00.39 (Tue Jul 10 13:35:37 2018)
# MAC Address : 00:a0:xx:xx:xx:37, 00:a0:xx:xx:xx:38
# Memory 64Mbytes, 2LAN, 1BRI
# main:  N500 ver=00 serial=S3800xxxxx MAC-Address=00:a0:xx:xx:xx:37 MAC-Address
=00:a0:xx:xx:xx:38
# Reporting Date: Mar 17 12:33:18 2019
console character ascii
login timer 14400
ip route default gateway tunnel 1
ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
ip lan1 address 192.168.103.3/24
ipv6 lan1 address dhcp-prefix@lan2::3/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ip lan2 address dhcp
ipv6 lan2 secure filter in 1010 1011 1012 2000
ipv6 lan2 secure filter out 3000 dynamic 100 101 102 103 104 105 106
ipv6 lan2 address dhcp
ipv6 lan2 dhcp service client
ngn type lan2 ntt
tunnel select 1
 tunnel name Transix
 tunnel encapsulation ipip
 tunnel endpoint address 2404:8e00::feed:100
 tunnel enable 1
ipv6 filter 1010 pass * * icmp6 * *
ipv6 filter 1011 pass * * tcp * ident
ipv6 filter 1012 pass * * udp * 546
ipv6 filter 2000 reject * * * * *
ipv6 filter 3000 pass * * * * *
ipv6 filter dynamic 100 * * ftp
ipv6 filter dynamic 101 * * domain
ipv6 filter dynamic 102 * * www
ipv6 filter dynamic 103 * * smtp
ipv6 filter dynamic 104 * * pop3
ipv6 filter dynamic 105 * * tcp
ipv6 filter dynamic 106 * * udp
telnetd service off
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.103.101-192.168.103.199/24
dhcp client release linkdown on
dns server dhcp lan2
dns private address spoof on
schedule at 1 */* 01:55 * ntpdate ntp.nict.jp
httpd host 192.168.103.0 255.255.255.0
analog arrive without-calling-number 1 reject rejected-by-user
analog use 1 off
analog sip call myname 1 sip:0312345678
analog local address 1 0312345678
analog use 2 off
analog sip arrive permit 2 off
analog sip call permit 2 off
analog supplementary-service pseudo call-waiting
analog extension emergency-call-dial type normal-number
analog extension dial prefix routing route-table=1 ngn lan2
analog extension dial prefix port=1 routing route-table=1 ngn lan2
analog extension dial prefix port=2 routing route-table=1 ngn lan2
analog call route-table 1 1
analog call route 1 * * ngn lan2 * line
alarm entire off
sip use on
sip codec permit lan2 g711u
sshd service on
sshd session 3
sshd host 192.168.103.0 255.255.255.0
sshd host key generate *

この設定の中身について主要部分を簡単に説明すると、

ポートの割り当て: LAN1:クライアント接続側(LAN側)
           LAN2: NGN網側(WAN側)

IPv4アドレス: LAN1 192.168.103.3/24 [#13]
 Default Route: “tunnel 1” (Transix DS-Lite AFTR)[#10]

       LAN2: NGN網側からDHCPで取得(IP電話専用のグローバルIPが割り当てられる)[#17]

 DHCPサーバ:
   リースIPv4アドレス 192.168.103.101 〜 192.168.103.199/24 [#43]

  IPv6アドレス: LAN2:
        NGN網側から DHCPv6-PD により prefixを取得 [#20]
        DHCPv6のクライアントとして振る舞う [#21]
        受信したprefix情報を prefix #1番に登録 [#12]
        Default Route: NGN網側の上位ルータへ向ける[#11]
        IPv6のパケットフィルタリング定義 [#28-#39]
        LAN2(WAN)ポートへフィルタリングルールを適用 [#18,#19]

        LAN1:
        LAN2で受信したprefixを基に、インタフェースID部分を0x3 として設定 [#14]
        RAメッセージを配下のクライアントに送出する [#15]
        DHCPv6サーバとしてDNSサーバ等の情報を送出する [#16]

 IPv6パケットフィルタリング:
        ICMPv6の通信許可 [#28]
        identの通信許可 [#29]
        DHCPv6の通信許可 [#30]
        発信接続の戻りパケット許可 [#32]
        上記以外の着信接続拒否 [#31]

 IP電話(ひかり電話)の設定:
        電話番号: “0312345678” [#51, #52]


以前の記事『IPv6(IPoE)のセキュリティ対策』でも説明したが、フレッツ光ネクストサービスでのIPoE方式によるIPv6接続では、ユーザ側のルータ機器やファイアウォール装置、クライアントPC側などで適切なフィルタリング設定を行わないと、LAN側のPCやNASなどのデバイスがインターネットから丸見え(野ざらし状態)になるので、

必ず適切なフィルタリング設定を行うこと!!!

適切なフィルタリング設定ができないのであれば、IPv6接続に手を出してはいけない.


実際にDHCP-PD方式で割り当てられたNVR500側のIPv6アドレス、IPv4アドレス情報を確認してみる.

# show ipv6 address lan1 <== LAN1(LAN)側のIPv6アドレス情報を表示
LAN1 scope-id 1 [up]
 Received:    55 packets 14779 octets
 Transmitted: 12 packets 1290 octets

 global     2409:xxxx:xxxx:3000::3/64
 link-local fe80::2a0:deff:feab:ff37/64
 link-local ff02::1/64
 link-local ff02::2/64
 link-local ff02::1:2/64
 link-local ff02::1:ff00:3/64
 link-local ff02::1:ffab:ff37/64

# show ipv6 address lan2 <== LAN2(WAN)側のIPv6アドレス情報を表示
LAN2 scope-id 2 [up]
 Received:    7 packets 1196 octets
 Transmitted: 15 packets 1570 octets

 global     2409:xxxx:xxxx:3000:2a0:deff:feab:ff38/56 (lifetime: 12562/14362)
 link-local fe80::2a0:deff:feab:ff38/64
 link-local ff02::1/64
 link-local ff02::2/64
 link-local ff02::1:ffab:ff38/64

# show status ipv6 dhcp  <== DHCPv6関連の設定情報を表示

DHCPv6 status

  LAN1 [server]
    state: reply

  LAN2 [client]
    state: established
    server:
      address: ::
      preference: 0
      prefix: 2409:xxxx:xxxx:3000::/56
      duration: 14400
      T1: 7200
      T2: 10800
      preferred lifetime: 12600
      valid lifetime: 14400
      SIP server[1]: 2404:1a8:xxxx:yyyy::1
      DNS server[1]: 2404:1a8:7f01:a::3
      DNS server[2]: 2404:1a8:7f01:b::3
      Domain name[1]: flets-east.jp
      Domain name[2]: iptvf.jp
      SNTP server[1]: 2404:1a8:1102::a
      SNTP server[2]: 2404:1a8:1102::b
      Vender Specific Information:
            Enterprise Number: yyy
            MAC Address: 00:a0:xx:xx:xx:38
            Tel Number: 0312345678
            SIP Domain: ntt-east.ne.jp
            HGW Server: www.verinfo.hgw.flets-east.jp

# show ipv6 route  <== IPv6のルーティング情報を表示
Destination                Gateway                  Interface  Type
default                    fe80::10ff:fe04:2057     LAN2(DHCP) static
2409:xxxx:xxxx:3000::/56   -                        LAN2       implicit
2409:xxxx:xxxx:3000::/64   -                        LAN1       implicit
# 

# show status lan2  <== LAN2(WAN)側のIPv4アドレス情報を表示
LAN2
Description:
IP Address:                     118.xxx.xxx.xxx/30 (DHCP)
Ethernet Address:               00:a0:de:xx:xx:38
Operation mode setting:         Auto Negotiation (1000BASE-T Full Duplex)
Maximum Transmission Unit(MTU): 1500 octets
Promiscuous mode:               OFF
Transmitted:                    10 packets (2183 octets)
  IPv4(all/fastpath):           4 packets / 0 packet
  IPv6(all/fastpath):           4 packets / 0 packet
Received:                       8 packets (2567 octets)
  IPv4:                         4 packets
  IPv6:                         3 packets
#           
# show status dhcpc  <== DHCP(IPv4)関連の設定情報を表示
Interface: LAN2 primary
            IP address: 118.xxx.xxx.94/30
           DHCP server: 118.xxx.xxx.93
       Remaining lease: 3hours 59min. 9secs.
      (type) Client ID: (01) 00 a0 de xx xx 38 00 02 01
         SIP Server[1]: 118.177.125.1
       Vender Specific: 210
           MAC address: 00:a0:de:xx:xx:38
            Tel number: 0312345678
            SIP domain: ntt-east.ne.jp
            HGW server: www.verinfo.hgw.flets-east.jp
       Static Route[1]: 118.xxx.0.0/16 gateway 118.xxx.xxx.93
Common information 
       Default gateway: 118.xxx.xxx.93

# show ip route  <== IPv4のルーティング情報を表示
Destination         Gateway          Interface       Kind  Additional Info.
default             -                 TUNNEL[1]    static  
118.xxx.0.0/16      118.xxx.xxx.93    LAN2 temporary  
118.xxx.xxx.92/30   118.xxx.xxx.94    LAN2  implicit  
192.168.103.0/24    192.168.103.3     LAN1  implicit  
# 

これらの情報から、フレッツ光ネクストサービスでのひかり電話は、IPv4のグローバルアドレス(/30)をユーザに払い出しており、NTTのひかり電話関連設備との間の閉域網となっていることが想像できる.当然ながら、このIPv4閉域網環境ではインターネット接続はできない.


ひかり電話以外の一般的なIPv4インターネット接続は、上記の例のように、IPv4 over IPv6トンネル(DS-LiteまたはMAP-E)を使うか、PPPoE接続を使って、IPv4のデフォルトルートをインターネット側に振り向ける必要がある.


ひかり電話に関しては今のところIPv4環境だけしかなくても問題なく接続できることを確認しているが、フレッツTVなどのフレツ光ネクストサービスに関してはIPv4とIPv6をどのように使っているのか不明だ.将来的にIPv6に一本化されるのだろうか?



NVR500のLAN側につないだクライアントPC側のIPv6アドレス情報を確認してみる.


Mac Client IPv6 Address
IPv6アドレスは、56bit長のIPv6 prefix(2409:xxxx:xxxx:30--)+ Subnet ID (00) + Interface IDで構成されている

Mac Client IPv6 DNS Settings DNS情報はNVR500がDHCPサーバとして振る舞う(DNSプロキシ機能)

今回FLET'S NGN網側から払い出されたIPv6 prefixは56bitで、 "2409":xxxx:xxxx:30--:" がprefix部分、":30--:" の --部分がユーザ側で自由に設定可能な Subnet ID となる.この例では Subnet IDは "0x00" が設定されている.ユーザ側ではIPv6ネットワークを最大で256分割することが可能である.




蛇足:【実験君】IX2215からRAを送出してNVR500を設定してみる


ひかり電話契約のため、NGN網側からはDHCPv6-PD方式によるPrefix委任しか受けられないが、IX2215側からRA方式により、配下のNVR500に対してIPv6アドレスを割り当てる事は可能だ.



IPoE-RA-Cascading
IX2215の"GigaEthernet2:4.0"ポートからRAメッセージを送出して、NVR500を設定

IX2215のLAN側ポート(L2SW) "GigaEthernet2:4.0" の配下に、NVR500のWAN側(LAN2)を接続し、IX2215からprefix: 2409:xxxx:xxxx:3013/64" のRAメッセージを送出する.prefixの下位 57bit〜64bit部分は Subnet ID として "0x13" を組合わせている.


IX2215側の設定の一部を抜粋すると、



 ...

device GigaEthernet2
  port 1 link-aggregation 1
  port 2 link-aggregation 1
  vlan-group 1 port 1 2 3 4
  vlan-group 2 port 5 6        <=== GigaEthernet2:2.0
  vlan-group 3 port 7
  vlan-group 4 port 8          <=== GigaEthernet2:4.0
!
 ...

!
bridge irb enable
no bridge 1 bridge ipv6       <===  IPv4 bridge group (IPv4のみブリッジ接続:IPv6はルーティング)
!

 ...

ipv6 dhcp client-profile dhcpv6pd-cl1
  option-request dns-servers
  option-request ntp-servers
  ia-pd redistribute pool ge2.2 0:0:0:80::/60
  ia-pd redistribute pool ge2.3 0:0:0:a0::/60
  ia-pd subscriber GigaEthernet2:1.1 0:0:0:10::/64 eui-64
  ia-pd subscriber GigaEthernet2:1.3 0:0:0:12::/64 eui-64
  ia-pd subscriber GigaEthernet2:1.4 0:0:0:20::/64 eui-64
  ia-pd subscriber GigaEthernet2:1.5 0:0:0:21::/64 eui-64
  ia-pd subscriber GigaEthernet2:4.0 0:0:0:13::/64 eui-64
!
ipv6 dhcp server-profile dhcpv6pd-sv1
  dns-server dhcp
!
 ...

!
ipv6 dhcp server-profile dhcpv6pd-sv5
  dns-server dhcp
  ia-pd redistribute-prefix pool ge2.2
!
ipv6 dhcp server-profile dhcpv6pd-sv6
  dns-server dhcp
  ia-pd redistribute-prefix pool ge2.3
!
ipv6 dhcp server-profile dhcpv6pd-sv7
  dns-server dhcp
!
 ...
 
interface GigaEthernet0.0
  no ip address
  ipv6 enable
  ipv6 dhcp client dhcpv6pd-cl1
  ipv6 filter dhcpv6-list 1 in
  ipv6 filter icmp6-all 2 in
  ipv6 filter vpntun 3 in
  ipv6 filter reject-all 100 in
  ipv6 filter dhcpv6-list 1 out
  ipv6 filter icmp6-all 2 out
  ipv6 filter dyn-outbound 100 out
  no shutdown
!
interface GigaEthernet1.0
  no ip address
  bridge-group 1
  no shutdown
!
 ...

interface GigaEthernet2:1.1
  encapsulation dot1q 100 tpid 8100
  auto-connect
  ip address 192.168.100.254/24
  ipv6 enable
  ipv6 dhcp server dhcpv6pd-sv1
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  no shutdown
!
interface GigaEthernet2:1.2
  encapsulation dot1q 101 tpid 8100
  auto-connect
  ip address 192.168.101.254/24
  no shutdown
!
 ...
 
interface GigaEthernet2:2.0        <== 配下にNVR500を接続する
  no ip address
  ipv6 enable
  ipv6 dhcp server dhcpv6pd-sv5
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  bridge-group 1            <== IPv4のみブリッジ接続でNVR500へ透過させる
  no shutdown
!
interface GigaEthernet2:3.0
  no ip address
  ipv6 enable
  ipv6 dhcp server dhcpv6pd-sv6
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  no shutdown
!
interface GigaEthernet2:4.0
  no ip address
  ipv6 enable
  ipv6 dhcp server dhcpv6pd-sv7
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  no shutdown
!


上記の設定は、IX2215の設定の一部を抜粋したものだが、NECのIXシリーズルータに精通していないと難しいので、中身はあまり気にしないで良い.やっていることは、"GigaEthernet0:0"インタフェースで、NGN網から受け取った56bit長のprefixに、4bitのSubnet ID(57〜64bit)に 0x13 を付加し、64bit長のprefixを"GigaEthernet2:4.0"インタフェース設定している.


IX2215は"GigaEthernet2:4.0"インタフェースを通じて、配下のクライアントにRAメッセージを配信している.


なお、"GigaEthernet2:4.0"インタフェースは今回の実験用に作成したインタフェースで、普段はNVR500を"GigaEthernet2:2.0"インタフェースにつないでひかり電話として使えるように設定している.


NVR500の設定情報と、IPv6関連のアドレス情報は、

 ...
# show config
# N500 Rev.11.00.39 (Tue Jul 10 13:35:37 2018)
# MAC Address : 00:a0:de:xx:xx:37, 00:a0:de:xx:xx:38
# Memory 64Mbytes, 2LAN, 1BRI
# main:  N500 ver=00 serial=S3800xxxx MAC-Address=00:a0:de:xx:xx:37 MAC-Address
=00:a0:de:xx:xx:38
# Reporting Date: Mar 17 21:09:28 2019
console character ascii
login timer 14400
ip route default gateway tunnel 1
ipv6 prefix 1 ra-prefix@lan2::/64
ip lan1 address 192.168.103.3/24
ipv6 lan1 address ra-prefix@lan2::3/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ip lan2 address dhcp
ipv6 lan2 secure filter in 1010 1011 1012 2000
ipv6 lan2 secure filter out 3000 dynamic 100 101 102 103 104 105 106
ipv6 lan2 dhcp service client ir=on
tunnel select 1
 tunnel name Transix
 tunnel encapsulation ipip
 tunnel endpoint address 2404:8e00::feed:100
 tunnel enable 1
ipv6 filter 1010 pass * * icmp6 * *
ipv6 filter 1011 pass * * tcp * ident
ipv6 filter 1012 pass * * udp * 546
ipv6 filter 2000 reject * * * * *
ipv6 filter 3000 pass * * * * *
ipv6 filter dynamic 100 * * ftp
ipv6 filter dynamic 101 * * domain
ipv6 filter dynamic 102 * * www
ipv6 filter dynamic 103 * * smtp
ipv6 filter dynamic 104 * * pop3
ipv6 filter dynamic 105 * * tcp
ipv6 filter dynamic 106 * * udp
telnetd host any
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.103.101-192.168.103.199/24
dhcp client release linkdown on
dns server dhcp lan2
dns private address spoof on
schedule at 1 */* 01:55 * ntpdate ntp.nict.jp
sshd service on
sshd session 3
sshd host key generate *

# show ipv6 address lan1
LAN1 scope-id 1 [up]
 Received:    53 packets 18667 octets
 Transmitted: 8 packets 800 octets

 global     2409:xxxx:xxxx:3013::3/64 (lifetime: 6871/8671)
 link-local fe80::2a0:deff:fexx:xx37/64
 link-local ff02::1/64
 link-local ff02::2/64
 link-local ff02::1:2/64
 link-local ff02::1:ff00:3/64
 link-local ff02::1:ffxx:xx37/64

# show ipv6 address lan2
LAN2 scope-id 2 [up]
 Received:    32 packets 2952 octets
 Transmitted: 22 packets 2130 octets

 link-local fe80::2a0:deff:fexx:xx38/64
 link-local ff02::1/64
 link-local ff02::2/64
 link-local ff02::1:ffxx:xx38/64

# show ipv6  route
Destination              Gateway                  Interface  Type
default                  fe80::2e4:bdff:fee3:dbfe LAN2       RA
2409:xxxx:xxxx:3013::/64   -                        LAN1       implicit

# ping6 2404:8e00::feed:100
received from 2404:8e00::feed:100, icmp_seq=0 hlim=59 time=5.902ms
received from 2404:8e00::feed:100, icmp_seq=1 hlim=59 time=4.157ms
received from 2404:8e00::feed:100, icmp_seq=2 hlim=59 time=4.112ms

3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max = 4.112/4.723/5.902 ms



Mac Client IPv6 Address with RA
NVR500のLAN側につながれたクライアントPCのIPv6アドレス情報

Mac Client IPv6 DNS with RA
DNSサーバの情報

DHCPv6-PD方式でもRA方式でもクライアント側のIPv6アドレスの設定に大きな違いは無いことがおわかりだろうか.単に、ユーザ側のルータ(C.P.E.)の設定方法が異なることぐらいだ.

Local Search

Calendar

November 2019
S M T W T F S
« Sep    
 12
3456789
10111213141516
17181920212223
24252627282930
  • Blogroll

  • Meta