如何在Ubuntu Linux上禁用IPv6

时间:2020-01-09 10:44:45  来源:igfitidea点击:

如何启用或者重新启用IPv6.

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

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

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

在Ubuntu上禁用IPv6

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

注意:对于要在终端中输入的大多数命令,我们将需要root特权(sudo)。

1.使用Sysctl禁用IPv6

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

ip a

我们应该看到一个IPv6地址(如果已启用)(网卡名称可能不同):

IPv6地址Ubuntu

我们已在有关在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已禁用Ubuntu

但是,这只会暂时禁用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

另一种方法是将GRUB配置为在引导时传递内核参数。我们必须编辑/ etc / default / grub。再次确保我们具有管理员权限:

GRUB配置

现在,我们需要修改GRUB_CMDLINE_LINUX_DEFAULT和GRUB_CMDLINE_LINUX以在引导时禁用IPv6:

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

保存文件并运行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地址:

在Ubuntu中重新启用IPv6

(可选)我们可以删除/etc/rc.local:

sudo rm /etc/rc.local

如果我们在/ etc / default / grub中修改了内核参数,请继续并删除添加的选项:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

现在执行:

sudo update-grub