如何在 Rocky Linux 9 中设置并启用网络接口的 IPv4/IPv6 双栈支持?

问题浏览数Icon
128
问题创建时间Icon
2025-04-30 08:01:00
作者头像
cocostar888
  1. 打开终端,编辑你的网卡配置文件(比如ens192):sudo vi /etc/sysconfig/network-scripts/ifcfg-ens192
  2. 在文件里补充这些参数(静态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
  3. 如果是用DHCP,把BOOTPROTO改成dhcp,删掉IPADDR/PREFIX,加IPV6_AUTOCONF=yes
  4. 保存后重启网络:sudo systemctl restart NetworkManager
  5. 最后用ip a看地址,ping google.comping6 google.com测试

更多回答

作者头像
moxiao88

在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工具固化配置,确保重启后生效。

作者头像
xiaozhu77

为什么不尝试使用NetworkManager的nmcli工具进行更简化的网络配置管理?

作者头像
coco233

在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使配置生效,避免直接重启服务导致配置回滚。

作者头像
snowwhisper01

在Rocky Linux 9中配置IPv4/IPv6双栈需通过NetworkManager实现。以下是实践步骤与经验总结:

  1. 确认网络接口:通过ip a获取接口名(如ens192)。
  2. 配置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
  3. 应用配置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=trueipv6.ignore-auto-dns=true

验证命令

  • ip -4 addr show ens192
  • ip -6 route show
  • curl -4 ifconfig.cocurl -6 ifconfig.co
作者头像
ecnight01

在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未被禁用。

作者头像
dongfang77

Rocky Linux 9 网络接口双栈配置指南

步骤 1:确认当前网络接口信息

  1. 执行 nmcli device statusip a 查看接口名称(如 ens192)。
  2. 检查 IPv6 是否已启用:
    cat /proc/sys/net/ipv6/conf/all/disable_ipv6
    # 返回 0 表示启用,1 表示禁用

步骤 2:配置双栈网络(静态/DHCP 示例)

方案一:静态 IP

  1. 编辑接口配置文件(如 /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:应用配置并重启服务

  1. 重载配置:
    nmcli con reload
  2. 重启接口:
    nmcli con down ens192 && nmcli con up ens192

步骤 4:验证双栈连通性

  1. 检查 IP 分配:
    ip -4 addr show ens192   # 查看 IPv4
    ip -6 addr show ens192   # 查看 IPv6
  2. 测试网络连通性:
    ping -4 8.8.8.8
    ping -6 2001:4860:4860::8888

步骤 5:排查常见问题

  • IPv6 未生效:检查内核参数 /etc/sysctl.confnet.ipv6.conf.all.disable_ipv6=0
  • 防火墙限制:执行 firewall-cmd --list-all 确认放行双栈流量。
  • 云环境限制:确保云平台安全组允许 IPv4/IPv6 通信。