应使用nmcli命令配置静态IPv6地址:先运行nmcli connection show确认连接名,再用nmcli con mod修改ipv6.addresses、ipv6.gateway、ipv6.method manual和ipv6.dns参数,最后nmcli con up激活连接并用ip -6 addr和ping6验证。

在现代数据中心双栈网络中,IPv6已不是可选项,而是基础设施必需能力。nmcli 是 NetworkManager 提供的标准化命令行接口,配置静态 IPv6 地址既可靠又持久,适用于 RHEL 8/9、CentOS Stream、Fedora 及多数基于 NetworkManager 的发行版。
确认网卡与连接名
先查清目标网卡及其当前连接名称,避免误操作:
- 运行 nmcli connection show 列出所有连接(注意 TYPE 为 ethernet、DEVICE 是否在线)
- 典型输出中,NAME 列即为连接名(如 eth0 或 enp0s3),它可能与物理接口名一致,但不总是——必须以 NAME 字段为准
- 若需区分,可用 nmcli device status 查看设备状态,再比对 DEVICE 列
配置静态 IPv6 参数
一条命令设地址,一条设网关(如有),全部使用 modify 操作,确保参数写入连接配置:
- 分配 IPv6 地址和前缀:
nmcli con mod eth0 ipv6.addresses "2001:db8:1::100/64"
(注意引号包裹,支持多个地址,用空格分隔,如
"2001:db8:1::100/64 2001:db8:1::101/64") - 设置默认 IPv6 网关(可选但推荐): nmcli con mod eth0 ipv6.gateway "2001:db8:1::1"
- 强制启用手动模式(关键步骤): nmcli con mod eth0 ipv6.method manual (否则仍走 DHCPv6 或 SLAAC,静态配置不生效)
- 指定 DNS 服务器(IPv6-only 或双栈): nmcli con mod eth0 ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"
激活并验证双栈连通性
修改后必须重新加载连接,且建议验证 IPv4 和 IPv6 同时可用:
- 启用连接:nmcli con up eth0(输出含
Connection successfully activated即成功) - 检查 IPv6 地址是否就位:ip -6 addr show dev eth0,确认出现
inet6 2001:db8:1::100/64且状态为scope global - 测试基础连通:ping6 -c 3 2001:db8:1::1(本地网关)或公网地址如 ping6 -c 3 2001:4860:4860::8888
- 验证 DNS 解析:host -t AAAA google.com 或 dig AAAA cloudflare.com +short
补充说明:双栈环境下的注意事项
IPv4 和 IPv6 配置可共存于同一连接,无需拆分;NetworkManager 默认同时管理两者:
- 若已有 IPv4 静态配置,IPv6 设置不会覆盖它;反之亦然
- 如需禁用 IPv4(纯 IPv6 场景),加一句:nmcli con mod eth0 ipv4.method disabled
- 所有配置自动持久化,重启 NetworkManager 或系统后依然有效
- 不建议直接编辑
/etc/sysconfig/network-scripts/ifcfg-*文件,易与 NetworkManager 冲突


















