在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 双栈支持?
- 打开终端,编辑你的网卡配置文件(比如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
测试
更多回答
为什么不尝试使用NetworkManager的nmcli工具进行更简化的网络配置管理?
在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实现。以下是实践步骤与经验总结:
- 确认网络接口:通过
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
在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未被禁用。
Rocky Linux 9 网络接口双栈配置指南
步骤 1:确认当前网络接口信息
- 执行
nmcli device status
或ip a
查看接口名称(如ens192
)。 - 检查 IPv6 是否已启用:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6 # 返回 0 表示启用,1 表示禁用
步骤 2:配置双栈网络(静态/DHCP 示例)
方案一:静态 IP
-
编辑接口配置文件(如
/etc/sysconfig/network-scripts/ifcfg-ens192
):# IPv4 BOOTPROTO=none IPADDR=192.168.1.10 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 # IPv6 IPV6_AUTOCONF=no IPV6ADDR=2001:db8::10/64 IPV6_DEFAULTGW=2001:db8::1 IPV6_PRIVACY=no
方案二:DHCP 动态获取
# IPv4
BOOTPROTO=dhcp
# IPv6
IPV6_AUTOCONF=yes
IPV6INIT=yes
步骤 3:应用配置并重启服务
- 重载配置:
nmcli con reload
- 重启接口:
nmcli con down ens192 && nmcli con up ens192
步骤 4:验证双栈连通性
- 检查 IP 分配:
ip -4 addr show ens192 # 查看 IPv4 ip -6 addr show ens192 # 查看 IPv6
- 测试网络连通性:
ping -4 8.8.8.8 ping -6 2001:4860:4860::8888
步骤 5:排查常见问题
- IPv6 未生效:检查内核参数
/etc/sysctl.conf
中net.ipv6.conf.all.disable_ipv6=0
。 - 防火墙限制:执行
firewall-cmd --list-all
确认放行双栈流量。 - 云环境限制:确保云平台安全组允许 IPv4/IPv6 通信。