10
11
2020
NURO光のガラクタONU・ルータに悪戦苦闘中!!!
NURO光のONU・ルータは使い物にならないおもちゃ
NURO光を導入してからほぼ1ヶ月が経過したが、NURO光から供給される専用ONU兼ルータの取り扱いに四苦八苦している.家庭用のNURO光サービスで供給されるONUはルータと一体化された物しか選択肢がなく、現状では ZTEのF660AかHuweiのHG8045Qのどちらかが割り当てられる.
ビジネス系のNUROサービスではG-PON方式のONUのみの供給が受けられるようなので、YAMAHAやNECの業務用のまともなルータが使用可能だ.
誰でも簡単に使えるようにONUとルータを一体化した機種にしているのだろうが、SOHOや事業所などでLANを構築しようとしているユーザにとっては甚だ迷惑な仕様だ.恐らく、これらの2機種とも内部的にルータ機能を切り離す機能は有しているか、またはファームウェアのアップデート等で対応可能な筈だが、エンドユーザには全く公開されていない.
この2機種のマニュアルの内容は、どちらも中途半端な内容で、素人ユーザにとっては全くちんぷんかんぷん、専門家にとっても首をかしげたくなるような意味不明な記載なので殆ど役に立たない.実際に設定を変えながら、ルータの挙動を追い掛けるしか機能を調べる方法はなさそうだ.
F660AのLAN側の設定項目を確認する
先ずは、デフォルトの状態でLAN側の設定項目を見ていくことにする.
LAN側のIPv4に関する設定項目
自分のLink Local Addressを設定?
クライアントPC側のIPアドレス割り当て状況を確認してみる
DNSサーバに関してはLAN側のIPアドレスがDNS Proxyサーバとして割り当てられている
まあ、IPv4に関しては特に不明な点はないが、IPv6に関しては意味不明な項目が多い.DHCPのチェックを外すと、クライアント側へ伝達されるのDNS情報が色々と変化するようだ.『DNSサービスの設定を優先にする』を選ぶとDNS周りの細かい設定項目が現れるが、上位プロバイダ側のDNSサーバの情報が追加されたり、LAN側のLLA(fe80::1) アドレスが現れたりする程度なので、一体何のためにこれらの細かな設定が必要なのか理解できない.
ここまでの設定で有れば、一般的なユーザが普通の使い方をする分には、Firewall周りを除いて特にデフォルト状態で問題になるようなことはなさそうだ.まあ、Firewallがデフォルトで OFF になっているのは、全くもって不可解というか間抜けな対応だ.So-netは一体何を考えているのだろうか?
ここまではどちらかと言うと一般ユーザ向けの機能なので、本題のIPv6アドレスのハンドリングについて機能を探って行く.『スタティックプレフィクス』、『プレフィクスデリゲーション(IPv6)』、『ルータ広告(IPv6)』という3つの気になる項目がある.
『スタティックプレフィクス』の項目は何も記載されていない
『プレフィクスデリゲーション』の項目は “RA”と”DHCP”が有効な状態
『ルータ広告(IPv6)』の項目は “RA”に関する時間設定とフラグの設定
『スタティックプレフィクス』はLAN側に任意の固定prefixを割り当てる機能の様で、prefix長も指定できることから、上位ルータから prefix delegation されたIPv6 prefixを切り出して、LAN側に設定する機能のようだ.
次の設定項目に『プレフィクスデリゲーション』があるので、配下のLAN側に “DHCPv6-PD” でprefixを委任できるのではないかと期待するが、どうやらLAN側クライアントへprefixをRAで通知するか、DHCPv6を用いるかを選ぶだけのようだ.
最後の『ルータ広告(IPv6)』の項目は『プレフィクスデリゲーション』の項目と被っているが、単にRAに関する各種フラグやタイマーなどのパラメータを設定しているだけのようだ.
謎だらけのIPv6関連の設定だが、『スタティックプレフィクス』の機能を上手く利用すれば、F660A配下に接続した自前ルータ(NEC IX2215)側で、上手く prefix delegation を行えば、当方が想定しているような、IPv6ネットワークの構築ができそうだ.
NEC IX2215 ルータを F660Aの配下に接続してみる
先ずは、FLET’SのIPoE環境下と同じ DHCPv6-PD での設定を試してみる.NuroのLAN側ポートと IX2215のGigaEthernet0.0ポートを接続する.設定の主要部分は以下に示す.
ipv6 dhcp client-profile dhcpv6pdcl-nuro
option-request dns-servers
option-request ntp-servers
ia-pd subscriber GigaEthernet2:2.1 0:0:0:c8::/64 eui-64
ia-pd subscriber GigaEthernet2:2.2 0:0:0:ca::/64 eui-64
ia-pd subscriber GigaEthernet2:2.4 0:0:0:ce::/64 eui-64
!
...
interface GigaEthernet0.0
description Nuro-DMZ
ip address dhcp
ip napt enable
ipv6 enable
ipv6 dhcp client dhcpv6pdcl-nuro
ipv6 filter dhcpv6-list 1 in
ipv6 filter icmp6-all 2 in
ipv6 filter icmp6-nd 4 in
ipv6 filter ip-tunnel-allow 5 in
ipv6 filter reject-all 100 in
ipv6 filter dhcpv6-list 1 out
ipv6 filter icmp6-all 2 out
ipv6 filter ip-tunnel-allow 5 out
ipv6 filter dyn-outbound 100 out
no shutdown
!
...
interface GigaEthernet2:2.1
description VLAN200-Nuro-Dual
encapsulation dot1q 200 tpid 8100
auto-connect
ip address 192.168.200.254/24
ip dhcp binding vlan200profile
ipv6 enable
ipv6 interface-identifier 00:00:00:00:00:00:c8:fe
ipv6 dhcp server dhcpv6pd-sv200
ipv6 nd ra enable
ipv6 nd ra other-config-flag
no shutdown
!
interface GigaEthernet2:2.2
description VLAN202-Nuro-IPv4-USGW
encapsulation dot1q 202 tpid 8100
auto-connect
ip address 192.168.202.254/24
ip dhcp binding vlan202profile
ipv6 enable
ipv6 interface-identifier 00:00:00:00:00:00:ca:fe
ipv6 dhcp server dhcpv6pd-sv202
ipv6 nd ra enable
ipv6 nd ra other-config-flag
no shutdown
!
...
ix2215-02(config)# show ip addr
Interface GigaEthernet0.0 is up, line protocol is up
Internet address is 192.168.1.3/24
Broadcast address is 255.255.255.255
Address determined by DHCP
Primary DNS server is 192.168.1.1
Interface GigaEthernet2:1.1 is up, line protocol is up
Internet address is 192.168.100.253/24
Broadcast address is 255.255.255.255
Address determined by config
...
Interface GigaEthernet2:2.1 is up, line protocol is up
Internet address is 192.168.200.254/24
Broadcast address is 255.255.255.255
Address determined by config
Interface GigaEthernet2:2.2 is up, line protocol is up
Internet address is 192.168.202.254/24
Broadcast address is 255.255.255.255
Address determined by config
...
ix2215-02(config)# show ipv6 addr
Interface GigaEthernet0.0 is up, line protocol is up
Link-local address(es):
fe80::260:b9ff:fee3:dbfe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:2
ff02::1:ff00:0
ff02::1:ffe3:dbfe
Interface GigaEthernet2:2.1 is up, line protocol is up
Link-local address(es):
fe80::c8fe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:2
ff02::1:ff00:0
ff02::1:ff00:c8fe
Interface GigaEthernet2:2.2 is up, line protocol is up
Link-local address(es):
fe80::cafe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:2
ff02::1:ff00:0
ff02::1:ff00:cafe
Interface GigaEthernet2:2.3 is up, line protocol is up
Link-local address(es):
fe80::cefe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:2
ff02::1:ff00:0
ff02::1:ff00:cefe
Interface Loopback0.0 is up, line protocol is up
Orphan address(es):
::1 prefixlen 128
Interface Loopback1.0 is up, line protocol is up
Interface Null0.0 is up, line protocol is up
Interface Null1.0 is up, line protocol is up
ix2215-02(config)#
...
ix2215-02(config)# ping6 fe80::1
% Cannot select source address.
% Destination fe80::1 needs interface.
ix2215-02(config)# ping6 fe80::1 int GigaEthernet0.0
PING fe80::260:b9ff:fee3:dbfe > fe80::1 56 data bytes
64 bytes from fe80::1 icmp_seq=0 hlim=255 time=0.308 ms
64 bytes from fe80::1 icmp_seq=1 hlim=255 time=0.324 ms
64 bytes from fe80::1 icmp_seq=2 hlim=255 time=0.319 ms
64 bytes from fe80::1 icmp_seq=3 hlim=255 time=0.313 ms
--- fe80::1 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip (ms) min/avg/max = 0.308/0.316/0.324
ix2215-02(config)#
GigaEthernet0.0 には、IPv4アドレスがDHCPで割り当てられているが、IPv6アドレスは Link Local Address(LLA) “fe80::260:b9ff:fee3:dbfe” だけだ.勿論この状態で、F660A側の LLA “fe80::1” との間でIPv6通信は行える.
クライアントPC側のGigaEthernet2:2.1(VLAN200) もIPv6アドレスはLLAのみしか割り当てられていない.やはり DHCPv6-PD の設定では IPv6アドレスの設定は無理なようだ.
今度は、GigaEthernet0.0の設定をルータ側から自動設定するモードに変更してみる.この “ipv6 address autoconfig” という設定は、V10.3 から備わった機能のようで、ルータ側のIPv6アドレス配布モード(DHCPv6-PD/RA)を自動判別して、適切に設定してくれるようだ.
interface GigaEthernet0.0
description Nuro-DMZ
ip address dhcp
ip napt enable
ipv6 enable
ipv6 autoselect enable
ipv6 address autoconfig <=== IPv6アドレス割り当て方式の自動判定
ipv6 filter dhcpv6-list 1 in
ipv6 filter icmp6-all 2 in
ipv6 filter icmp6-nd 4 in
ipv6 filter ip-tunnel-allow 5 in
ipv6 filter reject-all 100 in
ipv6 filter dhcpv6-list 1 out
ipv6 filter icmp6-all 2 out
ipv6 filter ip-tunnel-allow 5 out
ipv6 filter dyn-outbound 100 out
no shutdown
!
ix2215-02(config)# show ipv6 addr
Interface GigaEthernet0.0 is up, line protocol is up
Global address(es):
240d:xxxx: xxxx: xxxx:260:b9ff:fee3:dbfe prefixlen 64
240d: xxxx: xxxx: xxxx:: prefixlen 64 anycast
Link-local address(es):
fe80::260:b9ff:fee3:dbfe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:ff00:0
ff02::1:ffe3:dbfe
Interface GigaEthernet2:2.1 is up, line protocol is up
Link-local address(es):
fe80::c8fe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:2
ff02::1:ff00:0
ff02::1:ff00:c8fe
Interface GigaEthernet2:2.2 is up, line protocol is up
Link-local address(es):
fe80::cafe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:2
ff02::1:ff00:0
ff02::1:ff00:cafe
Interface GigaEthernet2:2.3 is up, line protocol is up
Link-local address(es):
fe80::cefe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:2
ff02::1:ff00:0
ff02::1:ff00:cefe
Interface Loopback0.0 is up, line protocol is up
Orphan address(es):
::1 prefixlen 128
Interface Loopback1.0 is up, line protocol is up
Interface Null0.0 is up, line protocol is up
Interface Null1.0 is up, line protocol is up
ix2215-02(config)#
今度は、GigaEthernet0.0側にIPv6 グローバルアドレスが割り振られているが、相変わらずクライアントPC側のGigaEthernet2:2.1(VLAN200)はLLAのみだ.勿論この状態では、GigaEthernet2:2.1(VLAN200)に接続したPCもIPv6アドレスは振られていない.
NECのIXルータには、ND Proxy と呼ばれている、2つのインタフェース間で IPv6のアドレスのRA情報のやりとりを仲介する機能が備わっているので、この機能を用いてWAN側のGigaEthernet0.0からLAN側(クライアント側)のGigaEthernet2:2.1(VLAN200)に上位ルータからのRA情報を橋渡ししてみる.
interface GigaEthernet0.0
description Nuro-DMZ
ip address dhcp
ip napt enable
ipv6 enable
ipv6 nd proxy GigaEthernet2:2.1 <=== GigaEthernet2:2.1側へRA情報を仲介
ipv6 filter dhcpv6-list 1 in
ipv6 filter icmp6-all 2 in
ipv6 filter icmp6-nd 4 in
ipv6 filter ip-tunnel-allow 5 in
ipv6 filter reject-all 100 in
ipv6 filter dhcpv6-list 1 out
ipv6 filter icmp6-all 2 out
ipv6 filter ip-tunnel-allow 5 out
ipv6 filter dyn-outbound 100 out
no shutdown
!
ix2215-02(config-GigaEthernet0.0)# show ipv6 addr
Interface GigaEthernet0.0 is up, line protocol is up
Link-local address(es):
fe80::260:b9ff:fee3:dbfe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:ff00:0
ff02::1:ffe3:dbfe
ix2215-02(config-GigaEthernet0.0)# exit
ix2215-02(config)# show ipv6 addr
Interface GigaEthernet0.0 is up, line protocol is up
Link-local address(es):
fe80::260:b9ff:fee3:dbfe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:ff00:0
ff02::1:ffe3:dbfe
Interface GigaEthernet2:2.1 is up, line protocol is up
Global address(es):
240d:xxxx:xxxx:xxxx::c8fe prefixlen 64
240d:xxxx:xxxx:xxxx:: prefixlen 64 anycast
Link-local address(es):
fe80::c8fe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:2
ff02::1:ff00:0
ff02::1:ff00:c8fe
Interface GigaEthernet2:2.2 is up, line protocol is up
Link-local address(es):
fe80::cafe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:2
ff02::1:ff00:0
ff02::1:ff00:cafe
Interface GigaEthernet2:2.3 is up, line protocol is up
Link-local address(es):
fe80::cefe prefixlen 64
fe80:: prefixlen 64 anycast
Multicast address(es):
ff02::1
ff02::2
ff02::1:2
ff02::1:ff00:0
ff02::1:ff00:cefe
Interface Loopback0.0 is up, line protocol is up
Orphan address(es):
::1 prefixlen 128
Interface Loopback1.0 is up, line protocol is up
Interface Null0.0 is up, line protocol is up
Interface Null1.0 is up, line protocol is up
ix2215-02(config)#
今度は、GigaEthernet2:2.1 側にIPv6グローバルアドレスが割り振られていることが確認できる.尚、この状態ではF660側とIX2215側のIPv4アドレス連携の設定を行っていないので、クライアント側のPCではIPv6での通信士かできない.
GigaEthernet2:2.1(VLAN200)配下のPCにはIPv6グローバルアドレスが配布されている
とりあえずIPv6のみの通信が行えることを確認
ルータのND Proxy機能を用いれば、一応 F660A配下にルータをつないで、そのルータの配下にIPv6アドレスを配布することが可能だ.但し、NECのルータのND Proxy機能は、配下の1つのインタフェースにしかproxyできないようなので、他のVLANセグメントは相変わらずIPv6から見放されている.