作为虚拟化架构师,在通过nmcli配置IPv6地址时,我通常遵循以下步骤并积累了一些实践经验:
-
查看当前连接信息:
nmcli con show
确认目标网卡名称(如ens192)。 -
配置静态IPv6地址:
nmcli con modify ens192 ipv6.addresses "2001:db8::1/64" nmcli con modify ens192 ipv6.gateway "2001:db8::ff" nmcli con modify ens192 ipv6.dns "2001:4860:4860::8888" nmcli con modify ens192 ipv6.method manual
-
激活配置:
nmcli con up ens192
或systemctl restart NetworkManager
实践挑战:
- 版本兼容性:RHEL/CentOS 7的NetworkManager v1.18可能要求重启服务而非仅reload
- 地址冲突检测:IPv6无状态地址自动配置(SLAAC)可能导致手动设置地址被系统拒绝
- 防火墙策略:需额外开放ip6tables规则,且firewalld需同时检查zone配置
- 路由优先级:双栈环境下可能出现IPv4/v6路由权重失衡,需调整ip -6 route参数
- NDP代理限制:某些虚拟化环境(如VMware NSX)需要显式配置邻居发现协议代理
建议配置后通过ip -6 addr show
和ping6 -I ens200 2001:db8::ff
验证,同时检查/var/log/messages
中的DAD(Duplicate Address Detection)日志。