Linux-Networking

IPv6 隱私擴展 use_tempaddr=1 與 use_tempaddr=2

  • August 15, 2018

我了解隱私擴展,您可以通過設置 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)

但我仍然不明白 和 之間的1區別>1。與臨時 IP 相比,公共 IP 是什麼?用DHCP分配/靜態設置的那個?或者是其他東西?

謝謝你的幫助!

隱私擴展可用於無狀態地址自動配置 (SLAAC)。此選項對 DHCPv6 或靜態配置無效。使用隱私擴展,您至少有兩個公共 IPv6 地址(和本地連結FE80::),例如,一個具有 EUI-64 標識符,另一個具有根據 RFC-3041 生成的標識符。你可以用 command 看到它ip a。Station 監聽它們,但use_tempaddr1 或 2 用於定義用於傳出流量的地址。

當 時use_tempaddr=2,隱私地址被用作所有傳出流量的來源。使用use_tempaddr=1,系統生成隱私地址,但由於更“可預測”的地址用於傳出流量,其目的看起來是多餘的。

引用自:https://serverfault.com/questions/926440