IPv6是最新的互联网协议,负责为网络设备提供标识和定位,并在互联网上路由流量。它于 1998 年开发,旨在替代早期的 IPv4 协议。IPv6 通过 128 位地址为每个设备分配全球唯一的地址,而 IPv4 仅使用 32 位地址。
尽管 IPv6 的目标是完全取代 IPv4,但目前仍存在一些问题:
- 根据 Google 的实时数据,截至 2024 年 8 月,全球仅有不到 45% 的网站支持 IPv6 连接。
- 虽然大多数主要 ISP 现在都支持 IPv6,但支持程度可能因地区和服务商而异。
- 你需要像配置 IPv4 那样仔细调整 IPv6 设置,仅依赖基本网络规则可能还不够,但这可能会增加系统复杂性。
- 有用户发现,在某些特定情况下,禁用 IPv6 能提高 Ubuntu 的 Wi-Fi 速度。
无论出于什么原因,你都可以使用以下几种方法在 Ubuntu 系统上禁用 IPv6,并在需要时重新启用。
注:IPv6 是未来互联网发展的趋势,非必要情况下不要随意禁用。
方法 1:通过 Sysctl 禁用 IPv6 协议(临时或永久)
1、在「终端」中输入以下命令,检查系统是否启用了 IPv6:
ip a
如果 IPv6 已启用,你会看到类似下图的 IPv6 地址信息(网络接口名称可能不同):
示例输出:IPv6 地址
2、使用 sysctl 命令临时禁用 IPv6:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
3、再次检查 IPv6 状态:
ip a
现在,你应该看不到 IPv6 地址了。
示例输出:IPv6 已禁用的
这只是临时禁用 IPv6,系统重启后 IPv6 会再次启用。
4、要永久禁用 IPv6,需要编辑/etc/sysctl.conf
配置文件:
sudo vim /etc/sysctl.conf
5、在文件末尾添加以下内容:
net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1
6、保存后,执行以下命令让配置立即生效:
sudo sysctl -p
编辑并刷新 sysctl.conf 配置
方法 2:通过 GRUB 永久禁用 IPv6 协议
另一种方法是通过配置 GRUB,在启动时传递内核参数来禁用 IPv6:
1、编辑/etc/default/grub
文件:
sudo vim /etc/default/grub
2、修改GRUB_CMDLINE_LINUX_DEFAULT
和GRUB_CMDLINE_LINUX
:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1" GRUB_CMDLINE_LINUX="ipv6.disable=1"
编辑 grub 文件以禁用 IPv6
3、保存文件后,更新 GRUB:
sudo update-grub
更新 grub 配置并重启系统
4、重启 Ubuntu 系统,让配置生效。
方法 3:通过 Network Manager 临时禁用 IPv6 协议
通过 Network Manager,可以基于设备来禁用 IPv6:
1、列出网络连接:
nmcli connection show
2、针对特定网络设备禁用 IPv6,以ens33
为例:
nmcli device modify <DEVICE NAME> ipv6.method "disabled"
通过 nmcli 命令禁用指定设备 IPv6
3、要恢复 IPv6,只需将命令中的disabled
替换为auto
即可。
你可以根据需求,在以上三种方法中灵活选择,以便在 Ubuntu 上轻松禁用 IPv6 协议。