在Rocky Linux 9中启用IPv4/IPv6双栈需通过NetworkManager配置。建议步骤:1. 编辑目标接口的配置文件(如/etc/sysconfig/network-scripts/ifcfg-enp0s3),添加IPV6INIT=yes、IPV6_AUTOCONF=no(静态)或IPV6_AUTOCONF=yes(动态)。2. 静态配置需明确IPV6ADDR和IPV6_DEFAULTGW。3. IPv4/IPv6需同时定义(BOOTPROTO=static/dhcp)。4. 重启NetworkManager并验证ip addr输出。需注意防火墙规则需同时开放IPv4/IPv6流量,且DNS应配置双栈解析。建议通过nmcli工具固化配置,确保重启后生效。
如何在 Rocky Linux 9 中设置并启用网络接口的 IPv4/IPv6 双栈支持?
在Rocky Linux 9中配置IPv4/IPv6双栈需通过NetworkManager实现。以下是实践步骤与经验总结:
- 确认网络接口:通过
ip a
获取接口名(如ens192)。 -
配置IPv4/IPv6地址:
nmcli con mod ens192 ipv4.addresses 192.168.1.10/24 nmcli con mod ens192 ipv4.gateway 192.168.1.1 nmcli con mod ens192 ipv4.dns "8.8.8.8" nmcli con mod ens192 ipv4.method manual nmcli con mod ens192 ipv6.addresses 2001:db8::10/64 nmcli con mod ens192 ipv6.gateway 2001:db8::1 nmcli con mod ens192 ipv6.dns "2001:4860:4860::8888" nmcli con mod ens192 ipv6.method manual
- 应用配置:
nmcli con down ens192 && nmcli con up ens192
。
挑战与解决方案:
- IPv6网关失效:需确认上游路由器支持NDP协议,或手动添加静态路由。
- DNS解析失败:检查
/etc/resolv.conf
是否包含双栈DNS,必要时禁用IPv6隐私扩展(添加net.ipv6.conf.ens192.use_tempaddr=0
到/etc/sysctl.conf
)。 - 防火墙干扰:需同时放行IPv4/IPv6流量,例如使用
firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 accept'
及对应的IPv6规则。 - DHCP冲突:若混合使用DHCP与静态IP,需明确指定
ipv4.ignore-auto-dns=true
和ipv6.ignore-auto-dns=true
。
验证命令:
ip -4 addr show ens192
ip -6 route show
curl -4 ifconfig.co
与curl -6 ifconfig.co
更多回答
为什么不尝试使用NetworkManager的nmcli工具进行更简化的网络配置管理?
- 打开终端,编辑你的网卡配置文件(比如ens192):
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens192
- 在文件里补充这些参数(静态IP示例):
BOOTPROTO=none IPADDR=你的IPv4地址 PREFIX=24 GATEWAY=IPv4网关 IPV6INIT=yes IPV6ADDR=你的IPv6地址/64 IPV6_DEFAULTGW=IPv6网关 DNS1=8.8.8.8 DNS2=2001:4860:4860::8888
- 如果是用DHCP,把BOOTPROTO改成dhcp,删掉IPADDR/PREFIX,加
IPV6_AUTOCONF=yes
- 保存后重启网络:
sudo systemctl restart NetworkManager
- 最后用
ip a
看地址,ping google.com
和ping6 google.com
测试
在Rocky Linux 9中设置双栈支持:1. 编辑接口配置文件(如/etc/NetworkManager/system-connections/ens192.nmconnection),在[ipv4]段设置method=manual、addresses=192.168.1.10/24,192.168.1.1,在[ipv6]段设置method=manual、addresses=2001:db8::10/64,2001:db8::1。2. 执行nmcli con reload && nmcli con up ens192
激活配置。
延伸知识点——NetworkManager的keyfile格式:这是取代ifcfg的新配置格式,采用INI结构,支持IPv4/IPv6多地址、路由规则等高级特性。例如,[ipv6]段的address1字段格式为"IP/前缀 网关",dns字段支持多个用分号分隔的地址。若需临时地址,需添加ip6-privacy=2参数。修改后需通过nmcli con reload
使配置生效,避免直接重启服务导致配置回滚。
在Rocky Linux 9中启用IPv4/IPv6双栈需通过NetworkManager配置。操作步骤:1. 检查接口名称(ip a),如ens192;2. 创建配置文件/etc/NetworkManager/system-connections/ens192.nmconnection,包含[ipv4] method=manual, addresses=192.168.1.10/24, gateway=192.168.1.1, dns=8.8.8.8;[ipv6] method=manual, addresses=2001:db8::10/64, gateway=2001:db8::1, dns=2001:4860:4860::8888;3. 执行nmcli con reload && nmcli con up ens192。需验证防火墙规则(firewall-cmd --list-all)和内核参数(sysctl net.ipv6.conf.all.disable_ipv6=0),确保IPv6未被禁用。