检查确认

要验证是否启用了 IPv6,请执行:

# ifconfig -a | grep inet6
        inet6 fe80::211:aff:fe6a:9de4  prefixlen 64  scopeid 0x20
        inet6 ::1  prefixlen 128  scopeid 0x10[host]

如上面的输出所示,IPv6 已启用。

之路教程 https://onitr oad .com

使用 sysctl 设置启用 IPv6(无需重启)

此外,即使加载了 ipv6 内核模块,也可以使用 sysctl 设置将其禁用。

  1. 为了让 ipv6 在线运行,请确保 /etc/sysctl.conf 中的以下行被注释掉或者删除。
# 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。

# sysctl -p

有关使用 sysctl 设置的更多信息

  1. 要在接口上动态禁用 ipv6,请使用下面给出的命令。
# sysctl net.ipv6.conf.[interface].disable_ipv6 = 1       ## [interface] 是接口名称,比如 eth0
# sysctl net.ipv6.conf.default.disable_ipv6 = 1
  1. 要在接口上动态启用 ipv6,请使用下面给出的命令。
# sysctl net.ipv6.conf.[interface].disable_ipv6 = 0       ## [interface] 是接口名称,比如 eth0
# sysctl net.ipv6.conf.default.disable_ipv6 = 0
  1. 要在所有接口上动态启用 ipv6,请使用下面给出的命令。
# sysctl net.ipv6.conf.all.disable_ipv6 = 0
# sysctl net.ipv6.conf.default.disable_ipv6 = 0
  1. 要在所有接口上动态禁用 ipv6,请使用下面给出的命令。
# sysctl net.ipv6.conf.all.disable_ipv6 = 1
# sysctl net.ipv6.conf.default.disable_ipv6 = 1
如何在 CentOS/RHEL 7 上启用 IPv6

RHEL/CenOS 7 系统默认启用 IPv6.
因此,如果系统上有意禁用了 IPv6,则可以通过以下任一方法重新启用它。

  1. 在内核模块中启用IPv6(需要重启)
  2. 使用 sysctl 设置启用 IPv6(无需重启)

在内核模块中启用 IPv6(需要重新启动)

  1. 编辑 /etc/default/grub 并在 GRUB_CMDLINE_LINUX 行中将内核参数 ipv6.disable 的值从 1 更改为 0,例如:
# 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。

  1. 使用下面显示的命令重新生成一个 GRUB 配置文件并覆盖现有的配置文件。
# grub2-mkconfig -o /boot/grub2/grub.cfg
  1. 重启系统使更改生效。
# shutdown -r now
日期:2020-09-17 00:13:35 来源:oir作者:oir