如何在 CentOS/RHEL 8 上配置 IPv6 网络
IPv6 寻址是在预期 IPv4 地址耗尽的情况下开发的。它旨在通过使用更广泛的网络寻址空间来解决 IPv4 地址耗尽的问题。 IPv6 地址是一个 128 位数字,由 8 个冒号分隔的组组成,每个组由 4 个十六进制数字组成。
另请阅读:IPv4 有什么问题以及我们为何转向 IPv6
IPv6 地址的示例如下所示:
2001:1:1:1443:0:0:0:400
IPv6 通常在 CentOS/RHEL 8 上默认启用。要检查您的系统是否启用了 IPv6,请运行以下命令:
sudo sysctl -a | grep ipv6.*disable
值 0 表示 IPv6 在您的节点上处于活动状态。值 1
表示 IPv6 已禁用。因此,从上面的输出来看,IPv6 已启用。
检查 IPv6 是否已启用的另一种方法是查看 /etc/network-scripts/ 目录中的网络接口。在我们的例子中,这将是 /etc/sysconfig/network-scripts/ifcfg-enps03 文件。
因此,让我们执行以下命令并检查 IPv6 是否已启用。
cat /etc/sysconfig/network-scripts/ifcfg-enps03
请注意以下 IPV6 选项,如下所示:
- IPV6INIT=yes – 这会初始化 IPv6 寻址的接口。
- IPV6_AUTOCONF=yes – 这将为接口启用 IPv6 自动配置。
- IPV6_DEFROUTE=yes – 这表示默认 IPv6 路由已分配给该接口。
- IPV6_FAILURE_FATAL=no – 表示即使 IPv6 出现故障,系统也不会出现故障。
上面的输出确认 IPv6 寻址已启用。在终端上,您可以通过运行以下IP命令来查看接口的IPv6地址。
ip a
OR
ip -6 addr
请注意 inet6 前缀,如下所示。
要暂时禁用 IPv6,请运行以下命令:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
ip -6 addr
要启用 IPv6,请运行以下命令:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
然后重新启动 NetworkManager 以使更改生效。
sudo systemctl restart NetworkManager
要永久禁用 IPv6,请编辑 GRUB /etc/default/grub 文件。在 GRUB_CMDLINE_LINUX
行中,将参数 ipv6.disable=1
附加到行尾,如图所示。
要应用更改,请重新启动您的系统。
就像IPv4一样,可以使用nmtui和nmcli工具手动配置IPv6。但不建议这样做,因为手动配置 IPv6 容易出错,而且相当费力。
此外,跟踪哪些 IPv6 地址分配给哪些系统是一项艰巨的任务。您很可能会搞乱您的配置。