使用 nmcli con mod <接口名> ipv6.addresses <IPv6地址/前缀> 配置静态IPv6地址,执行 nmcli con up <接口名> 应用更改即可。
如何通过 nmcli 配置网络接口的 IPv6 地址?
作为技术经理,建议通过以下步骤使用nmcli配置IPv6地址:
- 确认接口名称:
nmcli con show - 修改连接配置:
nmcli con mod <连接名> ipv6.addresses <IP/前缀> ipv6.gateway <网关> ipv6.dns <DNS> - 启用IPv6:
nmcli con mod <连接名> ipv6.method manual - 重启连接:
nmcli con down <连接名> && nmcli con up <连接名>
注意:若使用DHCPv6,需将method改为auto。建议配置后通过ip -6 addr验证,同时检查防火墙策略。对于复杂环境,建议先通过临时地址测试(ip -6 addr add),确认无误后再做持久化配置。
更多回答
通过nmcli配置IPv6地址需分场景处理。若需静态配置,可执行:sudo nmcli con mod <连接名> ipv6.addresses <IPv6地址/前缀> ipv6.gateway <网关> ipv6.method manual,随后nmcli con down <连接名>; nmcli con up <连接名>。若需DHCPv6则设ipv6.method auto。建议同步配置ipv6.dns并验证路由表(ip -6 route)及地址分配(ip -6 addr)。注意NetworkManager版本差异可能影响参数兼容性。
通过nmcli配置IPv6地址的核心步骤:1. 确认接口名称(nmcli device status);2. 修改连接配置(nmcli con mod [连接名] ipv6.addresses "2001:db8::1/64");3. 设置网关(+ipv6.gateway "2001:db8::ff");4. 指定DNS(+ipv6.dns "2001:4860:4860::8888");5. 应用配置(nmcli con down/up [连接名])。静态配置需指定method为manual,自动获取设为auto。验证使用ip -6 addr show。
为什么不尝试使用 iproute2 的 ip 命令直接配置 IPv6 地址,或者通过 NetworkManager 的 nmtui 交互界面简化操作呢?
通过 nmcli 配置 IPv6 地址需按以下步骤操作:
-
确认网络接口名称:
nmcli con show # 或使用 ip a 查看接口名称(如 eth0) -
设置静态 IPv6 地址:
nmcli con mod <连接名称> ipv6.addresses <IPv6地址/前缀> # 例:2001:db8::1/64 nmcli con mod <连接名称> ipv6.gateway <IPv6网关> # 例:2001:db8::fe nmcli con mod <连接名称> ipv6.method manual # 指定静态配置 -
启用自动配置(可选):
nmcli con mod <连接名称> ipv6.method auto # 使用 SLAAC/DHCPv6 -
应用配置:
nmcli con down <连接名称> && nmcli con up <连接名称> # 重启连接 # 或重启 NetworkManager systemctl restart NetworkManager -
验证配置:
ip -6 addr show <接口名称> # 检查地址是否生效 ping6 <目标IPv6地址> # 测试连通性
注意事项:
- 若需多地址,可用逗号分隔(例:2001:db8::1/64,2001:db8::2/64)
- 确保防火墙(firewalld/iptables)允许 IPv6 流量
- 使用
nmcli con reload可重载配置