IPv6 隐私扩展 use_tempaddr=1 与 use_tempaddr=2

wed*_*edi 9 ipv6 privacy linux-networking

我了解隐私扩展,并且您可以通过设置 use_tempaddr 来启用它们。不幸的是我没有找到不同设置的任何解释。我阅读的每篇文章都使用了 1 或 2 或引用了 kernel.org,而没有进一步解释。

Kernel.org 文档*:

use_tempaddr - INTEGER
  Preference for Privacy Extensions (RFC3041).
    <= 0 : disable Privacy Extensions
    == 1 : enable Privacy Extensions, but prefer public
           addresses over temporary addresses.
    >  1 : enable Privacy Extensions and prefer temporary
     addresses over public addresses.
  Default:  0 (for most devices)
           -1 (for point-to-point devices and loopback devices)
Run Code Online (Sandbox Code Playgroud)

1但我还是不明白和之间的区别>1。公共 IP 与临时 IP 相比是什么?是用 DHCP 分配/静态设置的吗?或者是其他东西?

感谢您的帮助!

Qua*_*tim 9

隐私扩展可与无状态地址自动配置 (SLAAC) 一起使用。此选项对 DHCPv6 或静态配置无效。通过隐私扩展,您至少拥有两个公共 IPv6 地址(和本地链路FE80::),其中一个具有 EUI-64 标识符,另一个具有根据 RFC-3041 生成的标识符。你可以用命令看到它ip a。站侦听这两个地址,但侦听use_tempaddr1 或 2 来定义哪个地址用于传出流量。

当 时use_tempaddr=2,隐私地址用作所有传出流量的来源。对于use_tempaddr=1,使用系统生成的隐私地址,但由于更“可预测”的地址用于传出流量,因此其目的看起来是多余的。

  • 即使默认情况下不使用隐私地址,应用程序仍然可以显式绑定到它。但我同意设置隐私地址并且默认不使用它的价值非常有限。 (3认同)