Jim*_*zie 3 debian ipv6 linux-mint ubuntu raspbian
我有一个静态 IPv6 /62 前缀,我在我的路由器(运行 Debian)上使用 radvd 将 /64 从它内部广告到我的整个网络。除了我的路由器(::1),我让 EUI64 根据 MAC 地址设置后缀(即匹配自动 fe80:: 地址的后缀)。
出于隐私原因,大多数 Linux 正在迁移到掩盖这一点。我真的不关心隐私问题,此外,我希望为 sshd 等服务提供一个完全可预测的 IPv6 地址。
理论上,这应该很容易配置。例如,在运行 Raspbian 的 Raspberry Pi 上,我已添加到 /etc/sysctl.conf 文件中:
############################################### #################
# 启用 IPv6 EUI64
#
net.ipv6.conf.all.use_tempaddr=0
net.ipv6.conf.default.use_tempaddr=0
net.ipv6.conf.eth0.use_tempaddr=0
唉,什么都没有改变。(最后一行是最后的尝试;前两行确实应该单独工作。)
这些操作系统中的某些东西阻止了 EUI64 的工作。它是什么,我如何启用它?
这台特定的机器没有运行 NetworkManager,但其中一些是。
您混淆了两种不同的地址类型:
前者总是在默认地址之外生成并且不会替换它,所以肯定不是你所想的。
后者确实替换了默认的基于 EUI64 的地址,但它们不是临时的,与use_tempaddr
旋钮无关。相反,您需要更改主地址生成模式:
如果 SLAAC 由内核执行,请更改此 sysctl:
net.ipv6.conf.default.addr_gen_mode = 0
net.ipv6.conf.eth0.addr_gen_mode = 0
Run Code Online (Sandbox Code Playgroud)
(查看源代码,似乎没有all.addr_gen_mode
实现。)
如果 SLAAC 由dhcpcd执行,请使用此dhcpcd.conf
选项:
slaac hwaddr
Run Code Online (Sandbox Code Playgroud)如果 SLAAC 由 NetworkManager 执行:
nmcli con modify "Connection name" ipv6.addr-gen-mode eui64
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
5040 次 |
最近记录: |