1. CentOS 6.x

CentOS 6 上是默认打开了IPv6,但其实在我们实际使用中很难用到它,所以本篇的内容就是如何关闭IPv6。

# 可以看到 inet6 ,说明还没关闭。

  1. [root@ultraera ~]# ifconfig eth0
  2. eth0 Link encap:Ethernet HWaddr 00:0C:29:3A:F9:6F
  3. inet addr:172.16.102.161 Bcast:172.16.102.255 Mask:255.255.255.0
  4. inet6 addr: fe80::20c:29ff:fe3a:f96f/64 Scope:Link
  5. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  6. RX packets:199 errors:0 dropped:0 overruns:0 frame:0
  7. TX packets:122 errors:0 dropped:0 overruns:0 carrier:0
  8. collisions:0 txqueuelen:1000
  9. RX bytes:20124 (19.6 KiB) TX bytes:17182 (16.7 KiB)

# 修改/etc/modprobe.d/dist.conf

  1. [root@ultraera ~]# vi /etc/modprobe.d/dist.conf
  2. # 添加下面两行内容
  3. alias net-pf-10 off
  4. alias ipv6 off
  5. # 保存退出,并且重新启动系统
  6. # 开机不启动
  7. [root@ultraera ~]# chkconfig ip6tables off

# 系统重启完成后,检查是否加载IPv6

  1. [root@ultraera ~]# lsmod | grep v6

# 补充

  • 修改/etc/sysconfig/network,追加
  1. NETWORKING_IPV6=no
  • 修改/etc/hosts文件,把ipv6的那句本地主机名解析的也注释掉
  1. #::1 localhost localhost6 localhost6.localdomain6

2. CentOS 7.x

Setup 1. 修改grub文件,在启动引导时不加载ipv6

  1. [root@ultraera ~]# vim /etc/default/grub
  2. # 在GRUB_CMDLINE_LINUX=" " ,中增加
  3. ipv6.disable1
  4. # 重新生产启动引导文件,注意,这里重启系统是没用的,需要手动重建引导文件
  5. [root@ultraera ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
  6. [root@ultraera ~]# reboot

# 验证是否关闭

  1. [root@ultraera ~]# lsmod | grep ipv6

Setup 2. 第二种方式

  1. # 修改/etc/sysctl.conf,增加以下:
  2. net.ipv6.conf.all.disable_ipv6 = 1
  3. reboot

IPv6是默认支持的,所以当你要重新开起IPv6支持时,将以上添加的指令注释掉即可。