IPv6 定址,動態前綴靜態本地部分
我網路上的路由器分發一個由我的 ISP 分配的 IPv6 前綴。這個前綴是動態的,但“相當粘”。
我希望我的機器自動獲取 RA 中公佈的前綴,但將其與使用者指定的本地部分結合起來,而不是隨機生成或基於 MAC 地址生成。有什麼簡單的方法可以做到這一點嗎?
有兩種方法可以做到這一點。一種是簡單的方法,一種是困難的方法。
簡單的方法是在您的網路上執行 DHCPv6 伺服器並自己為每台設備分配主機地址。或者讓伺服器選擇主機部分;即使前綴發生變化,我看到的 DHCPv6 伺服器也會保留相同的主機部分。
困難的方法是用來
ip token
設置標記化的介面標識符。這被描述為:IPv6 標記化介面標識符支持用於將眾所周知的主機部分地址分配給節點,同時仍從路由器通告中獲取全域網路前綴。標記化標識符的主要目標是通常手動配置地址的伺服器平台,而不是使用 DHCPv6 或 SLAAC。通過使用標記化標識符,主機仍然可以使用 SLAAC 確定其網路前綴,但如果其網路前綴發生變化,則更容易自動重新編號。草案中描述了標記化的 IPv6 標識符:<draft-chown-6man-tokenised-ipv6-identifiers-02>。
~~這是困難的原因是,雖然 Linux 包含此功能,但我所知道的任何 Linux 發行版都沒有支持使這種配置持久化並在啟動時應用它,就像它們對手動或 DHCP 配置的地址所做的那樣。因此,在某些發行版這樣做之前,它可能不會對您很好地工作。~~請注意,現在可以在 NetworkManager 和 systemd-networkd 中配置 IPv6 令牌;最近的答案有特定的配置說明。
最後,如果您的 ISP 偶爾更改您的前綴,請考慮在您的網路中使用唯一本地地址。這樣,您的所有設備將始終擁有一個永遠不會改變的地址,它們可以通過該地址相互交談。一些支持 IPv6 的家庭/SOHO 路由器(例如 OpenWrt)可以選擇在整個家庭網路中啟用 ULA;如果家中有多個路由器,則應在連接到 ISP 的路由器上啟用此功能。