CentOS如何关闭IPv6

IPv6是下一代网络协议,提供了比IPv4更多的地址空间,并允许更好的支持多播和安全性。但是在某些情况下,禁用IPv6可能是必要的。本文将介绍在CentOS中关闭IPv6的几种方法

方法一:使用sysctl工具


sysctl工具是一个系统内核参数配置工具,可以用来在运行时设置和修改内核参数。

说明
此方法适用于CentOS6、CentOS7、CentOS8
使用sysctl工具关闭IPv6无需重启系统

  1. 查看IPv6是否启用
1
2
sysctl -a | grep net.ipv6.conf.all.disable_ipv6
sysctl -a | grep net.ipv6.conf.default.disable_ipv6
  1. 临时关闭IPv6
1
2
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1
  1. 永久禁用IPv6
1
2
3
4
cat >> /etc/sysctl.conf << EOF
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
EOF

说明
禁用IPv6后,如果想重新启用IPv6,重复执行上述步骤并将禁用标志更改为0即可,CentOS8需要重启系统后才可重新启用。

方法二:修改GRUB配置文件


GRUB配置文件是操作系统启动时加载的引导程序,如果您想在系统启动时永久性禁用IPv6,您可以通过修改GRUB配置文件来实现。

说明
通过修改GRUB配置文件的方式关闭IPv6需要重启系统

CentOS6

  1. 编辑/boot/grub/grub.conf文件,在kernel /vmlinuz...行末尾添加ipv6.disable=1参数并保存退出
1
2
3
...
kernel /vmlinuz-...... rhgb quiet console=tty0 console=ttys0,115200n8 ipv6.disable=1
...
  1. 重启系统使配置生效
1
reboot

CentOS7

  1. 编辑/etc/default/grub文件,在GRUB_CMDLINE_LINUX行添加ipv6.disable=1参数并保存退出
1
2
3
...
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet ipv6.disable=1"
...
  1. 更新GRUB配置并重启系统
1
2
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot

CentOS8

  1. 编辑/etc/default/grub文件,在GRUB_CMDLINE_LINUX行添加ipv6.disable=1参数并保存退出
1
2
3
...
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet ipv6.disable=1"
...
  1. 更新GRUB配置并重启系统
1
2
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot

说明
禁用IPv6后,如果想重新启用IPv6,重复执行上述步骤并将禁用标志更改为0即可。