众所周知,在计算中有两种类型的 IP地址,分别是IPv4和IPv6。
IPv4是一个32位地址,包含由三个句点分段的4个八位字节。它是使用最广泛的IP寻址方法,最多支持232个IP地址。所以看,你的设备很有可能使用IPv4寻址连接到任何网络——有线或无线。
此外,IPv6是具有16个八位字节的128位地址。它比IPv4长得多,并提供2128个IP地址。这相当于340数字后面再加36个零,而IPv4限制为43亿个IP地址。
详细信息参考:关于国外VPS服务器租用中的IP地址你了解多少?
在大多数情况下,IPv4和IPv6协同工作没有任何问题。但是,有时候可能需要暂时禁用IPv6地址,例如在排除网络故障时。在本文中,小编简单介绍在RHEL、Rocky Linux和AlmaLinux发行版上禁用IPv6的简单方法。
在RHEL、Rocky Linux和AlmaLinux上永久禁用IPv6
首先,使用以下ip 命令确认Linux系统上面正在使用IPv6的地址,如下图所示:
$ ip a | grep inet6
从下面的输出中,可以看到IPv6已启用。所以,下一步是禁用IPv6地址。
这里将通过更改grub配置文件来禁用IPv6地址 。因此,如下所示访问GRUB设置文件。
$ sudo vim /etc/default/grub
在最后添加下面的行,具体如下:
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX ipv6.disable=1"
保存更改并退出。
要应用更改,需要生成一个新的GRUB配置文件。为此,请运行以下命令:
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
此外,为EFI系统生成EFI GRUB配置文件,命令如下:
$ sudo grub2-mkconfig -o /boot/efi/EFI/rocky/grub2.cfg
接下来重新启动系统使得应用生效,命令如下:
$ sudo reboot
这时候再次检查是否支持IPv6:
$ ip a | grep inet6
如果没有看到任何输出,则意味着IPv6地址已经被禁用。
在RHEL、Rocky Linux和 AlmaLinux上临时禁用IPv6
另一种方法是暂时禁用IPv6,可以通过编辑/etc/sysctl.conf文件或在/etc/sysctl.d目录中添加配置文件来实现。
可以使用以下命令更改/etc/sysctl.conf文件:
$ sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
然后验证 IPv6是否已禁用。
$ ip a | grep inet6
或者,可以手动编辑/etc/sysctl.conf文件,命令如下:
$ sudo vim /etc/sysctl.conf
然后附加以下行以禁用所有网络适配器的IPv6。
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
保存更改并退出,然后运行以下命令以应用更改。
$ sudo sysctl -p
在RHEL、Rocky Linux和AlmaLinux上重新启用 IPv6
打开/etc/default/grub文件并将ipv6.disable=1
从GRUB_CMDLINE_LINUX中删除条目,命令如下:
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX"
运行grub2-mkconfig命令重新生成grub.cfg文件:
# grub2-mkconfig -o /boot/grub2/grub.cfg
或者,在UEFI系统上,运行以下命令:
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
注意,记得替换redhat
为你的发行版名称,例如rocky linux或almalinux。
重新启动系统以禁用IPv6地址支持。
另外,如果只是暂时启用了IPv6地址,只需从/etc/sysctl.conf文件中删除以下行并重新启动系统。
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
总结
以上就是在RHEL、Rocky Linux和AlmaLinux系统禁用IPv6地址的简单方法,在需要排除Linux服务器系统故障时,应该会用的到。当然,除非需要,否则不建议在Linux系统上禁用IPv6地址,因为这可能会导致一些问题的出现,尤其是在使用支持IPv6的DHCP服务器时。