Ubuntu 24.04 IPv6 没有 Temporary Address(mngtmpaddr)问题排查记录
原创2026年6月1日大约 2 分钟
Ubuntu 24.04 IPv6 没有 Temporary Address(mngtmpaddr)问题排查记录
在 Ubuntu 24.04 网络环境中,经常会遇到一个现象:系统只有一个 IPv6 global address,但没有生成 temporary(隐私地址)。
例如:
inet6 240x:xxxx:xxxx::1/64 scope global dynamic mngtmpaddr noprefixroute但缺少:
scope global temporary dynamic这意味着 IPv6 Privacy Extensions 没有完全生效。
一、问题现象
执行:
ip -6 addr只有:
global dynamic mngtmpaddr没有:
temporary dynamic二、问题本质
Linux IPv6 临时地址(Temporary Address)生成依赖三个条件:
1. 内核开启 privacy extensions
net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.default.use_tempaddr = 22. 接口级别允许
net.ipv6.conf.ens18.use_tempaddr = 23. 网络必须支持 SLAAC(RA)
必须有:
- Router Advertisement(RA)
- Autonomous Address Configuration(A flag)
三、Ubuntu 24.04 + Netplan 关键点
在 Netplan 中,如果没有正确启用 IPv6 privacy,会导致:
- 系统只生成稳定地址
- 不生成 temporary address
四、错误配置示例(踩坑点)
很多人会误写:
ipv6-privacy: prefer-temporary ❌这个值在 Netplan 中是非法的,会导致配置直接报错:
invalid boolean value 'prefer-temporary'五、正确配置方式(核心解决方案)
最终有效配置如下:
network:
version: 2
ethernets:
ens18:
dhcp4: true
dhcp6: false
accept-ra: true
ipv6-privacy: true六、应用配置
sudo netplan generate
sudo netplan apply七、验证结果
执行:
ip -6 addr show dev ens18可以看到:
inet6 xxxx::1/64 scope global dynamic
inet6 xxxx::abcd/64 scope global temporary dynamic说明临时 IPv6 已成功生成。
八、关键机制解释
1. accept-ra 的作用
accept-ra: true允许系统接收 Router Advertisement:
- 获取 IPv6 前缀
- 触发 SLAAC 地址生成
- 触发 temporary address 生成条件
2. ipv6-privacy 的作用
ipv6-privacy: true等价于:
- 启用 IPv6 Privacy Extensions
- 内核允许生成 RFC 4941 temporary address
- 启用地址轮换机制
3. mngtmpaddr 的含义
mngtmpaddr表示:
内核已经允许管理临时地址,但不代表已经生成成功
九、常见误区
❌ 误区1:只配置 sysctl 就够
只设置:
use_tempaddr=2但如果 netplan 没开启 privacy,仍然不会生成 temporary address。
❌ 误区2:必须手动生成 temporary IP
Linux 不允许手动生成 IPv6 temporary address,它完全依赖:
- RA
- 内核 privacy flag
❌ 误区3:所有 IPv6 都支持 temporary
如果是以下环境:
- 云服务器 DHCPv6
- PVE NAT IPv6
- 静态 IPv6 分配
通常不会生成 temporary address。
十、总结
本次问题的核心原因是:
Netplan 未启用 IPv6 privacy extensions
最终解决方案只需要两行配置:
accept-ra: true
ipv6-privacy: true即可恢复 IPv6 temporary address 生成能力。
附:一句话结论
Ubuntu 24 的 IPv6 临时地址不是 sysctl 决定的,而是 Netplan + RA + 内核三者共同决定的。