禁用 IPv6 自动配置(基于 MAC 的)IPv6 地址而不禁用隐私地址?

Ric*_*sen 5 networking linux ipv6

是否可以将 Linux 内核配置为自动获取RFC4941临时(隐私)IPv6 地址,而无需获取RFC4862公共(基于 MAC)的 IPv6 地址?

在我的 Ubuntu 13.04 Linux 系统上使用以下 sysctl 设置,我获得了临时 IPv6 地址,但我也获得了基于 MAC 的公共 IPv6 地址:

net.ipv6.conf.eth0.autoconf=1
net.ipv6.conf.eth0.use_tempaddr=2
Run Code Online (Sandbox Code Playgroud)

我不想要基于 MAC 的 IPv6 地址。我只想要临时隐私地址。我意识到use_tempaddr=2更喜欢临时地址,但应用程序仍然bind()可以使用基于 MAC 的地址或使用IPV6_PREFER_SRC_PUBLICsockopt(请参阅RFC5014)来覆盖此首选项。我预测像 Adob​​e Flash 这样的应用程序将允许网站让他们的 Flash 应用程序使用基于 MAC 的 IP 打电话回家,这使得人们无论走到哪里都更难避免被营销人员(或政府)跟踪。

使用以下 sysctl 设置:

net.ipv6.conf.eth0.autoconf=0
net.ipv6.conf.eth0.use_tempaddr=2
Run Code Online (Sandbox Code Playgroud)

我没有自动配置的 IPv6 地址。没有任何。

如何在不获取基于 MAC 的 IPv6 地址的情况下获取临时 IPv6 地址?

Mic*_*ton 1

抱歉,没有。如果您需要临时地址,则必须使用无状态地址自动配置(如您所知)或 DHCPv6,可以将其配置为从 DHCPv6 服务器请求临时地址。就您的情况而言,DHCPv6 可能是您想要的方式,也是大多数主要 ISP 正在部署的方式。