ひかり電話 HGW PR-600MI(Ver: 01.00.0007)のLANにDebian10 GNOME(4.19.255-1)[VAIO VJP131B01N]を接続使用している。
IPv4は、DHCPでIPアドレスなどネットワーク情報を取得し設定する。IPv6は、RA(Router Advertise)からPrefixを得てSLAACでアドレスを設定する。RAのO_Flagを認識し、DHCPv6のInformationメッセージでDNSやDomain search listの取得を試みる。
PR-600MIは、DHCPv6のInformationに応答しない。パケットキャプチャするとClient IDがTYPE4でrequestしている。「ひかり電話 HGW PR-600MI のDHCPv6-PDサーバーが割当てるPrefixを制御する」に記載した通りPR-600MIのDHCPv6で求められるDUIDは、「LL=Link-Layre address」が指定されている。「LLT=Link-Layer address plus Time」も動作する。
NVR500/510は、DHCPv6のDUID Type 4に応答する。
(1)Debian10のdhclient設定を変更してみる
/etc/dhcp/dhclient.conf
send dhcp6.client-id 00:03:00:01:34:76:c5:57:0b:8f; #vaio LL
ps ax | grep dhclient
20656 ? S 0:00 /sbin/dhclient -d -q -6 -S -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/dhclient6-enx3476c5570b8f.pid -lf /var/lib/NetworkManager/dhclient6-357be8af-5062-32df-8bdb-bbc419476f71-enx3476c5570b8f.lease -cf /var/lib/NetworkManager/dhclient6-enx3476c5570b8f.conf enx3476c5570b8f
(2)NetworkManagerでDHCPv6のclient IDを変更する
NetworkManager.confの「[connection]」セクションで「ipv6.dhcp-duid」を設定する。defaultは、「lease」。「NetworkManager(8)」「NetworkManager.conf(5)」「nm-settings(5)のipv6 setting」を参考に「ipv6.dhcp-duid」設定値を決定
/etc/NetworkManager/conf.d/clientid.conf
[connection]
ipv6.dhcp-duid=ll
設定反映
root@debian10-vaio:/root# ls -al /var/lib/NetworkManager/dhclient6*.lease
-rw-r--r-- 1 root root 617 4月 23 07:24 dhclient6-357be8af-5062-32df-8bdb-bbc419476f71-enx3476c5570b8f.lease
root@debian10-vaio:/root# rm /var/lib/NetworkManager/dhclient6-357be8af-5062-32df-8bdb-bbc419476f71-enx3476c5570b8f.lease
root@debian10-vaio:/root# systemctl restart NetworkManager.service
(3)DHCPv6のclient IDをLLに変更後
/etc/resolv.conf
---- before ----
root@debian10-vaio:/root# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.1
---- after ----
root@debian10-vaio:/root# cat /etc/resolv.conf
# Generated by NetworkManager
search flets-east.jp iptvf.jp
nameserver 192.168.1.1
nameserver 2409:10:XXXX:YY00:2ae9:8eff:fe12:3457
(4)デフォルト・ルート
PR-600MIは、「詳細設定」「LAN側静的ルーティング設定」でデフォルトルートが設定出来なくなり「IPv4 over IPv6」「DS-Lite」へのルート設定が出来ない。
IPv4アドレスをPR-600MIのDHCPで取得すると、デフォルトゲートウェイがPR-600MIとなりインターネットアクセスが出来ない(IPv4 PPPoE接続設定をしていないため)。RAとDHCPv6によるIPv6ネットワーク設定でデフォルトルートは、PR-600MI宛にリンクローカルアドレスで設定される。IPv6パケットは、transixを経由してインターネットアクセスが出来る。
Debian10のGNOME版NetworkManagerのIPv4メソッドが自動(DHCP)の時、デフォルトルートを追加設定する方法が見出せない。
「ルート」設定で「0.0.0.0/0」の経路を設定出来ない。
コマンドで「ip -4 route add 0.0.0.0/0 metric 1 via 192.168.1.51 dev enx3476c5570b8f」を投入すると良いが、ネットワーク接続が切れると経路が消失する。