You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Server 22.04下无法彻底禁用IPv6的求助

Ubuntu Server 22.04下无法彻底禁用IPv6的求助

我完全懂你折腾半天却没效果的挫败感!你遇到的问题其实是Ubuntu 22.04默认的网络管理逻辑,加上IPv6链路本地地址的特性导致的,咱们一步步来解决:

首先得搞清楚核心问题:你看到的fe80::开头的地址是IPv6的链路本地地址,它是IPv6协议的基础地址之一,有时候即使通过sysctl禁用了IPv6,某些网卡驱动或网络管理工具还是会偷偷分配这个地址;再加上Ubuntu 22.04默认用netplan管理网络,只改grub和sysctl确实不够。

1. 先确认GRUB启动参数真的生效了

你已经修改了/etc/default/grub,但得先验证这个参数是否真的被内核加载了:
执行命令:

cat /proc/cmdline

看看输出里有没有ipv6.disable=1。如果没有,说明update-grub执行后可能没重启,或者针对UEFI系统需要用update-grub2,重新执行:

sudo update-grub
# 针对UEFI系统可以试试这个
sudo update-grub2
sudo reboot

重启后再检查/proc/cmdline,确保参数存在。

2. 完善sysctl的IPv6禁用配置

你之前的sysctl配置还不够完整,需要加上禁用自动配置和路由通告的参数,打开/etc/sysctl.conf,添加以下内容:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
# 禁用自动配置链路本地地址
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.autoconf = 0
# 禁用路由通告,防止自动获取IPv6配置
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.default.accept_ra = 0

保存后执行命令让配置立即生效:

sudo sysctl -p

3. 修改netplan配置(关键步骤!)

Ubuntu 22.04默认用netplan管理网络,它的配置优先级比sysctl高,即使你通过sysctl禁用了IPv6,netplan如果没明确禁用的话,还是会启用IPv6相关功能。

找到netplan的配置文件(一般在/etc/netplan/目录下,文件名类似00-installer-config.yaml),编辑它:

sudo nano /etc/netplan/00-installer-config.yaml

在你的网卡接口(比如enp1s0)下添加ipv6: disabled,修改后的文件大概是这样(注意yaml对缩进要求严格,一定要对齐):

network:
  ethernets:
    enp1s0:
      dhcp4: true  # 如果你用的是DHCPv4就保持这个,静态IP的话改成对应的配置
      ipv6: disabled
  version: 2

保存后执行命令应用配置:

sudo netplan apply

4. 最后验证

现在执行ip -6 addr,应该就不会再显示任何IPv6地址了。如果还有残留,重启系统再检查一次。

备注:内容来源于stack exchange,提问作者Octavio Masomenos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 14:27:39