为什么vps提供ipv6地址我却要禁用?因为vps自身提供的ipv4地址是属于美国原生地址,支持美区大部份媒体解锁,但ipv6却不支持相应解锁,Netflix只能看自制剧。就算在操作系统上降低ipv6的优先使用率,但是在线多媒体服务产还是会优先使用ipv6进行访问,所以干脆禁用vps的ipv6地址算了,于是就有了本文的记录:Ubuntu 禁用IPv6的方法。
禁用ipv6后,在netflix可以看第三方制造视频,第三方制作的影片无Netflix图标,爽,如下图所示:
Ubuntu 禁止加载 IPv6 模块
1、检查是否启用了 IPv6
如果启用了 IPv6,会看到以下类似 inet6 xxx 内容,如下所示:
[root@Ubuntu:~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 56:00:02:8f:cf:64 brd ff:ff:ff:ff:ff:ff
inet 45.63.*.*/23 brd 45.63.11.255 scope global dynamic ens3
valid_lft 86270sec preferred_lft 86270sec
inet6 fe80::5400:2ff:**8f:**64/64 scope link
valid_lft forever preferred_lft forever
2、修改 vi /etc/sysctl.conf
文件
在最后添加以下内容
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
按esc键后输入:wq保存退出。
3、执行 sysctl -p 使设置生效,会显示以下类似内容:
[root@Ubuntu:modprobe.d]# sysctl -p
net.ipv6.conf.all.accept_ra = 2
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
以上2-3步骤也可以用以下代码替代,意思是一样的:
echo " ">>/etc/sysctl.conf
echo "# made for disabled IPv6 in $(date +%F)">>/etc/sysctl.conf
echo 'net.ipv6.conf.all.disable_ipv6 = 1'>>/etc/sysctl.conf
echo 'net.ipv6.conf.default.disable_ipv6 = 1'>>/etc/sysctl.conf
echo 'net.ipv6.conf.lo.disable_ipv6 = 1'>>/etc/sysctl.conf
tail -5 /etc/sysctl.conf
sysctl -p
netstat -anptl
4、创建 /etc/rc.local 文件
上一步已经禁用了 IPv6,但是重启后会复原。要想重启后也禁用,则必须做这一步。
[root@Ubuntu:~]# vim /etc/rc.local
填入内容:
#!/bin/bash
# /etc/rc.local
/etc/sysctl.d
/etc/init.d/procps restart
exit 0
按esc键后输入:wq保存退出。
6、授权文件可执行:
[root@Ubuntu:~]# chmod 755 /etc/rc.local
7、验证是否生效
重启后执行 ip a
验证,类似以下后馈,无ipv6代表成功。
[root@Ubuntu:~]# reboot
...
[root@Ubuntu:~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 56:00:02:8f:cf:64 brd ff:ff:ff:ff:ff:ff
inet 45.63.*.*/23 brd 45.63.*.* scope global dynamic ens3
valid_lft 86332sec preferred_lft 86332sec
文章结束,不知是不是错觉,禁止IPV6之后访速国外速度有所提升。文章底部这个DMIT推广,是少有提供原生ipv4的vps供应商,速度超好,缺点就是贵,该懂的都懂了吧。
为什么又要优先使用IPv6呢?因为国外很多网站都已支持IPv6,如果用IPv6地址进行访问会快不少。
在 /etc/gai.conf 中取消这一行配置的注释就是IPv4优先,否则是IPv6优先(默认带#)。重点:取消#注释为IPv4优先。
取消掉这个注释:
sed -i "s/#\?precedence ::ffff:0:0\/96 100/precedence ::ffff:0:0\/96 100/" /etc/gai.conf
推荐下面这种(最推荐的是手动改)
直接加一行到最后
echo "precedence ::ffff:0:0/96 100" >> /etc/gai.conf
删掉(恢复系统默认)
sed -i "/^precedence ::ffff:0:0\/96 100/d" /etc/gai.conf
改变是即时生效的
判断,看看是IPv4还是IPv6就知道了,返回是IPv6地址就是IPv6优先了(任意一个双栈的都可以)。
curl ip.sb
curl ip.gs
这样的用法确实有点小众……
用代理看Netflix……这需要不限流量的那种吧?
500G的流量足够你看的了,更何况这家vps提供的是1TB/月的流量。
是文章底部那一家吗?我点进去看了,界面山寨vultr哈哈
他家的1TB似乎是双向流量,所以实际上通常意义上的流量其实还是500G