如何在Ubuntu,Linux Mint,Debian上禁用IPv6

简介:

如何在Ubuntu,Linux Mint,Debian上禁用IPv6

【编者注】都说IPv4地址枯竭了,要推广IPv6,但是迟迟不见动静,既然如此,在它完全就绪前,就不要让它来打扰我们的系统好了。

IPv6

IPv6是寻址方案IPv4的下一个版本,被用来给域名分配数字地址。

IPv6比IPv4支持更多的地址。然而,它还没有被广泛支持,还在被接受的过程中。

你的系统支持IPv6么?

为了支持IPv6,需要很多事情。首先你需要系统/操作系统支持IPv6。Ubuntu,Linux Mint,和大多是现代发行版都支持它。如果你看一下ifconfig指令的输出,你就会看见你的网络接口被分配了IPv6地址。

  
  
  1. $ ifconfig
  2. eth0 Link encap:Ethernet HWaddr 00:1c:c0:f8:79:ee
  3. inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
  4. inet6 addr: fe80::21c:c0ff:fef8:79ee/64 Scope:Link
  5. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  6. RX packets:110880 errors:0 dropped:0 overruns:0 frame:0
  7. TX packets:111960 errors:0 dropped:0 overruns:0 carrier:0
  8. collisions:0 txqueuelen:1000
  9. RX bytes:62289395 (62.2 MB) TX bytes:25169458 (25.1 MB)
  10. Interrupt:20 Memory:e3200000-e3220000
  11.  
  12. lo Link encap:Local Loopback
  13. inet addr:127.0.0.1 Mask:255.0.0.0
  14. inet6 addr: ::1/128 Scope:Host
  15. UP LOOPBACK RUNNING MTU:65536 Metric:1
  16. RX packets:45258 errors:0 dropped:0 overruns:0 frame:0
  17. TX packets:45258 errors:0 dropped:0 overruns:0 carrier:0
  18. collisions:0 txqueuelen:0
  19. RX bytes:4900560 (4.9 MB) TX bytes:4900560 (4.9 MB)

看一下行“inet6 addr”。

接下来你需要一个支持ipv6的路由器/调制解调器。此外,你的ISP也必须支持IPv6。

除了检查网络设备的每一部分,最好查出你是否可以通过IPv6访问网站。

有很多网站可以检测你的网络连接是否支持IPv6. 这里就是个例子:http://testmyipv6.com/

下面是在内核中启用IPv6的参数:

  
  
  1. $ sysctl net.ipv6.conf.all.disable_ipv6
  2. net.ipv6.conf.all.disable_ipv6 = 0
  3.  
  4. $ sysctl net.ipv6.conf.default.disable_ipv6
  5. net.ipv6.conf.default.disable_ipv6 = 0
  6.  
  7. $ sysctl net.ipv6.conf.lo.disable_ipv6
  8. net.ipv6.conf.lo.disable_ipv6 = 0

同样可以在proc文件中检查

  
  
  1. $ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
  2. 0

注意这里的变量是控制IPv6的“禁用”。所以设置1就会禁用IPv6。

如果它不支持就禁用IPv6

如果你的网络设备中不支持IPv6,那最好就全部禁用它们。为什么?因为这会引起域名查询延迟,在网络连接中不必要地尝试连接到IPv6地址导致延迟等等问题。

我也遇到过像这样的问题,apt-get命令偶尔会尝试连接到IPv6地址失败接着检索IPv4地址。看一下下面的输出。

  
  
  1. $ sudo apt-get update
  2. Ign http://archive.canonical.com trusty InRelease
  3. Ign http://archive.canonical.com raring InRelease
  4. Err http://archive.canonical.com trusty Release.gpg
  5. Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
  6. Err http://archive.canonical.com raring Release.gpg
  7. Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
  8.  
  9. .....

像这样的错误在最近的Ubuntu中更频繁了,或许它比以前更频繁地尝试使用IPv6地址。

我在其他的应用上也注意到了相似的问题,如Hexchat,同样Google Chrome也会有时会在查询域名的时候花费更长的时间。

所以最好的方案是完全禁用IPv6来摆脱这些事情。这只需要一点点配置但可以帮助你解决很多你系统上的很多问题。用户甚至反应这可以加速网络。

禁用 IPv6 - 方案1

编辑文件 - /etc/sysctl.conf

  
  
  1. $ sudo gedit /etc/sysctl.conf

在文件的最后加入下面的行。

  
  
  1. # IPv6 disabled
  2. net.ipv6.conf.all.disable_ipv6 = 1
  3. net.ipv6.conf.default.disable_ipv6 = 1
  4. net.ipv6.conf.lo.disable_ipv6 = 1

保存并关闭

重启sysctl

  
  
  1. $ sudo sysctl -p

再次检查ifconfig的输出,这里应该没有IPv6地址了。

  
  
  1. $ ifconfig
  2. eth0 Link encap:Ethernet HWaddr 08:00:27:5f:28:8b
  3. inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
  4. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  5. RX packets:1346 errors:0 dropped:0 overruns:0 frame:0
  6. TX packets:965 errors:0 dropped:0 overruns:0 carrier:0
  7. collisions:0 txqueuelen:1000
  8. RX bytes:1501691 (1.5 MB) TX bytes:104883 (104.8 KB)

如果不行,尝试重启系统并再次检查ifconfig

禁用 IPv6 - GRUB 方案

IPv6同样可以通过编辑grub配置文件禁用。

  
  
  1. $ sudo gedit /etc/default/grub

查找包含"GRUBCMDLINELINUX"的行,并如下编辑:

  
  
  1. GRUB_CMDLINE_LINUX="ipv6.disable=1"

同样可以加入名为"GRUBCMDLINELINUX_DEFAULT"的变量,这同样有用。保存并关闭文件,重新生成grub配置。

  
  
  1. $ sudo update-grub2

重启,现在IPv6应该就已经禁用了。

原文发布时间:2014-07-12

本文来自云栖合作伙伴“linux中国”

相关文章
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
75 17
Linux错误排查:解决Ubuntu 20.4执行sudo apt-get update时出现的libnettle.so.6错误。
很有可能在你得到解决方案时,你也学到了不少Linux修复技巧。祝你处理计算机问题时顺利如麻!永远记得,各种问题总是像老鼠一样从意想不到的地方冒出来。但记住,不管它们跑到哪里,最终都逃不过你的捕鼠器。盖起你的计算机,拾起你的代码,大步向前!
89 28
Linux错误排查:解决Ubuntu 20.4执行sudo apt-get update时出现的libnettle.so.6错误。
很有可能在你得到解决方案时,你也学到了不少Linux修复技巧。祝你处理计算机问题时顺利如麻!永远记得,各种问题总是像老鼠一样从意想不到的地方冒出来。但记住,不管它们跑到哪里,最终都逃不过你的捕鼠器。盖起你的计算机,拾起你的代码,大步向前!
73 18
在Ubuntu下安装Debian包:dpkg与apt命令的深度解构。
安装Debian包的知识,就像掌握了海上的航行技术,虽然起初会让人感到陌生甚至困惑,但只要你积累熟练,就能在Ubuntu的世界里畅游无阻。就像每一位成功的航海家,掌握好这些工具,去探索属于你的Ubuntu新世界吧!
93 21
|
28天前
|
Ubuntu中dpkg和apt命令:debian包安装详解
希望这让你对于Ubuntu中的dpkg和apt命令有了更为清晰的理解。下次你面对软件包安装的问题,就可以轻松应对,优雅地在你的Linux系统中游刃有余了。
181 10
Debian GNU/Linux
Debian是Linux发行版之一,其起源可以追溯到1993年,由Ian Murdock创立。Debian的名字来源于其创始人Ian Murdock的女友的名字Deb和Linux的创始人Linus Torvalds的名字的组合,即“Deb”+“ian”。Debian的目标是创建一个自由、开放、安全、稳定的操作系统,为用户提供丰富的软件资源和良好的使用体验。 特点
62 8
Debian GNU/Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
284 25
|
3月前
|
Ubuntu Linux
背景 Ubuntu起源于南非,其名称“Ubuntu”来源于非洲南部祖鲁语或豪萨语,意为“人性”、“我的存在是因为大家的存在”,这体现了非洲传统的一种价值观。Ubuntu由南非计算机科学家马克·沙特尔沃斯(Mark Shuttleworth)创办,他创立了Canonical公司来推动Ubuntu的发展。Ubuntu的第一个版本于2004年发布,至今已经走过了近20个年头,成为了Linux发行版中的佼佼者。
63 4
Ubuntu Linux
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
232 15
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
344 13
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等