Fedora

Fedora 上的穩定 IPv6 地址

  • February 20, 2022

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

例如,使用 CentOS 7 或 Fedora 23,會自動配置穩定的 IPv6(在存在 IPv6 路由器的啟用 IPv6 的網路中) - 即從 MAC 地址派生的。

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

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

如何在 Fedora 25 上配置確定性和穩定的 IPv6 地址?

在 Fedora 25 Workstation 上,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

引用自:https://unix.stackexchange.com/questions/331129