linux中通过nmcli配置ipv6隐私扩展需执行:1、检查sysctl net.ipv6.conf.eth0.use_tempaddr值为2;2、运行nmcli connection modify "eth0" ipv6.ip6-privacy 2和ipv6.method auto;3、重启连接并用ip -6 addr show验证temporary地址生成。

Linux 中通过 nmcli 配置 IPv6 隐私扩展(Privacy Extensions),核心是启用临时地址(temporary addresses)并禁用稳定化接口标识符(stable privacy ID),从而让系统定期生成随机的、短期有效的 IPv6 地址,避免长期暴露设备指纹。
确认系统支持 IPv6 隐私扩展
Linux 内核默认启用 IPv6 隐私扩展,但需检查当前设置:
- 运行
sysctl net.ipv6.conf.all.use_tempaddr,返回值为 2 表示启用(推荐:生成并优先使用临时地址);值为 1 表示仅在有 RA 通告时启用;0 表示禁用 - 检查对应网卡(如 eth0):
sysctl net.ipv6.conf.eth0.use_tempaddr - 同时确认
net.ipv6.conf.all.temp_prefered_lft(默认 86400 秒)和temp_valid_lft(默认 604800 秒)是否符合预期
用 nmcli 启用 IPv6 隐私扩展
NetworkManager 默认不主动管理 use_tempaddr 参数,需显式配置。方法如下:
- 修改连接,启用临时地址并设为首选:
nmcli connection modify "eth0" ipv6.ip6-privacy 2 - 该参数含义:
• 0:禁用隐私扩展
• 1:启用但不优先使用临时地址
• 2:启用且优先使用临时地址(推荐) - 确保 IPv6 方法为
manual或auto(DHCPv6/SLAAC),否则隐私扩展可能不生效:nmcli connection modify "eth0" ipv6.method auto
应用配置并验证
重启连接使设置生效:
nmcli connection down "eth0" && nmcli connection up "eth0"- 查看接口地址:
ip -6 addr show dev eth0,应看到形如fdxx::xxxx:xxxx:xxxx:xxxx/64 scope global temporary dynamic的条目 - 确认内核参数已同步:
sysctl net.ipv6.conf.eth0.use_tempaddr应返回 2 - 临时地址会随时间自动轮换,无需手动刷新
补充说明
若使用唯一本地地址(ULA,fd00::/8)或全局单播地址,隐私扩展同样适用;但链路本地地址(fe80::/10)不受影响——它本身不参与隐私扩展机制。注意:某些云平台或企业网络可能过滤临时地址的路由,部署前建议在目标环境中实测连通性。











