如何在 Ubuntu 中禁用 IPv6?

在本文中,我们将学习如何在 Ubuntu 20.04LTS 上禁用 IPv6。

什么是 IPv6?

IPv6 或 Internet 协议版本 6 是一种通信协议,它为连接到 Internet 的计算机提供识别和定位系统。 它是由 Internet 工程任务组 (IETF) 于 1998 年设计的,旨在提供唯一的 IP 地址作为原始 IP 地址方案,即由于 Internet 用户数量的增加,IPv4 的地址已用完。 那么,让我们看看如何禁用 IPv6。

方法 1:使用 Sysctl 禁用 IPv6(临时)

要暂时禁用 IPv6,请执行以下步骤:

首先,通过执行以下命令检查是否启用了 IPv6:

ip a 

如果启用,您将看到一个 IPv6 地址,如上所示。

现在,要禁用 IPv6,请运行以下命令并使用 ip a 命令检查 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 

此方法仅在您重新启动系统之前禁用 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 
ipv6-3

方法 2:使用 sysctl 禁用 IPv6(永久)

通过运行以下命令打开 sysctl.conf 文件(您也可以使用 vim 编辑器):

sudo vi /etc/sysctl.conf 
ipv6-4

现在在文件中添加这些行并保存并退出:

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

运行以下命令以使更改生效:

sudo sysctl -p 
IPv6-6

这将禁用 IPv6,但有时在重新启动后,IPv6 会再次启用。 现在,通过执行以下命令创建文件 /etc/rc.local:

sudo touch /etc/rc.local 
IPv6-7

使用 nano 命令打开文件:

sudo nano /etc/rc.local 
IPv6-8

添加以下行并按 Ctrl+X 保存。

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

现在通过运行 chmod 命令使文件可执行:

sudo chmod 755 /etc/rc.local 
ipv6-10

就是这样,IPv6 将被永久禁用,直到您手动启用它。 使用 ip a 命令检查,

IPv6-11

如果您需要重新启用 IPv6,请通过执行以下命令删除 /etc/rc.local 文件:

sudo rm /etc/rc.local 
IPv6-12

重新启动后将再次启用 IPv6。

方法 3:使用 GRUB 禁用 IPv6

GRUB 是所有 Linux 发行版的默认引导加载程序。 要使用此方法禁用 IPv6,您需要编辑 /etc/default/grub 文件。 使用 nano 打开文件:

sudo nano /etc/default/grub 
IPv6-13

现在替换以下行:

GRUB_CMDLINE_LINUX="" 
IPv6-14

GRUB_CMDLINE_LINUX="ipv6.disable=1" 
IPv6-15

Save 文件并退出。 现在,运行以下命令来更新 GRUB 启动菜单并重新启动。

sudo update-grub 
IPv6-16

IPv6 将被永久禁用。

结论

因此,我们讨论了如何使用 systemctl 禁用 Ipv6。 您可以暂时或永久禁用 IPv6。 修改 Grub 文件是永久禁用 IPv6 的最简单方法。