Blog.wlens.top
456 字
2 分钟
Linux禁用IPV6

使用 sysctl
禁用 IPv6
这是最常用、最安全且易于恢复的方法。它在系统运行时通过内核参数来禁用 IPv6,而不需要修改引导加载程序。
步骤 1: 修改 sysctl
配置文件
Centos 打开或创建一个新的 sysctl
配置文件来添加禁用 IPv6 的参数。
sudo vi /etc/sysctl.conf
Debain,Ubuntu
sudo vi /etc/sysctl.d/99-sysctl.conf
在文件中添加以下内容:
# 禁用所有网络接口的IPv6net.ipv6.conf.all.disable_ipv6 = 1
# 禁用默认网络接口的IPv6net.ipv6.conf.default.disable_ipv6 = 1
# 对于一些特殊接口(如 loopback),如果也想禁用,可以加上这行,但通常前两行就够了# net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.all.disable_ipv6 = 1
:为所有当前和未来的网络接口禁用 IPv6。net.ipv6.conf.default.disable_ipv6 = 1
:为默认设置禁用 IPv6,确保新创建的接口也遵循此规则。
保存并关闭文件 (在 vi
中按 ESC
,然后输入 :wq
回车)。
步骤 2: 应用 sysctl
设置
为了让刚刚的修改立即生效,而无需重启系统,请运行以下命令:
sudo sysctl -p /etc/sysctl.conf
或者,如果你想加载所有 sysctl
配置文件,可以运行:
sudo sysctl -p
步骤 3: 验证是否禁用成功
你可以通过多种方式来验证。
-
检查网络接口信息:
Terminal window ip addr show# 或者简写为 ip a在输出中,你应该看不到任何包含
inet6
的地址行了。如果之前有,现在它们应该消失了。 -
检查内核参数值:
Terminal window cat /proc/sys/net/ipv6/conf/all/disable_ipv6如果输出为
1
,则表示已成功禁用。
重启网络服务(推荐,比重启服务器快):
对于 CentOS 7:
sudo systemctl restart network
对于 CentOS 8 / Stream (以及多数现代发行版):
sudo systemctl restart NetworkManager
对于 Debain,Ubuntu
sudo systemctl restart networking
重启服务后,再次运行 ip a
,这次您应该就看不到任何 inet6
地址了。
Linux禁用IPV6
https://blog.wlens.top/posts/liunx禁用ipv6/