Linux

使用 SLAAC 添加全域 IPv6 地址

  • July 31, 2016

無狀態地址自動配置允許鏈路上的節點通過將其介面標識符(64 位)附加到路由器通告的前綴(64 位)來自動配置全域 IPv6 地址。

假設我有一個具有全球 IPv6 地址的伺服器

2001:0db8:85a3:08d3:1319:8a2e:0370:7347

現在我想通過僅更改介面標識符並保留前綴來將另一個全域 IPv6 地址添加到同一介面。例如

2001:0db8:85a3:08d3:3315:2b5e:a320:3254
-------same--------|-----different-----                                

我如何使用 SLAAC 來做到這一點,其中介面標識符自動附加到網路前綴?我目前正在使用 Ubuntu。

(這類似於 IPv6 隱私擴展所做的,但我想自己控制添加和刪除臨時 IPv6 地址。)

目前,我不知道有任何方法可以手動使系統切換到新的臨時地址。

但是,您可以調整使用臨時地址的時間段,並使系統更頻繁地創建它們。

從核心文件

temp_valid_lft - INTEGER
   valid lifetime (in seconds) for temporary addresses.
   Default: 604800 (7 days)

temp_prefered_lft - INTEGER
   Preferred lifetime (in seconds) for temporary addresses.
   Default: 86400 (1 day)

(是的,拼寫錯誤是故意的……)

因此,假設您希望系統每 10 分鐘開始使用一個新的臨時地址。然後您將設置:

sysctl net.ipv6.conf.all.temp_prefered_lft=600
sysctl net.ipv6.conf.default.temp_prefered_lft=600

另一個sysctl允許使用臨時地址完成現有連接的temp_valid_lft一些額外時間。您也可以減少這種情況,尤其是在您預計不會長時間執行連接的情況下。在這裡,我將其減少到 1 小時:

sysctl net.ipv6.conf.all.temp_valid_lft=3600
sysctl net.ipv6.conf.default.temp_valid_lft=3600

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