IPv6 アドレスプレフィックスを委譲(再委譲、再委任とも)できる環境を IX2215 で構築することができた。これで運用中でも DHCPv6-PD 関連の検証できることができるようになった。
今回はこの環境を利用して、NVR700W のポートベース VLAN を切りつつ IPv6 のルータとして利用可能かどうかを検証してみる。これができるとこれ一台で 3 セグメント以上(家庭内 LAN が 2 セグメント以上)のルータとして利用できてうれしい。(でももう IX2215 に置き換えていて不要だけど…)
※2023/11/17 IP アドレスの一部を例示用 IP アドレスへ変更
NVR700W でポートベース VLAN 設定
ポートベース VLAN を設定する。なお、これはマニュアルの中では「LAN インターフェースの動作タイプの設定」の機能の中の「LAN 分割機能」と記載されている。またマニュアルのその項には、「この機能は NVR510 では利用できない」と記載がある。NVR510 時代は、サーバセグメント用のルータを別途用意していた。
初期化
NVR700W を初期化するため以下のコマンドを実行する.
# cold start
以下のプロンプトが出たら administrator のパスワードを入力する.
Password:
起動ログ
RTFS formatting..... Done.
Restarting ...
NVR700W BootROM Ver. 1.00
Copyright (c) 2016 Yamaha Corporation. All Rights Reserved.
Press 'Enter' or 'Return' to select a firmware and a configuration.
Default settings : exec0 and config0
Starting with default settings.
Starting with exec0 and config0 ...
NVR700W Rev.15.00.23 (Mon Jun 13 12:40:35 2022)
Copyright (c) 1994-2022 Yamaha Corporation. All Rights Reserved.
To display the software copyright statement, use 'show copyright' command.
00:
Memory 256Mbytes, 2LAN, 1ONU, 1WWAN
Password:
NVR700W Rev.15.00.23 (Mon Jun 13 12:40:35 2022)
Copyright (c) 1994-2022 Yamaha Corporation. All Rights Reserved.
To display the software copyright statement, use 'show copyright' command.
00:
Memory 256Mbytes, 2LAN, 1ONU, 1WWAN
The login password is factory default setting. Please request an administrator to change the password by the 'login password' command.
>
初期設定(ssh ログインできるまで)
ssh ログインできる環境設定.
login password *
administrator password *
login user root *
user attribute connection=serial,remote,http gui-page=dashboard login-timer=300 host=192.0.2.0
user attribute root connection=serial,telnet,remote,ssh,sftp,http gui-page=dashboard,lan-map,config login-timer=1800
console character en.ascii
console columns 200
console lines infinity
analog supplementary-service pseudo call-waiting
analog extension dial prefix sip prefix="9#"
sshd service on
sshd host key generate *
DHCP 設定や DNS 設定は削除しておく.
ポートベース VLAN 設定
ポートベース VLAN を設定するには以下のコマンドを実行する.これで LAN1 の 4 ポートが vlan1 から vlan4 までの 4 つの VLAN として利用可能となる.
lan type lan1 port-based-option=divide-network
lan1 の定義が自動的に vlan1 に引き継がれる.
lan type lan1 port-based-option=divide-network
ip vlan1 address 192.0.2.254/24
vlan1~vlan4 のポートは割り当てを変更することができる.なお,lan1.1 は LAN1 の一番左のポート,…,lan1.4 は LAN1 の一番右の物理ポートをさす.vlan port mapping を明に行わない場合は,以下の定義が行われているものとして動作する.
vlan port mapping lan1.1 vlan1
vlan port mapping lan1.2 vlan2
vlan port mapping lan1.3 vlan3
vlan port mapping lan1.4 vlan4
DHCPv6-PD による割り当ての場合
各 VLAN に IPv6 アドレスを割り当ててみる。IPv4 に関しては定義を行っていない。
WAN と vlan1 の定義
まず vlan1 のみに IPv6 アドレスを割り当ててみよう.NVR に次のような定義を投入し,IX2215 のポートと NVR の WAN ポート(LAN2)を接続してみる.なお,IX の定義はこちらのものを利用している.
ipv6 routing on
ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::1/64
ipv6 prefix 2 dhcp-prefix@lan2::1:0:0:0:1/64
ipv6 prefix 3 dhcp-prefix@lan2::2:0:0:0:1/64
ipv6 prefix 4 dhcp-prefix@lan2::3:0:0:0:1/64
ipv6 prefix 5 dhcp-prefix@lan2::4:0:0:0:1/64
ipv6 vlan1 address dhcp-prefix@lan2::1:0:0:0:1/64
ipv6 vlan1 prefix dhcp-prefix@lan2::1:0:0:0:1/64
ipv6 vlan1 rtadv send 2 o_flag=on
ipv6 vlan1 dhcp service server
ip lan2 address dhcp
ipv6 lan2 address dhcp
ipv6 lan2 dhcp service client
以下のようになった。
# show ipv6 address
VLAN1 scope-id 1 [down]
Received: 129 packets 28869 octets
Transmitted: 12 packets 936 octets
global 2001:db8:0:81::1/64 (tentative)
global 2001:db8:0:81:dead:dead:dead:dead/64 (tentative)
(略)
LAN2 scope-id 2 [up]
Received: 13 packets 1130 octets
Transmitted: 6 packets 616 octets
global 2001:db8:0:80:dead:dead:dead:dead/60 (lifetime: 12587/14387)
(略)
LAN2 のプレフィックスは /60 になっている。
vlan2~vlan4 の定義
vlan2~vlan4 にも ipv6 向けの以下の定義を設定してみる.
ipv6 vlan2 address dhcp-prefix@lan2::2:0:0:0:1/64
ipv6 vlan2 prefix dhcp-prefix@lan2::2:0:0:0:1/64
ipv6 vlan2 rtadv send 3 o_flag=on
ipv6 vlan2 dhcp service server
ipv6 vlan3 address dhcp-prefix@lan2::3:0:0:0:1/64
ipv6 vlan3 prefix dhcp-prefix@lan2::3:0:0:0:1/64
ipv6 vlan3 rtadv send 4 o_flag=on
ipv6 vlan3 dhcp service server
ipv6 vlan4 address dhcp-prefix@lan2::4:0:0:0:1/64
ipv6 vlan4 prefix dhcp-prefix@lan2::4:0:0:0:1/64
ipv6 vlan4 rtadv send 5 o_flag=on
ipv6 vlan4 dhcp service server
以下のようになった.
# show ipv6 address
VLAN1 scope-id 1 [down]
Received: 129 packets 28869 octets
Transmitted: 12 packets 936 octets
global 2001:db8:0:81::1/64 (tentative)
global 2001:db8:0:81:dead:dead:dead:dead/64 (tentative)
(略)
LAN2 scope-id 2 [up]
Received: 17 packets 1588 octets
Transmitted: 10 packets 1076 octets
global 2001:db8:0:80:dead:dead:dead:dead/60 (lifetime: 12592/14392)
(略)
ONU1 scope-id 3 [down]
Received: 0 packet 0 octet
Transmitted: 0 packet 0 octet
link-local ff02::1/64
link-local ff02::2/64
VLAN2 scope-id 5 [down]
Received: 1 packet 109 octets
Transmitted: 0 packet 0 octet
global 2001:db8:0:82::1/64 (tentative)
global 2001:db8:0:82:dead:dead:dead:dead/64 (tentative)
(略)
VLAN3 scope-id 6 [down]
Received: 0 packet 0 octet
Transmitted: 0 packet 0 octet
global 2001:db8:0:83::1/64 (tentative)
global 2001:db8:0:83:dead:dead:dead:dead/64 (tentative)
(略)
VLAN4 scope-id 7 [down]
Received: 174 packets 38138 octets
Transmitted: 0 packet 0 octet
global 2001:db8:0:84::1/64 (tentative)
global 2001:db8:0:84:dead:dead:dead:dead/64 (tentative)
(略)
意図どおりの割り当てになっているようだ.これで通信ができればいいが…結果は?
疎通確認
LAN1 ポートの右から二番目(port 2)に PC をさしたところ,2001:db8:0:82 のアドレスが割り当てられ,右から三番目(port 3)だと 2001:db8:0:83 のアドレスが割り当てられた.双方,実家側のサーバのグローバル IPv6 アドレスに向けて ssh 接続が可能であった.その後,port 1 と port 4 に PC を接続しそれぞれの IPv6 アドレスに ping を投げたところそれぞれ応答があった.(IPv4 に関しては,リンクローカルアドレスが設定されていた)
なお,その時の経路情報は以下のとおり.
# show ipv6 route
Destination Gateway Interface Type
default fe80::dead:dead:dead:dead LAN2(DHCP) static
2001:db8:0:80::/60 - LAN2 implicit
2001:db8:0:81::/64 - VLAN1 implicit
2001:db8:0:82::/64 - VLAN2 implicit
2001:db8:0:83::/64 - VLAN3 implicit
2001:db8:0:84::/64 - VLAN4 implicit
#
結論
DHCPv6-PD とポートベース VLAN の組合せは問題なく動作する.ただし,ここから MAP-E や DS-Lite のトンネルを掘れるかどうかは未検証.
RA による割り当ての場合
RA による割り当てだから /64 のプレフィックスを一つしかもらえないんだから,4 つの VLAN に割当ることってどうしても無理だと思う.おそらく,どれか一つの VLAN に ND プロキシできるのだろう.
コメント