文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么在Ubuntu Linux上禁用IPv6

2023-06-28 16:49

关注

本文小编为大家详细介绍“怎么在Ubuntu Linux上禁用IPv6”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么在Ubuntu Linux上禁用IPv6”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

由于IPv4存在网络地址资源不足,严重制约了互联网的应用和发展所以出现了互联网协议第6版也就是IPv6不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。据观察,在某些情况下,禁用 IPv6 有助于提高 Ubuntu 的 WiFi 速度。

在 Ubuntu 上禁用 IPv6 [高级用户]

注意:接下来大部分输入终端的命令都需要 root 权限(sudo)。

警告!

如果你是一个普通 Linux 桌面用户,并且偏好稳定的工作系统,请避开本教程,接下来的部分是为那些知道自己在做什么以及为什么要这么做的用户准备的。

1、使用 sysctl 禁用 IPv6

首先,可以执行以下命令来检查 IPv6 是否已经启用:

  1. ip a

如果启用了,你应该会看到一个 IPv6 地址(网卡的名字可能会与图中有所不同)

怎么在Ubuntu Linux上禁用IPv6

禁用 IPv6,只需要输入三条命令:

  1. sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1

  2. sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

  3. sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1

检查命令是否生效:

  1. ip a

如果命令生效,你应该会发现 IPv6 的条目消失了:

怎么在Ubuntu Linux上禁用IPv6

然而这种方法只能临时禁用 IPv6,因此在下次系统启动的时候,IPv6 仍然会被启用。

(LCTT 译注:这里的临时禁用是指这次所做的改变直到此次关机之前都有效,因为相关的参数是存储在内存中的,可以改变值,但是在内存断电后就会丢失;这种意义上来讲,下文所述的两种方法都是临时的,只不过改变参数值的时机是在系统启动的早期,并且每次系统启动时都有应用而已。那么如何完成这种意义上的永久改变?答案是在编译内核的时候禁用相关功能,然后要后悔就只能重新编译内核了(悲)。)

一种让选项持续生效的方式是修改文件 /etc/sysctl.conf,在这里我用 vim 来编辑文件,不过你可以使用任何你想使用的编辑器,以及请确保你拥有管理员权限(用 sudo):

怎么在Ubuntu Linux上禁用IPv6

将下面这几行(和之前使用的参数相同)加入到文件中:

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

  2. net.ipv6.conf.default.disable_ipv6=1

  3. net.ipv6.conf.lo.disable_ipv6=1

执行以下命令应用设置:

  1. sudo sysctl -p

如果在重启之后 IPv6 仍然被启用了,而你还想继续这种方法的话,那么你必须(使用 root 权限)创建文件 /etc/rc.local 并加入以下内容:

  1. #!/bin/bash

  2. # /etc/rc.local

  3. /etc/sysctl.d

  4. /etc/init.d/procps restart

  5. exit 0

接着使用 chmod 命令 来更改文件权限,使其可执行:

  1. sudo chmod 755 /etc/rc.local

这会让系统(在启动的时候)从之前编辑过的 sysctl 配置文件中读取内核参数。

2、使用 GRUB 禁用 IPv6

另外一种方法是配置 GRUB,它会在系统启动时向内核传递参数。这样做需要编辑文件 /etc/default/grub(请确保拥有管理员权限)。

怎么在Ubuntu Linux上禁用IPv6

现在需要修改文件中分别以 GRUB_CMDLINE_LINUX_DEFAULT 和 GRUB_CMDLINE_LINUX 开头的两行来在启动时禁用 IPv6:

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

  2. GRUB_CMDLINE_LINUX="ipv6.disable=1"

(LCTT 译注:这里是指在上述两行内增加参数 ipv6.disable=1,不同的系统中这两行的默认值可能有所不同。)

保存文件,然后执行命令:

  1. sudo update-grub

(LCTT 译注:该命令用以更新 GRUB 的配置文件,在没有 update-grub 命令的系统中需要使用 sudo grub-mkconfig -o /boot/grub/grub.cfg )

设置会在重启后生效。

在 Ubuntu 上重新启用 IPv6

要想重新启用 IPv6,你需要撤销之前的所有修改。不过只是想临时启用 IPv6 的话,可以执行以下命令:

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

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

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

否则想要持续启用的话,看看是否修改过 /etc/sysctl.conf,可以删除掉之前增加的部分,也可以将它们改为以下值(两种方法等效):

  1. net.ipv6.conf.all.disable_ipv6=0

  2. net.ipv6.conf.default.disable_ipv6=0

  3. net.ipv6.conf.lo.disable_ipv6=0

然后应用设置(可选):

  1. sudo sysctl -p

(LCTT 译注:这里可选的意思可能是如果之前临时启用了 IPv6 就没必要再重新加载配置文件了)

这样应该可以再次看到 IPv6 地址了:

怎么在Ubuntu Linux上禁用IPv6

另外,你也可以删除之前创建的文件 /etc/rc.local(可选):

sudo rm /etc/rc.local

如果修改了文件 /etc/default/grub,回去删掉你所增加的参数:

  1. GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

  2. GRUB_CMDLINE_LINUX=""

然后更新 GRUB 配置文件:

sudo update-grub

读到这里,这篇“怎么在Ubuntu Linux上禁用IPv6”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯