我找不到任何答案,所以如果这里有人可以给我指明正确的方向......
为清晰起见进行了编辑
具有低延迟内核的 Ubuntu 18.04。
我有时会遇到糟糕的下载速度,尤其是 Steam,其他流媒体网站也是如此。我发现,如果我手动禁用 ipv6,我的 ISP 连接上的下载/上传速度会达到宣传的水平。如果不禁用,速度会在短时间内变得非常慢(例如 2 Kbps)。当我使用 vpn 服务时,一切都运行得很快,因为它会禁用 ipv6 堆栈,然后在关闭 vpn 连接时重新启用它。
但是,我厌倦了不使用 vpn 时必须手动禁用,因此我通过 grub 永久禁用了 ipv6。这完全禁用了我的 vpn 服务。甚至他们的支持人员也无法提供帮助。所以我把一切都改回了原样。
从那时起,我就禁用了路由器中的 ipv6,这有助于在网络堆栈处于默认状态(启用 ipv6)时提高整体速度。禁用路由器和 Ubuntu ipv6 后,我的上传和下载速度提高了几 Mbps。
总结一下 - 默认情况下启用 ipv6 会减慢我的 Internet 连接速度,但禁用它并只运行 ipv4 会使一切变得更快。在路由器和操作系统中禁用 ipv6 会使事情变得 Speedy Gonzales。通过 grub 永久禁用 ipv6 会终止 vpn 访问。
有没有办法永久禁用 ipv6,这样它就不会破坏我的 vpn?或者有某种类型的桌面脚本可以通过单击手动禁用它?
提前致谢!
如何手动禁用 ipv6(使用 ip a 检查):
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
我如何永久禁用 ipv6:
FROM:
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
TO:
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"
答案1
关于您的问题,这里有很多内容需要解开,但由于您只要求一种ipv6
不中断 VPN 服务的永久禁用方法,只需/etc/sysctl.conf
在末尾添加以下几行即可:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
由于您的手动命令确实有效,因此这应该有效。
答案2
我找到了一个完美无缺的解决方案。即使重启也能正常工作。而且它是自动的。
使用 ifconfig 命令确定您的网络接口。
然后在文件夹 /etc/network/if-up.d 中创建一个脚本。其想法是当在 VPN 之外连接时,它应该禁用 ipv6。
例如:
#!/bin/sh
if [ "$IFACE" = "eno1" ]; then
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1
fi