如何在 RHEL/CentOS 8 上禁用 IPv6

IPv6(互联网协议版本 6)是一种互联网协议,用于路由流量并为网络上的计算机提供识别和定位系统。长期以来,人们一直在吹捧 IPv6 将取代 IPv4,但我们还没有做到。在您的系统上禁用 IPv6 实际上非常简单。

在本指南中,您将了解如何在RHEL/CentOS 8上禁用 IPv6

检查是否启用了 IPv6

首先,检查我们的系统当前是否启用了 IPv6。为此,我们将运行以下命令:

$ ip a | grep inet6

从下面的输出中,您可以看到 IPv6 条目,这意味着 IPv6 已启用。

验证是否启用了 IPv6

下一步是禁用 IPv6。有两种方法可以解决这个问题:

1) CentOS 8 上使用内核引导选项禁用 IPv6

如果您想在系统上永久禁用 IPv6,那么这是选择的方法。另外,请注意,这需要重新启动才能使更改生效。

第一步是打开默认的 GRUB 配置文件,如图所示:

$ sudo vim /etc/default/grub

在文件末尾,附加以下行:

GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX ipv6.disable=1"

保存文件并退出。

为了使更改生效,我们需要更新 GRUB 配置文件。但首先,我们需要知道 GRUB 配置文件的位置。为此,请运行以下命令:

$ sudo ls -lh /etc/grub*.cfg

接下来,生成一个新的 GRUB 配置文件以将其保存到/boot/grub2/grub.cfg文件中。

$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg

此外,运行下一个命令来创建一个新的配置文件并将其保存到/boot/efi/EFI/centos/grub2.cfg文件

$ sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub2.cfg

此后,使用以下命令重新启动系统:

$ sudo reboot

重新启动完成后,登录并再次运行以下命令。请注意,未列出 IPv6 信息。

$ ip  a | grep inet6

2) 使用 sysctl 禁用 IPv6

到目前为止,我们已经研究了在 CentOS 8 上禁用 IPv6 的一种方法。下一个方法是使用 sysctl,它是一个用于在运行时修改内核参数的软件实用程序。这是一个临时修复,不需要重新启动系统。

首先,新建一个配置文件,如图:

$ sudo vim /etc/sysctl.d/70-ipv6.conf

然后添加显示的行

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

保存并退出配置文件。在我们禁用 IPv6 协议之前,让我们先检查一下命令net.ipv6.conf.default.disable_ipv6 的值是多少。你应该得到 0 的值。

$ sudo sysctl --values net.ipv6.conf.default.disable_ipv6

检查 IPv6 时的 systcl 值为 0

要禁用 IPv6,请执行以下命令:

$ sysctl --load /etc/sysctl.d/70-ipv6.conf

现在,再次验证 sysctl 值,这一次,您将获得 1 值,表示 Ipv6 已被禁用。

$ sudo sysctl --values net.ipv6.conf.default.disable_ipv6

结论

虽然 IPv6 旨在取代 IPv4,但大多数系统仍在使用 IPV4。事实上,根据谷歌的数据,IPv6 的采用率仅为 20%,而且在世界上用完 IPv4 地址还需要相当长的时间。如果您希望在 CentOS 8 上禁用 IPv6,我们希望本指南提供有关如何执行此操作的有用见解。

你可能感兴趣的:(linux,linux,网络,centos)