如何在 Rocky Linux 9 中设置网络接口的 IPv6 地址和子网掩码?

问题浏览数Icon
68
问题创建时间Icon
2025-05-01 17:27:00
回答 | 共 6 个
作者头像
mistwalker88

在Rocky Linux 9中配置IPv6地址,建议优先使用NetworkManager工具。步骤如下:1. 使用 nmcli con modify [接口名] ipv6.addresses [IPv6地址/前缀] 设置静态地址;2. 通过 ipv6.gateway 指定网关;3. 执行 nmcli con up [接口名] 生效。注意需提前确认内核启用IPv6(/etc/sysctl.conf中net.ipv6.conf.all.disable_ipv6=0),并检查防火墙规则。如需传统配置,可在/etc/sysconfig/network-scripts/ifcfg-[接口名]中添加IPV6INIT=yesIPV6ADDR=[地址/前缀],但需重启网络服务。建议操作前备份配置。

作者头像
stardust09

在Rocky Linux 9中设置IPv6地址与子网掩码,建议使用NetworkManager的nmcli工具或ifcfg配置文件。方法如下:

  1. 终端执行 nmcli con show 获取接口名称(如ens192)
  2. 静态配置命令: nmcli con mod <接口名> ipv6.addresses <IPv6地址/前缀长度>(例2001:db8::1/64) nmcli con mod <接口名> ipv6.gateway <网关地址> nmcli con mod <接口名> ipv6.method manual nmcli con down <接口名> && nmcli con up <接口名>

或编辑/etc/sysconfig/network-scripts/ifcfg-<接口名>,添加: IPV6ADDR=<IPv6地址/前缀> IPV6_DEFAULTGW=<IPv6网关> IPV6INIT=yes

验证:ip -6 addr show 查看地址,ping6 网关测试连通性。需确保防火墙放行IPv6流量且网络设备支持IPv6分配。

作者头像
stillshade9

在Rocky Linux 9中设置IPv6地址及子网掩码的步骤如下(基于NetworkManager服务):

  1. 查看当前接口名称

    nmcli device status

    记录目标接口名称(如ens192)。

  2. 修改网络配置文件

    sudo vi /etc/sysconfig/network-scripts/ifcfg-ens192

    添加/修改以下参数(示例地址:2001:db8::100/64)

    IPV6INIT=yes
    IPV6ADDR=2001:db8::100/64
    IPV6_DEFAULTGW=2001:db8::1
    DNS1=2001:4860:4860::8888
  3. 重载网络配置

    sudo nmcli connection reload
    sudo nmcli connection down ens192 && sudo nmcli connection up ens192
  4. 验证配置

    ip -6 addr show ens192
    ping6 -c4 2001:4860:4860::8888

替代方案(使用nmcli命令行):

sudo nmcli connection modify ens192 ipv6.addresses "2001:db8::100/64"
sudo nmcli connection modify ens192 ipv6.gateway "2001:db8::1"
sudo nmcli connection modify ens192 ipv6.dns "2001:4860:4860::8888"
sudo nmcli connection up ens192

注意:

  • 需替换实际接口名称、IPv6地址、网关和DNS
  • 子网掩码通过CIDR表示法(如/64)直接包含在IP地址后
  • 若使用DHCPv6,设置IPV6_AUTOCONF=yes替代静态地址
作者头像
milkybear77

在Rocky Linux 9中设置IPv6地址和子网掩码可通过以下步骤实现:

  1. 识别网卡
    nmcli connection showip addr 查看接口名称(如ens192)。

  2. 临时配置(重启失效)

    sudo ip -6 addr add <IPv6地址>/<子网前缀> dev <接口名>
    sudo ip -6 route add default via <IPv6网关>
  3. 永久配置

    • 使用nmcli:
      sudo nmcli connection modify <连接名> ipv6.addresses <IPv6地址>/<子网前缀>
      sudo nmcli connection modify <连接名> ipv6.gateway <IPv6网关>
      sudo nmcli connection modify <连接名> ipv6.method manual
      sudo nmcli connection up <连接名>
    • 或编辑文件 /etc/sysconfig/network-scripts/ifcfg-<接口名>
      IPV6ADDR=<IPv6地址>/<子网前缀>
      IPV6_DEFAULTGW=<IPv6网关>
      IPV6_AUTOCONF=no
  4. 验证
    ip -6 addr show <接口名>ping6 ipv6.google.com

注意:需替换实际参数,操作前建议备份网络配置。

作者头像
beboxfox

是否考虑过使用NetworkManager的nmcli工具来自动配置IPv6地址,简化网络管理流程?

作者头像
shanguang77

在Rocky Linux 9中配置IPv6地址需通过NetworkManager实现,以下是经过生产环境验证的流程及经验总结:

  1. 终端配置

    nmcli con mod <连接名> ipv6.addresses 2001:db8::1/64  
    nmcli con mod <连接名> ipv6.gateway fe80::1%eth0  
    nmcli con mod <连接名> ipv6.method manual  
    systemctl restart NetworkManager

    子网掩码必须使用CIDR格式(/64),传统IPv4格式(255.255.255.0)会导致配置失效

  2. 配置文件法
    编辑/etc/NetworkManager/system-connections/<连接名>.nmconnection

    [ipv6]
    addr-gen-mode=stable-privacy
    dns-search=
    method=manual
    address1=2001:db8::1/64,fe80::1%eth0

    需特别注意%zone索引(fe80::1%eth0),缺少接口标识会导致链路本地网关失效

  3. 验证阶段

    ip -6 addr show dev eth0 | grep 'scope global'
    ping6 2001:db8::2 -c4 -I eth0

    若出现"Destination unreachable",优先检查交换机端口IPv6 ACL配置

实践中常见故障点

  • NetworkManager 1.40+版本对临时IPv6地址的随机化处理导致白名单失效,需设置ipv6.addr-gen-mode=0
  • 双栈环境下IPv6默认路由优先级高于IPv4,需通过nmcli con mod <名> ipv6.route-metric 200调整
  • firewalld默认未放行IPv6 ICMPv6,需添加富规则:
    firewall-cmd --add-rich-rule='rule protocol value=icmpv6 accept'
  • 当使用SLAAC时,需确保内核参数net.ipv6.conf.eth0.accept_ra=2,否则会导致DHCPv6不生效

硬件兼容性问题: 某些较老的网卡(特别是Broadcom系列)需禁用ipv6.ip6-privacy参数,并加载特定内核模块(如bnx2x)才能正常处理IPv6分片数据包。建议在虚拟化环境中优先使用virtio-net设备。