如何在 Ubuntu Linux 上禁用 IPv6

您是否正在寻找一种方法 禁用 IPv6 你的 Ubuntu 机器上的连接? 在本文中,我将确切地教你如何做以及为什么你会考虑这个选项。 我还将向您展示如何 启用或重新启用 IPv6 以防你改变主意。

什么是 IPv6,为什么要在 Ubuntu 上禁用 IPv6?

互联网协议版本 6 (IPv6) 是 Internet 协议 (IP) 的最新版本,该协议为网络上的计算机提供识别和定位系统,并通过 Internet 路由流量。 它于 1998 年开发,以取代 IPv4 协议。

IPv6 旨在提高安全性和性能,同时确保我们不会用完地址。 它为每个设备全局分配唯一地址,将它们存储在 128 位,而 IPv4 仅使用 32 位。

尽管目标是让 IPv4 被 IPv6 取代,但仍有很长的路要走。 少于 30% 互联网上的站点向用户提供 IPv6 连接(由 Google 跟踪 这里)。 IPv6 也会导致 某些应用程序有时出现问题.

自从 VPN 提供全球服务,事实上 IPv6 使用全球路由地址(唯一分配)并且(仍然)有 ISP 不提供 IPv6 支持,这使得该功能降低了他们的优先级列表。 这样,他们可以专注于对 VPN 用户最重要的事情:安全性。

您可能希望在系统上禁用 IPv6 的另一个可能原因是不想让自己面临各种威胁。 尽管 IPv6 本身比 IPv4 更安全,但我所指的风险是另一种性质的。 如果您没有积极使用 IPv6 及其功能, 启用 IPv6 会使您容易受到各种攻击,为黑客提供另一种可能的可利用工具。

同样,仅配置基本网络规则是不够的。 您必须像调整 IPv4 一样注意调整 IPv6 配置。 这可能被证明是一件很麻烦的事情(也很难维护)。 IPv6 带来了一系列与 IPv4 不同的问题(鉴于该协议的时代,其中许多问题可以在线参考),使您的系统更加复杂。

还观察到在某些情况下禁用 IPv6 有助于提高 Ubuntu 中的 WiFi 速度。

在 Ubuntu 上禁用 IPv6 [For Advanced Users Only]

在本节中,我将介绍如何在 Ubuntu 机器上禁用 IPv6 协议。 打开终端(默认: CTRL + ALT + T),让我们开始吧!

笔记: 对于您要在终端中输入的大多数命令,您将需要 root 权限(sudo)。

警告!

如果您是普通的桌面 Linux 用户并且喜欢稳定的工作系统,请避免使用本教程。 这适用于知道自己在做什么以及为什么这样做的高级用户。

1. 使用 Sysctl 禁用 IPv6

首先,您需要确保在您的系统上启用了 IPv6。 使用以下命令检查您在 Ubuntu 中的 IP 地址:

ip a

如果启用,您应该会看到 IPv6 地址(您的网卡名称可能不同):

您已经在关于在 Ubuntu 中重新启动网络的教程中看到了 sysctl 命令。 我们也将在这里使用它。 到 禁用 IPv6 您只需输入 3 个命令:

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

您可以使用以下方法检查它是否有效:

ip a

您应该看不到 IPv6 条目:

然而,这只 暂时禁用 IPv6. 下次系统启动时,IPv6 将再次启用。

使此选项持续存在的一种方法是修改 /etc/sysctl.conf. 我将使用 vim 来编辑文件,但你可以使用任何你喜欢的编辑器。 确保你有 管理员权限 (利用 sudo):

将以下行添加到文件中:

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

要使设置生效,请使用:

sudo sysctl -p

如果重启后 IPv6 仍处于启用状态,您必须(使用 root 权限)创建文件 /etc/rc.local 并填写:

#!/bin/bash # /etc/rc.local  /etc/sysctl.d /etc/init.d/procps restart  exit 0

现在使用 chmod 命令 使文件可执行:

sudo chmod 755 /etc/rc.local

这将做的是从您的 sysctl 配置文件中手动读取(在引导期间)内核参数。

2. 使用 GRUB 禁用 IPv6

另一种方法是配置 格鲁布 在引导时传递内核参数。 你必须编辑 /etc/default/grub. 再次确保您具有管理员权限:

GRUB 配置

现在你需要修改 GRUB_CMDLINE_LINUX_DEFAULTGRUB_CMDLINE_LINUX 在启动时禁用 IPv6:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1" GRUB_CMDLINE_LINUX="ipv6.disable=1"

Save 文件并运行 update-grub 命令:

sudo update-grub

这些设置现在应该在重新启动时保持不变。

在 Ubuntu 上重新启用 IPv6

要重新启用 IPv6,您必须撤消所做的更改。 要在重新启动之前启用 IPv6,请输入:

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0 sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0

否则,如果您修改 /etc/sysctl.conf 您可以删除添加的行或将它们更改为:

net.ipv6.conf.all.disable_ipv6=0 net.ipv6.conf.default.disable_ipv6=0 net.ipv6.conf.lo.disable_ipv6=0

您可以选择重新加载这些值:

sudo sysctl -p

您应该再次看到 IPv6 地址:

或者,您可以删除 /etc/rc.local

sudo rm /etc/rc.local

如果你修改了内核参数 /etc/default/grub,继续删除添加的选项:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""

现在做:

sudo update-grub

包起来

在本指南中,我为您提供了可以 禁用 IPv6 在 Linux 上,以及让您了解 IPv6 是什么以及为什么要禁用它。

你觉得这篇文章有用吗? 您是否禁用 IPv6 连接? 在评论部分让我们知道!