systemd-networkdを使用してipv6の信頼できる個人情報アドレスを取得します。

systemd-networkdを使用してipv6の信頼できる個人情報アドレスを取得します。

私のボックスにルーター広告プレフィックスで生成された信頼できるプライバシーアドレスを取得しようとしています。

以下のようにカーネルパラメータを設定すると、優れた信頼性の高いプライバシーアドレスを取得できます。

sysctl net.ipv6.conf.eth0.stable_secret="aaaa:bbbb:cccc:dddd:eeee:ffff:0000:1111"
sysctl net.ipv6.conf.eth0.use_tempaddr=0
sysctl net.ipv6.conf.eth0.addr_gen_mode=2 

17: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 10:82:86:05:dc:36 brd ff:ff:ff:ff:ff:ff
    inet6 fd01:abcd:efab:cdef:170e:bc6c:b50b:383f/64 scope global dynamic mngtmpaddr stable-privacy
       valid_lft 86397sec preferred_lft 14397sec
    inet6 fe80::11f:e820:cf87:4238/64 scope link stable-privacy
       valid_lft forever preferred_lft forever

しかし、RAを介してDNSを取得できるようにsystemd-networkdを使用する予定です。

systemd-networkdを使用すると、何を試してもカーネルで生成されたグローバルで信頼性の高いプライバシーアドレスを取得できないようです。以下に設定したアドレスはeui64ではありませんが、カーネルによってstable privateとしてマークされず、私が指定したstable secretにはまったく影響を受けません。

[Match]
Name=eth0
                                                                                                                                                                                                                                                                                                            
[Network]
IPv6AcceptRA=true
IPv6LinkLocalAddressGenerationMode=stable-privacy
IPv6StableSecretAddress=aaaa:bbbb:cccc:dddd:eeee:ffff:0000:1111
IPv6PrivacyExtensions=kernel
IPv6Token=prefixstable

[IPv6AcceptRA]
UseDNS=true

systemd-networkdで生成された信頼できるプライバシーアドレスを生成して制御する方法はありますか?

それともカーネルから信頼できる個人アドレスを取得できますが、RAを介してDNS操作を実行できるサービスはありますか?

ディープありがとうございます

答え1

このIPv6PrivacyExtensions=設定には、RFC 7217 の信頼性のあるプライバシー アドレスではなく、RFC 4941 状態の非保存一時アドレスが含まれます。

を指定すると、IPv6PrivacyExtensions=kernelRFC 4941スタイルのアドレスを取得できます。時間が経つにつれて変わりますが、欲しいものではないようです。

ドキュメントは、IPv6AcceptRA=systemdがRAのDNS情報にアクセスするためにカーネルのプロトコルではなく、IPv6 RAプロトコルの独自の実装を使用する必要があることを示しています。たぶん設定IPv6PrivacyExtensions=kernelもこれと衝突しますか?

関連情報