Debian关闭IPv6的方法
尽管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功能。
方法二只需要前二行就可以了