本文说明了在 CentOS/RHEL 7 上禁用 IPv6 的步骤。
有两种方法可以做到这一点:
- 在内核模块中禁用IPv6(需要重启)
- 使用 sysctl 设置禁用 IPv6(无需重启)
要验证是否启用了 IPv6,请执行:
# ifconfig -a | grep inet6 inet6 fe80::211:aff:fe6a:9de4 prefixlen 64 scopeid 0x20 inet6 ::1 prefixlen 128 scopeid 0x10[host]
www. On IT Road .com
2. 使用 sysctl 设置禁用 IPv6(无需重启)
- 在 /etc/sysctl.conf 中添加以下几行:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
注意:要在单个接口上禁用 IPv6,请将以下行添加到 /etc/sysctl.conf :
net.ipv6.conf.[interface].disable_ipv6 = 1 ### [interface] 是接口名称
net.ipv6.conf.default.disable_ipv6 = 1
- 要使设置生效,请执行:
# sysctl -p
注意:如果我们使用 sysctl 方法,请确保文件 /etc/ssh/sshd_config 包含一行 AddressFamily inet 以避免破坏 SSH Xforwarding
- 将 AddressFamily 行添加到 sshd_config :
# vi /etc/ssh/sshd_config .... AddressFamily inet ....
重新启动 sshd 以使更改生效:
# systemctl restart sshd
1.在内核模块中禁用IPv6(需要重启)
- 编辑 /etc/default/grub 并在 GRUB_CMDLINE_LINUX 行中添加 ipv6.disable=1,例如:
# cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rhgb quiet" GRUB_DISABLE_RECOVERY="true"
- 重新生成一个 GRUB 配置文件并覆盖现有的:
# grub2-mkconfig -o /boot/grub2/grub.cfg
- 重新启动系统并验证“ip addr show”命令输出中没有“inet6”行。
# shutdown -r now
# ip addr show | grep net6
日期:2020-09-17 00:12:02 来源:oir作者:oir