rabbit51

it's since Nov.30 2005
May.29 2014, transferred from broach

ひかり電話HGW PR-600MI LANに接続したDebian10のDHCPv6 Informationに応答しない

2022-04-25 11:00:00 | ひかり電話

ひかり電話 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
この設定では、DUIDに変化が無かった。「ps ax | grep dhclient」は、実行中のDHCPv4プロセスしか表示しない。DHCPv6のInformationプロセスは、取得またはタイムアウトするまでしか実行されない。タイミングを計り記録して観ると
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
が記録される。また、プロセスが終了すると「/var/lib/NetworkManager/dhclient6-<device>.conf」の設定ファイルは削除される。NetworkManagerで設定するしか無い。

(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
設定後、NetworkManagerに反映させるための作業を行う
設定反映
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
dhclient6-*-enx3476c5570b8f.leaseにDUIDが記録されているためファイルを削除してからNetworkManagerに反映させる。

(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」を投入すると良いが、ネットワーク接続が切れると経路が消失する。

 


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ヤマハ NVR510/500 Transix D... | トップ | 東芝TV REGZA 42Z8000の録画... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

ひかり電話」カテゴリの最新記事