Fedora 上的穩定 IPv6 位址

Fedora 上的穩定 IPv6 位址

與其他系統不同,Fedora 25 工作站預設不使用穩定的 IPv6 位址。

例如,在 CentOS 7 或 Fedora 23 中,會自動設定穩定的 IPv6(在存在 IPv6 路由器的支援 IPv6 的網路中),也就是從 MAC 位址衍生的設定。

然後可以在 DNS AAAA 記錄中使用該 IPv6 位址。

與此相反,Fedora 25 工作站系統的 IPv6 位址與其 MAC 位址沒有任何關係,似乎不穩定。

如何在 Fedora 25 上設定確定性且穩定的 IPv6 位址?

答案1

在 Fedora 25 工作站上,NetworkManager (NM) 預設配置所有網路介面。這也意味著有線的。並且 NetworkManager 不會建立EUI-64派生的 IPv6 位址。相反,它會產生所謂的「穩定隱私」。顯然不會向每個 IPv6 目的地透露 MAC 位址。

對於給定的接口,可以$i透過更改IPV6_ADDR_GEN_MODE鑰匙/etc/sysconfig/network-scripts/ifcfg-$i設定檔中。例如透過:

sed -i 's/^IPV6_ADDR_GEN_MODE=stable-privacy/IPV6_ADDR_GEN_MODE=eui64/' \
  /etc/sysconfig/network-scripts/ifcfg-$i

此變更在 NetworkManager 重新讀取其配置並重新連線後生效:

nmcli con reload
nmcli con down $i
nmcli con up $i

筆記

  • 此選項不會透過 NM 設定 GUI 公開
  • NM 讀取的介面設定檔/etc/sysconfig/network-scripts是 Fedora/Redhat 特定的,但設定金鑰不是 - 即在其他發行版上,NM 僅從不同位置/設定檔讀取介面配置

Fedora 還附帶了 systemd-networkd不禁用 EUI64 生成, 預設情況下。因此,在 Fedora 下取得穩定 IPv6 位址的更簡單方法是刪除 NetworkManager 並設定/啟用 systemd-networkd。

或者可以在 NetworkManager 中將相關介面設定為非託管,然後在 systemd-networkd 中設定它。

無論如何,網路配置非常小,例如:

cat /etc/systemd/network/20-wired.network
[Match]
# manage all matching interfaces
#Name=en*
# just manage one:
Name=eno1
    
[Network]
DHCP=ipv4

答案2

您認為不穩定的地址實際上是不穩定的。

這些都是RFC 7217穩定的隱私地址,旨在使設備在網路漫遊時不易被跟踪,同時在任何給定網路上保持相同的地址。

當在連結上使用 SLAAC 時,會指派穩定的隱私位址,而不是 EUI-64 派生位址。他們不取代RFC 4941隱私地址。

這一切都意味著為了擁有穩定的地址,你什麼都不用做。您還可以使用有狀態 DHCPv6 並完全擺脫 SLAAC,這樣您就可以集中控制位址分配。但這樣你就失去了穩定隱私地址的好處。

答案3

您可以針對每個連線進行配置。在 Fedora 35 上測試。

nm-設定手冊:nm-settings-nmcli - ipv6 設定

  1. 編輯/etc/NetworkManager/system-connections/<connection_name>.nmconnection並設定addr-gen-modeeui64.預設為stable-privacy.

    [ipv6]
    addr-gen-mode=eui64
    
  2. 重啟。

相關內容