尽管IPv6是互联网的新基石,有着数量多的优势,但是目前很多时候IPv6的支持并不完整,有时候会因为IPv6遇到一些奇奇怪怪的兼容性问题。于是就需要关闭IPv6而强制使用IPv4进行互联网连接。
现给出两个方法,本质上都是通过改写sysctl实现的,第一种是在sysctl.d中新加入配置文件,第二中是直接修改sysctl.conf配置文件,推荐使用第一种从而避免误操作影响其他配置文件。

方法一:在sysctl.d中新加入配置文件

/etc/sysctl.d/文件夹中新建disable-ipv6.conf,并写入配置

cd /etc/sysctl.d/
touch disable-ipv6.conf
echo net.ipv6.conf.all.disable_ipv6=1 > disable-ipv6.conf

使用以下命令运行配置文件

sysctl -p -f /etc/sysctl.d/disable-ipv6.conf

如果使用ip a命令,在输出中没有发现IPv6地址,则说明成功关闭了IPv6功能。

方法二:直接修改sysctl.conf配置文件

打开/etc/sysctl.conf,在Uncomment the next line to enable packet forwarding for IPv6前一行添加以下三行内容:

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
net.ipv6.conf.ens3.disable_ipv6 = 1

注意ens3这个,由于每个设备的网卡名字都有可能不同,需要使用ip a命令查找一下具体的名称以替换掉ens3
使用以下命令运行配置文件:

sysctl -p

如果使用ip a命令,在输出中没有发现IPv6地址,则说明成功关闭了IPv6功能。

标签: linux, ipv6

添加新评论