虽然 IPv6 已经逐渐普及,但在某些 Linux 服务器上的业务系统仍然可能遇到一些奇怪的问题。特别是在集群场景中,因为集群各个节点之间需要互相通信,如果 IPv6 没有正确配置网络,可能导致一些未知问题,解决起来相当麻烦。每种操作系统都有差异,请查阅资料以关闭 IPv6。
以下是一些建议的关闭 IPv6 的方法:
可视化配置方案(推荐):
使用命令 nmtui
可视化修改,将 IPv6 从 Automatic
修改为 Disabled
,然后 OK 保存。
如果你没有安装 NetworkManager 服务不能正常使用命令 nmtui,你可以试试下面的两种方法,据我实践结论 "下面两种方法不如上面的可靠,因为我在某些类型的操作系统上出现了不生效的结果,而通过 nmtui 修改的是肯定没有问题的"。
补充方法 1:修改 /etc/sysctl.conf 文件
- 在文件
/etc/sysctl.conf
末尾增加以下内容:
bash
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
- 使用命令
sysctl -p
生效。
补充方法 2:编辑 /etc/default/grub 文件
- 编辑文件
/etc/default/grub
,在GRUB_CMDLINE_LINUX
后面添加ipv6.disable=1
。 - 使用命令
grub2-mkconfig -o /boot/grub2/grub.cfg
生效。
如下是 Rocky Linux 的示例:
bash
GRUB_CMDLINE_LINUX="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap ipv6.disable=1"
重启服务器并验证
建议:把推荐的 nmtui
配置后,再把补充方法1 的 /etc/sysctl.conf
也配置上,这两种都配置一下。
- 使用命令
reboot
重启服务器。 - 使用命令
ip a | grep inet6
验证 IPv6 是否已关闭。
请根据您的实际情况选择合适的方法关闭 Linux 服务器上的 IPv6。
(END)