默认情况下,在RHEL / CenOS 7系统上启用IPv6。因此,如果故意在系统上禁用IPv6,则可以通过以下任一方法重新启用它。
1.在内核模块中启用IPv6(需要重启) 2。使用sysctl设置启用IPv6(无需重启)
在内核模块中启用IPv6(需要重启)
1.编辑/ etc / default / grub并在GRUB_CMDLINE_LINUX行中将内核参数ipv6.disable的值从1更改为0,例如:
代码语言:javascript复制# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="ipv6.disable=0 crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
注意:ipv6.disable = 0是默认值,因此您可以根据需要从GRUB_CMDLINE_LINUX参数列表中删除此参数ipv6.disable。
2.使用下面显示的命令重新生成GRUB配置文件并覆盖现有配置文件。
代码语言:javascript复制#grub2-mkconfig -o /boot/grub2/grub.cfg
3.重新启动系统以使更改生效。
代码语言:javascript复制# shutdown -r now
使用sysctl设置启用IPv6(无需重新启动)
此外,即使加载了ipv6内核模块,也可以使用sysctl设置禁用它。
1.为了让ipv6在线运行,请确保/etc/sysctl.conf中的以下行被注释掉或删除。
代码语言:javascript复制#cat /etc/sysctl.conf | grep ipv6
#net.ipv6.conf.all.disable_ipv6 = 1 ###注释/删除此行或将其值从1更改为0
#net.ipv6.conf.default.disable_ipv6 = 1 ###注释/删除此行或将其值从1更改为0
2.使用命令'sysctl -p'重新读取配置文件/etc/sysctl.conf。
代码语言:javascript复制#sysctl -p
有关使用sysctl设置的更多信息
1.要在接口上动态禁用ipv6,请使用下面给出的命令。
代码语言:javascript复制#sysctl net.ipv6.conf。[interface] .disable_ipv6 = 1 ###把接口名称放在这里[interface],即eth0
#sysctl net.ipv6.conf.default.disable_ipv6 = 1
2.要在接口上动态启用ipv6,请使用下面给出的命令。
代码语言:javascript复制#sysctl net.ipv6.conf。[interface] .disable_ipv6 = 0 ### put interface name here [interface],即eth0
#sysctl net.ipv6.conf.default.disable_ipv6 = 0
3.要在所有接口上动态启用ipv6,请使用下面给出的命令。
代码语言:javascript复制#sysctl net.ipv6.conf.all.disable_ipv6 = 0
#sysctl net.ipv6.conf.default.disable_ipv6 = 0
4.要在所有接口上动态禁用ipv6,请使用下面给出的命令。
代码语言:javascript复制#sysctl net.ipv6.conf.all.disable_ipv6 = 1
#sysctl net.ipv6.conf.default.disable_ipv6 = 1
校验
要验证是否启用了IPv6,请执行:
代码语言:javascript复制#ifconfig -a | grep inet6
inet6 fe80 :: 211:aff:fe6a:9de4 prefixlen 64 scopeid 0x20
inet6 :: 1 prefixlen 128 scopeid 0x10 [host]
如上面的输出所示,启用了IPv6。