禁用IPv6的三种高效方法:NetworkManager、sysctl、内核模块调整

现在新版本的Linux操作系统默认启用Internet协议版本6(IPv6)。但是,在某些情况下,某些用户可能会发现需要禁用IPv6支持。本文将详细介绍如何禁用IPV6服务。

(一)在NetworkManager中禁用IPv6

1.对于RHEL7和RHEL8.0:

[root@yunweixia.com ~]# nmcli connection modify  ipv6.method "ignore"

2.对于RHEL8.1及更高版本和9:

[root@yunweixia.com ~]# nmcli connection modify  ipv6.method "disabled"

(二)通过sysctl设置禁用IPv6

1.创建一个名为的新文件/etc/sysctl.d/ipv6.conf包含以下文本。

# First, disable for all interfaces
net.ipv6.conf.all.disable_ipv6 = 1
# If using the sysctl method, the protocol must be disabled on all specific interfaces, as well.
net.ipv6.conf..disable_ipv6 = 1
# By default, we do not disable IPv6 on localhost, as it's important for multiple
# components.  If you want to disable it anyway, change the following
# value to 1.
net.ipv6.conf.lo.disable_ipv6 = 0

2.然后需要重新加载新设置:

[root@yunweixia.com ~]# sysctl -p /etc/sysctl.d/ipv6.conf

3.创建初始 RAM 磁盘映像的备份:

[root@yunweixia.com ~]# cp -p /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)_$(date +%Y-%m-%d_%H%M%S).img

4.然后使用以下命令重建 initramfs:

[root@yunweixia.com ~]# dracut -f -v

验证

[root@yunweixia.com ~]# lsinitrd /boot/initramfs-$(uname -r).img  | grep 'etc/sysctl.d/ipv6.conf'

5.注释掉在 /etc/hosts中找到的任何IPv6 地址,包括 ::1 本地主机地址(如果您在步骤 #1 中也在本地主机上禁用了 IPv6)。

[root@yunweixia.com ~]# cp -p /etc/hosts /etc/hosts.disableipv6
[root@yunweixia.com ~]# sed -i 's/^[[:space:]]*::/#::/' /etc/hosts

(三)禁用 IPv6 内置内核模块

1.编辑/etc/default/grub并追加ipv6.disable=1到GRUB_CMDLINE_LINUX像下面的示例:

GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root ipv6.disable=1"

2.通过grub2-mkconfig命令重新生成grub.cfg文件:

[root@yunweixia.com ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

或者,在 UEFI 系统上,运行以下命令:

[root@yunweixia.com ~]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

3.重新启动系统以禁用 IPv6 支持。

原创文章,作者:运维侠,如若转载,请注明出处:https://www.yunweixia.com/solutions/disable-ipv6-3-efficient-methods-networkmanager-sysctl-kernel-module-tuning.html

(0)
运维侠的头像运维侠共建用户
上一篇 2025年7月17日 18:11
下一篇 2025年7月19日 18:11

相关推荐

发表回复

登录后才能评论