问题描述
为什么禁用 IPv6 协议栈?因为很多配套的基础设置还未到位,因此使用 IPv6 会遇到很多问题,比如 a 5-second delay 问题。
该笔记将记录:在 Linux 中,如何禁用 IPv6 协议栈,以及相关问题处理。
解决方案
RHEL/CentOS
# sysctl -w net.ipv6.conf.all.disable_ipv6=1
# sysctl -w net.ipv6.conf.default.disable_ipv6=1
cat > /etc/sysctl.d/99-disable-ipv6.conf <
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
EOF
sysctl --load /etc/sysctl.d/99-disable-ipv6.conf
Ubuntu 18.04
在 Ubuntu 18.04 中,修改 sysctl 是无效的,因为 Netplan 会为其分配 Link-local 地址。解决方法:
方法一、彻底禁止 IPv6 协议栈
# vim /etc/default/grub
...
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"
...
# update-grub
方法二、通过 Netplan 禁止
network:
version: 2
ethernets:
enp0s2:
...
link-local: []
...
我们不得不说,“回”字又多了一种写法 :-)
相关文章
参考文献