はじめに
筆者宅は IPv6 GUA の制御に NEC UNIVERGE IX2106、IPv6 ULA の制御に Raspberry Pi 3B を使用している。
ともに DHCPv6 と RA の設定を仕込んであって、POCO F7 を買うまでは何事もなく不自由していなかった。
件のパケ詰まりからなにからと夜なべをして設定見直しやら試行錯誤をしたものだが、ここに来て新たな不具合が起きた。
新たな不具合?
それは、何故か IPv6 ULA を制御している側の Raspberry Pi 3B を再起動すると、POCO F7 のインターネット接続が失われて Wi-Fi が切れるという現象。
つまり Raspberry Pi 3B の DHCP と RA のデーモンが落ちると POCO F7 の Wi-Fi が切れるという事。
インターネット接続が失われるというのは Gateway や DNS を見失った場合に起きるので、今回はここを対応してみる。
何が起きているのか
Raspberry Pi 3B の DHCP と RA が落ちたときでも IX2106 側の DHCPv6 と RA は生きているので、Gateway に関しては問題無いはず。
ということは DNS の情報が失われているのかなと。
IX2106 側の設定に抜けが
IX2106 側の DNS 情報に関する設定はどうなんだろうなと覗いてみた。
ipv6 dhcp client-profile dhcpv6-cl
information-request
option-request dns-servers
!
ipv6 dhcp server-profile dhcpv6-sv
dns-server dhcp DHCPv6 クライアントはこの様にして上流から DNS サーバーアドレスを取得している。
DHCPv6 サーバーは DHCPv6 クライアントで取得した DNS サーバーアドレスをそのまま流すようにしている。
あとはステートレス設定なんで RA にも DNS 情報を持たせなければいけない。
!
interface GigaEthernet1.0
ip address 192.168.x.x/24
ipv6 enable
ipv6 dhcp server dhcpv6-sv
ipv6 nd ra enable
ipv6 nd ra other-config-flag
no shutdown
! んー…… DNS 設定がない……
NEC のドキュメント通りに設定しているのだが、RA で DNS の情報流す部分がない。
そんなもんで、次のようにして RDNSS 設定を追記。DNS サーバーアドレスは自前で運用している DNS サーバーの IPv6 ULA を 2 つ指定したが、一般的には HGW の GUA を指定しておけば良いはず。
!
interface GigaEthernet1.0
ip address 192.168.x.x/24
ipv6 enable
ipv6 dhcp server dhcpv6-sv
ipv6 nd ra enable
ipv6 nd ra other-config-flag
ipv6 nd ra dns-server fdxx:xxxx:xxxx::56 fdxx:xxxx:xxxx::7 1800
no shutdown
! 設定を書き込んだら動作確認。
radvdump コマンドを用いてネットワーク上に飛び交っている RA をキャプチャ。
動作的には正常になった。
interface eth0
{
AdvSendAdvert on;
# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
AdvManagedFlag off;
AdvOtherConfigFlag on;
AdvReachableTime 0;
AdvRetransTimer 0;
AdvCurHopLimit 64;
AdvDefaultLifetime 1800;
AdvHomeAgentFlag off;
AdvDefaultPreference medium;
AdvSourceLLAddress on;
prefix 2405:xxxx:xxxx::/64
{
AdvValidLifetime 2592000;
AdvPreferredLifetime 604800;
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
}; # End of prefix definition
RDNSS fdxx:xxxx:xxxx::56 fdxx:xxxx:xxxx::7
{
AdvRDNSSLifetime 1800;
}; # End of RDNSS definition
}; # End of interface definition
再現するか確認
IX2106 の設定抜けを修正したので、改めて Raspberry Pi 3B 側で DHCP と RA のデーモンを落として POCO F7 の Wi-Fi を観察。
こんどは Wi-Fi が落ちなくなった。
ということで、おま環でした!! ということになるのだが、ではなんで POCO F7 以外の端末は落ちないんだろうという謎も残る。
おわりに
副次的に POCO F7 の IPv6 GUA が消失するパケ詰まり現象も直ってくれると良いなーとか思いながら過ごしている状態になった。
今回の対策をもってしてもパケ詰まりに関して回復しないようであれば、もう次期 HyperOS 3 を待ってみる他、手が無い。
なので発生しないことを祈ってあと 3~4 日程度様子をみてみる。



コメント