Skip to content

Ubuntu 中禁用 IPv6 的方法

在 Ubuntu 系统中禁用 IPv6 有多种方式,以下介绍两种常用方法,分别适用于临时禁用持久禁用的需求。


🔧 方法一:通过 sysctl 配置禁用 IPv6(适用于临时或持久)

  1. 备份配置文件(可选):
sudo cp /etc/sysctl.conf /etc/sysctl.conf.bak
  1. 编辑配置文件
sudo nano /etc/sysctl.conf
  1. 添加以下内容到文件末尾
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
  1. 应用更改
sudo sysctl -p

✅ 此方法在大多数场景下可立即生效,但在某些系统重启后可能恢复默认状态,因此建议用于临时或半持久禁用。


⚙️ 方法二:通过 GRUB 配置禁用 IPv6(适用于持久禁用)

  1. 备份 GRUB 配置文件(可选):
sudo cp /etc/default/grub /etc/default/grub.bak
  1. 编辑 GRUB 配置文件
sudo nano /etc/default/grub
  1. 找到以下行
GRUB_CMDLINE_LINUX=""

并修改为:

GRUB_CMDLINE_LINUX="ipv6.disable=1"

如果已存在其他启动参数,请在其后追加 ipv6.disable=1,以空格分隔。

  1. 更新 GRUB 配置
sudo update-grub
  1. 重启系统
sudo reboot

✅ 此方法在系统启动阶段就完全禁用了 IPv6,适用于需要长期禁用 IPv6 的服务器或生产环境。


🧪 验证 IPv6 是否已禁用

  1. 检查系统参数
cat /proc/sys/net/ipv6/conf/all/disable_ipv6

返回值为 1 表示 IPv6 已禁用。

  1. 查看网络接口信息
ip a

如果未显示任何以 inet6 开头的条目,则 IPv6 已被禁用。


⚠️ 注意事项

  • 禁用 IPv6 可能会影响如下服务:

  • DNS(如 systemd-resolved)

  • 本地回环 IPv6 服务
  • 某些云服务或容器网络插件

  • 在禁用前,建议确认系统及应用是否依赖 IPv6。


Ref