在 Linux 服务器上禁止 IPv6

2025-04-02#Linux

在 Linux 云服务器上,可能默认开启了 IPv6。但如果想禁用,那么可以临时禁用(但在下次重启后回复);或者永久禁用。下面以 Ubuntu 24.04 为例,介绍禁用 IPv6 的方法。

查看 IPv6 是否启用 🔗

检查系统是否启用IPv6的最直观的方式,就是使用 ip 命令查看主机的 IP 地址。比如:

ip -6 addr

也可以查看 /proc 中的文件内容:

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

若输出结果为 0,表明 IPv6 已开启;若输出为1,则表示 IPv6 被禁用。

临时禁用 IPv6 🔗

root 身份执行如下命令即可:

sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

永久禁用 IPv6 🔗

root 身份修改文件 /etc/sysctl.conf,添加如下内容:

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

然后以 root 身份执行:

sysctl -p

此时使用 ip -6 addr 可知 IPv6 被禁用了。但是,如果重启系统,可能会发现,IPv6 又被启用了。为此,可创建或者修改 /etc/rc.local 文件,加入如下内容:

#!/bin/bash

/sbin/sysctl -p /etc/sysctl.conf
/etc/init.d/procps restart

exit 0

确保改文件有可执行权限:

chmod +x /etc/rc.local

此时重启系统后,那么在正常情况下已经无法获取 IPv6 地址,也就是说 IPv6 已经被禁用了。

参考资料 🔗


加载中...