我目前有 Draytek 2860 路由器,它以以下模式处理 IPv6
- SLAAC(无状态配置)
- SLAAC(带有其他配置标志的无状态配置)
- DHCPv6(全状态)
我想要实现的是安全的 IPv6 全局地址,即不使用 MAC 地址的地址(我知道我可以使用隐私扩展,但某些物联网设备在我的网络上不支持这一点),以及使用唯一本地地址进行本地路由的能力
如果我能从我的 ISP BT 获得静态前缀,那么这一切都会消失,但他们没有
因此,使用 SLAAC 我可以获得分配给我的 Ubuntu 服务器 16.04 LTS 和桌面 16.10 的唯一本地地址,但其中包括 MAC 地址。
使用 DHCPv6 我可以获得一个生成的 IPv6 地址,有效地隐藏我的 MAC,但没有唯一的本地地址。
那么,如何隐藏我的 MAC 地址(不包括隐私扩展),同时保持唯一的本地地址?
我已直接向 Draytek 提出此问题,并被告知这必须是机器配置,因为他们可以在 DHCPv6 模式下运行时分配唯一的本地地址
答案1
您想要的最佳解决方案可能是使用 SLAAC(可选无状态 DHCPv6/其他配置标志用于与 DNS 解析器通信)并在 Ubuntu 机器上启用隐私地址。默认情况下,它使用基于 MAC 地址的 EUI-64 算法,但这很容易更改/etc/sysctl.d/10-ipv6-privacy.conf
:
# IPv6 Privacy Extensions (RFC 4941)
# ---
# IPv6 typically uses a device's MAC address when choosing an IPv6 address
# to use in autoconfiguration. Privacy extensions allow using a randomly
# generated IPv6 address, which increases privacy.
#
# Acceptable values:
# 0 - don’t use privacy extensions.
# 1 - generate privacy addresses
# 2 - prefer privacy addresses and use them over the normal addresses.
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0
就您而言,您可能希望将这两个选项都设置为2
。