设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
快捷导航
发布信息
搜索
搜索
首页
优惠促销
云服务器
独立服务器
站群服务器
母鸡服务器
服务器托管
全球云服务器
技术文档
联系
每日签到
本版
文章
帖子
用户
主机测评网
»
论坛
›
技术文档
›
其他教程
›
云服务器怎样在 Ubuntu 上禁用 IPv6 ?
返回列表
发新帖
云服务器怎样在 Ubuntu 上禁用 IPv6 ?
[复制链接]
|
主动推送
45
|
0
|
2024-9-11 18:03:58
|
显示全部楼层
|
阅读模式
IPv6和IPv4同属于网络协议,在Linux系统中,IPv6和IPv4同时存在时可能会出现连接超时的情况,这时只需将IPv6禁用即可解决这个问题,本篇文章重点为大家讲解一下Ubuntu 上禁用 IPv6 具体方法。
在 Ubuntu 上禁用 IPv6 [高级用户]
在本节中,我会详述如何在 Ubuntu 上禁用 IPv6 协议,请打开终端(默认快捷键:CTRL+ALT+T),让我们开始吧!
注意:接下来大部分输入终端的命令都需要 root 权限(sudo)。
警告!
如果你是一个普通 Linux 桌面用户,并且偏好稳定的工作系统,请避开本教程,接下来的部分是为那些知道自己在做什么以及为什么要这么做的用户准备的。
1. 使用 sysctl 禁用 IPv6
首先,可以执行以下命令来检查 IPv6 是否已经启用:
ip a
如果启用了,你应该会看到一个 IPv6 地址(网卡的名字可能会与图中有所不同)
IPv6 Address Ubuntu
IPv6 Address Ubuntu在教程《在 Ubuntu 中重启网络》(LCTT 译注:其实这篇文章并没有提到使用 sysctl 的方法……)中,你已经见过 sysctl 命令了,在这里我们也同样会用到它。要禁用 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
检查命令是否生效:
ip a
如果命令生效,你应该会发现 IPv6 的条目消失了:
IPv6 Disabled Ubuntu
然而这种方法只能临时禁用 IPv6,因此在下次系统启动的时候,IPv6 仍然会被启用。
(LCTT 译注:这里的临时禁用是指这次所做的改变直到此次关机之前都有效,因为相关的参数是存储在内存中的,可以改变值,但是在内存断电后就会丢失;这种意义上来讲,下文所述的两种方法都是临时的,只不过改变参数值的时机是在系统启动的早期,并且每次系统启动时都有应用而已。那么如何完成这种意义上的永久改变?答案是在编译内核的时候禁用相关功能,然后要后悔就只能重新编译内核了(悲)。)
一种让选项持续生效的方式是修改文件 /etc/sysctl.conf,在这里我用 vim 来编辑文件,不过你可以使用任何你想使用的编辑器,以及请确保你拥有管理员权限(用 sudo):
Sysctl Configuration
将下面这几行(和之前使用的参数相同)加入到文件中:
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 Configuration
现在需要修改文件中分别以 GRUB_CMDLINE_LINUX_DEFAULT 和 GRUB_CMDLINE_LINUX 开头的两行来在启动时禁用 IPv6:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"
(LCTT 译注:这里是指在上述两行内增加参数 ipv6.disable=1,不同的系统中这两行的默认值可能有所不同。)
保存文件,然后执行命令:
sudo update-grub
(LCTT 译注:该命令用以更新 GRUB 的配置文件,在没有 update-grub 命令的系统中需要使用 sudo grub-mkconfig -o /boot/grub/grub.cfg )
设置会在重启后生效。
*在 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
(LCTT 译注:这里可选的意思可能是如果之前临时启用了 IPv6 就没必要再重新加载配置文件了)
这样应该可以再次看到 IPv6 地址了:
IPv6 Reenabled in Ubuntu
另外,你也可以删除之前创建的文件 /etc/rc.local(可选):
sudo rm /etc/rc.local
如果修改了文件 /etc/default/grub,回去删掉你所增加的参数:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
然后更新 GRUB 配置文件:
sudo update-grub
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
内托体头
161
主题
0
回帖
10
积分
新手上路
新手上路, 积分 10, 距离下一级还需 40 积分
新手上路, 积分 10, 距离下一级还需 40 积分
积分
10
加好友
发消息
回复楼主
返回列表
网络技术教程
软件使用教程
Windows教程
Centos教程
Ubuntu教程
Linux其他教程
综合教程
其他教程
其他文档
服务器商家推荐
华夏互联
蓝速云
米图云
全球云
文章
1
苹果电脑MAC系统登录Windows远程桌面
2
Debian拓展硬盘工具。cloud-utils-growpart、xfsprogs
3
安卓Android手机怎么使用V2rayNG?
4
WINDOWS系统电脑怎么使用WINXRAY?
5
notepad++.8.5.7编辑器,代码编辑器
6
DirectX修复工具增强版_V4.3.0.40864版本DLL修复工具C++安装
7
Visual C++运行库合集包完整版VisualCppRedist_AIO_x86_x64
8
ChromeSetup谷歌浏览器一键安装