Linux 通过 EUI-64 固定 IPv6 地址后缀(转载)
tags: NAS
@
Linux 通过 EUI-64 固定 IPv6 地址后缀(转载)
提示:原文以 Debian 12 为例,网络由 NetworkManager 管理,而非内核管理。作者测试,Fedora Server 43 可用,网络由 Cockpit、NetworkManager 管理。
前言
无状态的 IPv6 有 eui64 和 stable-privacy 模式
eui64 的 IPv6 地址后四段是固定的,只与 MAC 地址有关,不随前缀变化,方便设置防火墙规则。
stable-privacy 的 IPv6 地址后四段是相对固定的,与 UUID,前缀都相关。前缀变化,后四段地址也会变,不利于防火墙规则的设置。
有配置文件
在 /etc/NetworkManager/system-connections/ 目录中找到网卡配置文件,例如 ‘Wired connection 1.nmconnection’
编辑文件,将其中的 addr-gen-mode 修改为 eui64
[connection]
id=Wired connection 1
uuid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
type=ethernet
[ethernet]
[ipv4]
method=auto
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]
无配置文件
如果新安装了网卡(安装 PCIE 网卡或者虚拟网卡),默认是没有配置文件的,需要手动生成。
如果 /etc/NetworkManager/system-connections/ 为空,找不到配置文件,可以按照以下步骤修改
查看当前连接的详细信息 nmcli connection show,记录下 name,例如 "Wired connection 1"。
注意这个
name不是ip命令看到的网卡名称,必须是通过 NetworkManager 获取到的连接名称,我这里显示为"本地链接 1"。
将 IPv6 地址生成模式修改为 eui64。
nmcli connection modify "Wired connection 1" ipv6.addr-gen-mode eui64
修改完连接配置后,使用以下命令重新激活连接
nmcli connection up "Wired connection 1"
完成以上步骤后,就完成了修改成功,同时目录中也会生成网卡配置文件