Linux
使用 SLAAC 添加全域 IPv6 地址
無狀態地址自動配置允許鏈路上的節點通過將其介面標識符(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