我正在尝试设置一个IPv6稳定隐私地址在一个盒子上systemd-networkd。
盒子是一个转速跑步archlinux-arm但这与架构Linux
所以遵循维基@archlinux.org,我已经设置了一个稳定的秘密并用于addr_gen_mode=2
内核配置,然后告诉systemd-networkd使用内核配置(还有其他方法吗?)
# cat /etc/sysctl.d/40-ipv6.conf
net.ipv6.conf.eth0.use_tempaddr=2
net.ipv6.conf.eth0.stable_secret=dead:beaf:dead:beaf:dead:beaf:dead:beaf
net.ipv6.conf.eth0.addr_gen_mode=2
# cat /etc/systemd/network/eth0.network
[Match]
Name=eth0
[Network]
DHCP=ipv4
IPv6PrivacyExtensions=kernel
但这是行不通的。 stable-privacy甚至没有启用。
所以我添加了一个[Address]
部分eth0.network
[Address]
ManageTemporaryAddress=false
最后,由于本地链接(“范围链接”)被标记,因此启用了稳定隐私稳定的隐私 为了以太网0
$ ip addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether b8:27:eb:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.44.106/24 brd 192.168.44.255 scope global dynamic eth0
valid_lft 42796sec preferred_lft 42796sec
inet6 xxxx:xxx:xxx:xxxx:80c1:77d4:f72b:b132/64 scope global temporary dynamic
valid_lft 85998sec preferred_lft 85829sec
inet6 xxxx:xxx:xxx:xxxx:baxx:xxff:fxxx:xxxx/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 85998sec preferred_lft 85998sec
inet6 fe80::24e2:14e:ad9e:df8/64 scope link stable-privacy
valid_lft forever preferred_lft forever
然而,我期望临时动态地址我有不是改变在每个重启。不是这种情况。
是我错了,还是有什么配置错误?
答案1
我只是想使用 systemd-networkd,你的帖子非常有帮助,谢谢。使用 arch linux x64 需要输入默认设备内核名称,例如:
# cat /etc/systemd/network/25-wireless.network
[Match]
Name=wlp3s0u1
[Network]
DHCP=yes
IPv6PrivacyExtensions=kernel
因为我设置的 udev 名称(eth0、wlan0)不适用于 wpa_supplicant。也许是稳定的隐私依赖于本地链接和私人分机在临时动态链接?这里我选择使用临时动态地址运行 ipv6,并且还需要更改 40-ipv6.conf(现在具有稳定的隐私):
# cat /etc/sysctl.d/40-ipv6.conf
# Enable IPv6 Privacy Extensions
net.ipv6.conf.all.use_tempaddr=2
net.ipv6.conf.default.use_tempaddr=2
net.ipv6.conf.wlp3s0u1.use_tempaddr=2
net.ipv6.conf.enp5s0.use_tempaddr=2
# Enable IPv6 stable privacy mode
net.ipv6.conf.wlp3s0u1.stable_secret=66e5:0a06:9d23:15f7:xxxx:xxxx:xxxx:xxxx
net.ipv6.conf.wlp3s0u1.addr_gen_mode=2
好吧,重新启动了一些,现在我得到了隐私扩展。和稳定的隐私具有相同的本地地址,但不在临时动态。也许这就是它的运作方式。再次感谢你。
# ip addr show dev wlp3s0u1
3: wlp3s0u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 90:f6:52:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.0.3/24 brd 192.168.0.255 scope global dynamic wlp3s0u1
valid_lft 15550560sec preferred_lft 15550560sec
inet6 2804:d51:ef9:5d00:xxxx:xxxx:xxxx:xxxx/64 scope global temporary dynamic
valid_lft 86381sec preferred_lft 84583sec
inet6 2804:d51:ef9:5d00:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 86381sec preferred_lft 86381sec
inet6 fe80::7902:xxxx:xxxx:xxxx/64 scope link stable-privacy
valid_lft forever preferred_lft forever
答案2
由于systemd-networkd
能够配置为使用隐私扩展来生成临时全局地址(实际上是通过告诉它使用内核配置),我认为 SOII 又名 RFC 7217 也是如此。
但不是。systemd-networkd做不到:https://github.com/systemd/systemd/issues/4625