vultr的2.5刀服务器以前可是最便宜的一款而且还有IPV4,我在2018年5月和6月购买的时候还有这两款服务器。但是自从2018年7月开始vultr就全面取消了带IPV4的2.5刀服务器,后来虽然又推出了3.5刀的,但是慢慢的容量缩水并且只有新泽西机房还提供这款也就都不卖了。现在最低就得5刀起步了,3.5刀的和2.5刀的都很少了。而且2.5刀的服务器只有IPV6地址,不提供已经面临枯竭的IPV4地址,而且只有亚特兰大和新泽西还卖这两款,剩下的机房全都是5刀起步。

 

那么这个2.5刀的只有IPV6的服务器究竟有什么作用呢?目前唯一的作用就是建一个简单的站点或者是挂探针。之前有很多不明白vultr配置的用户错误的购买到了亚特兰大或者新泽西机房的IPV6服务器而造成无法使用的尴尬,好在vultr可以随时删除服务器,不然损失就有点大了。那么为什么很多用户买到后都会没法使用,为什么所有老用户都不推荐给其他新用户这款实例,而是只推荐3.5刀和5刀的那些实例呢?

 

这是因为目前国内甚至全球都是处在IPV4网络所致

 

IPV6是下一代IP地址,为了解决已经濒临饱和的IPV4地址而生的。IPV4地址最多也就那么不到43亿,去掉那些不能使用的,总共就那么36亿。IPV6则有着几乎无限大的数量,但是由于IPV4和IPV6这两种地址网络互不连通,加上目前的主流仍是IPV4,且NAT技术的出现使得了内网共享IP众多无需过多的公网IP地址能基本满足用户的访问,因此造成了IPV6普及非常低。

 

由于目前全球仍然在依赖于IPV4的网络环境因此IPV6没能大面积普及,只有教育网等一些科研类的网络在使用IPV6。由于国家下一代IP网络建设战略的指示的发布,三大运营商都已开始为用户提供IPV6的网络。但是奈何IPV6的光纤光猫入户了,这老的路由器还是只能支持IPV4,也就没法用IPV6。要用户换成IPV6的路由器又得过去很长时间,因此短时间内大部分国内的宽带网络仍以IPV4为主。本文只是简单介绍一下将来用IPV6了该怎么用这些服务器,教育网有IPV6的可以直连这些服务器,所有能在IPV4干的事情IPV6上也能继续干。对于目前大部分仍在IPV4网络的我们来说,要想使用只有IPV6地址的服务器就有点麻烦了。首先要解决网络的互联互通问题,你使用IPV4那么就不能访问IPV6的网站,同样的你用的是IPV6的网络也就只能看IPV6的网站,IPV4的网站是连不上的。互不连通打破壁垒才是必须要解决的,否则IPV6根本就没法进行。

 

今天我们来为大家介绍一下vultr只有IPV6的服务器如何使用,以及在IPV4网络环境下如何访问到你这台IPV6服务器上所运行的网站

 

首先你要有一台IPV6的服务器,可以是只有IPV6的也可以是IPV4和IPV6都有的服务器

 

下面我们首先购买一台vultr只有IPV6的服务器

 

登录vultr后点击 + 再点击 Deploy New Server 创建实例

 

 

选择第一个 cloud compute

 

 

接下来选择机房,图上圈出来的就是能提供2.5刀纯IPV6地址的机房。需要注意新泽西同时也提供有IPV4的3.5刀服务器,亚特兰大则只提供IPV6的2.5刀服务器

 

 

选择系统,根据自己的喜好选择服务器的操作系统

 

 

这里我们选择带有IPV6 ONLY的服务器

 

 

我们看到下面会有提示,这款实例不带公网IPV4地址

 

 

直接点击 deploy now 等待实例开通

 

 

 

我们看到了你得到的是一个只有IPV6地址的实例,等待一段时间后就可以使用了,操作跟其他IPV4服务器完全一样

 

打开设置我们来看一下实例的有关配置

 

 

首先是IPV4,由于没有了公网IPV4地址,因此vultr默认使用的是内网地址,一般以100.64.0.0-100.127.255.255这段的内网IP地址代替

 

如果需要IPV4地址只需点一下下面的 Add Another IPV4 Address 加钱加一个公网IPV4,不过这样就毫无意义了,加一个IPV4就得2刀,4.5刀跟5刀的还有啥区别

 

 

IPV6这里显示你的IP地址和网关与DNS等一系列的有关信息

 

 

想要改配置的就点 change plan 更改一下配置,里面有3.5刀的可以加IPV4的配置,不过目前只有新泽西的能这么做,亚特兰大的应该会显示无货

 

升配置一定得点这个 Add IPV4 Address 添加一个IPV4

 

 

如果是在IPV6网络环境下可以直接执行一些操作来连接管理VPS,现在我们大部分都是IPV4环境下正常的去使用那些连接软件连接SSH和连接SFTP都已连不上了,怎么办呢?用vultr自带的VNC连接服务器。

 

需要注意IPV4环境下连接这类服务器不能使用SSH连接控制和SFTP传输文件,只能通过VNC代替SSH控制服务器(SFTP上传下载就不能用了)

 

下面我们打开VNC,将root和密码用键盘敲上(VNC不能使用鼠标右键粘贴)

 

 

登录VPS后就可以进行配置了,接下来我们开始安装一些程序。通过实验我们发现,一些一键脚本比如科学上网和BBR都会出现无法安装的情况(宝塔这类环境搭建的一般都是支持的),请看图

 

 

图上是我们使用wget命令下载一些科学上网和BBR的一键脚本,最后执行完命令后就会出现网络错误脚本无法下载。那么如果我们将这些脚本上传到套了CF的CDN的网盘服务器之后再让这台VPS自己去下载倒是可以下载了,不过在执行下面的脚本命令后仍然是安装失败。

 

这是因为这些存放脚本的地方或者脚本要连接的有关程序都是只能在IPV4网络内下载所致

 

换句话说就是IPV6的连不到只有IPV4才能下载的网络所以下不下来也就执行不了安装,至于为什么连接到套了CF的CDN的网盘就可以下载下来那是因为CF的CDN连接是双栈的,也就是IPV4能连IPV6也能连,所以就能下载下来。因此这跟服务器本身没有关系,关键是在网络。凡是支持能用IPV6下载安装的程序都能下载和安装,反之就是不支持的IPV6的只有IPV4地址的就不能下载安装。

 

终于知道为什么很多人都说这没法用了,并不只是你自己不支持。是现在很多网站(尤其是github)仍是IPV4 ONLY,根本没有IPV6因此无法为IPV6服务器提供服务。

 

已知军哥LNMP就能用IPV6下载,我们下载安装了一下果然可以,而且vultr的SSD硬盘真不是盖的,15分钟就安装完毕,别家至少得30分钟。

 

 

现在其实通过公网IPV6地址访问是完全可以看到LNMP的默认页面,只要你是处在IPV6网域内就能访问。打开 http://[IPV6地址] 就可以访问了。但是因为我们是IPV4网络环境,所以我们如果贸然输入IPV6访问的话那肯定是无法访问的。那么怎么才能让IPV4能访问到这个IPV6的默认页面呢?接下来我们就开始利用CF进行域名解析,套上CDN让IPV4和IPV6双栈都能访问到我们的服务器。

 

前提是需要有一个域名,接下来到CF里面给这个域名添加一个“炸弹”记录(AAAA解析)解析到这台VPS的IPV6公网地址

 

 

一定要选择4A记录,IPV6地址的规则是可以省零,也就是出现了开头是0的可以去掉,四个都是0的可以去掉整节,但是只能去掉一次,第二次则必须完全显示。因此不仅可以填写32位的十六进制数字与字母(0123456789和abcdef)分八段每段四个用七个冒号隔开的完整地址,如果有0的是可以直接去掉的,也就是可以填写化简之后的最终IPV6地址。比如 2001:19f0:0000:0000:0000:0000:0000:0001 最后简化了就是 2001:19f0::1

 

就拿我拿到的这个IP地址来说吧中间有个02ff是可以去掉开头0的(后面的有0则不能去掉,比如5400去掉后就变成54就是0054那就乱了),这一节可以写成2ff。当然无论是写完整的02ff还是2ff都是一样的,最终指向的都是同一个IPV6地址。

 

需要注意的就是CDN必须打开,要开启CDN,否则IPV4将无法访问这台VPS

 

原理解释:由于套上了CDN,因此IPV4访问时中间就多了一个CF,CF两种IP地址都能访问,等于是给VPS套了一个IPV4地址。IPV4用户可以直接访问CF提供的那个IPV4地址就能连接到这台IPV6的VPS,一样CF也会用IPV6去访问IPV6的服务器,达到了中转的目的。

 

解析好了之后,接下来我们打开域名,注意是域名

 

却出现的是521或者523的CF错误提示,也就是服务器不可用/找不到服务器,这又是怎么回事呢?

 

这是你服务器的nginx没有开放IPV6访问所致

 

接下来我们只需对 nginx.conf 配置文件进行修改即可

 

打开 /usr/local/nginx/conf/nginx.conf

 

由于我们没法打开SFTP,因此我们只能通过VNC使用SSH的VI编辑器进行修改

 

输入 vi /usr/local/nginx/conf/nginx.conf

 

nginx服务器的找到下图这个位置

 

 

有这么一句 #listen [::]:80 default_server ipv6only=on;

 

就是这句话,我们看到前面有个注释符号#,因此我们只需删除这个#就能开放nginx对IPV6公网地址的监听

 

原理解释:

 

listen 80 default server;

 

这是IPV4地址的端口监听,毫无疑问这是IPV4的公网访问,如果服务器有IPV4那么公网IP就能访问到默认页面,但是这不是IPV4的服务器。如果前面加上#变成了#listen 80 default server; 那就等于关闭了80端口也就是http端口的访问,那么你怎么输入浏览器的公网IP就是打不开默认页。

 

listen [::]:80 default_server ipv6only=on;

 

这句话又是什么意思呢,我们看到[::]:80,这是一个非常明显的IPV6地址的特征。IPV6地址在浏览器中如果直接输入是不能直接输入IPV6地址的,必须要加上[]。为什么呢?大家别忘了另外一个也用冒号的号码,那就是端口号。我们知道除了80和443端口在浏览器中不显示之外,其他端口都是会显示的。在IPV4中IP地址还是用点来区分的数字所以加冒号还是可以区分的,但IPV6就不能这么做了。因为IPV6的分隔符就是冒号,有七个冒号,如果再加上一个冒号八个冒号虽然后面的很多人都知道那是端口号,三位数五位数还好,要是四位数你能知道他是不是还是地址的一部分呢,还是会容易造成混淆,所以IP地址的外面就要加上[]。

 

就拿这个vultr的IP来说吧,如果访问不能直接输入 http://2001:19f0:5401:161e:5400:02ff:feae:4f97 这是无效非法的IP地址,而是要输入 http://[2001:19f0:5401:161e:5400:02ff:feae:4f97]。加上端口之后不能直接输入 http://2001:19f0:5401:161e:5400:02ff:feae:4f97:8080(你看这不就多出一截IP了吗,容易混淆)而是输入 http://[2001:19f0:5401:161e:5400:02ff:feae:4f97]:8080 泾渭分明非常清楚,前面是IP后面是端口。

 

而且后面呢又有ipv6only=on代表开放只有IPV6的访问,也就是写上这一句那么我们的公网IP和域名解析才都能正常访问

 

怎么修改呢,先输入字母I打开INSERT进入编辑模式,然后键盘移动光标到#那里把#删除

 

listen 80 default server;

listen [::]:80 default_server ipv6only=on;

 

就是这样,然后敲击ESC键退出编辑状态,接下来输入 :wq! 保存并退出VI编辑器

 

接下来为了安全起见,我们输入 nginx -t 看看是否反馈的是OK或者successful字样,接下来我们输入 /etc/init.d/nginx restart 重启nginx生效

 

下面我们再次打开域名,出现默认页面了,到此这台IPV6服务器就可以通过这种方式被IPV4用户所访问到了,挂个静态页面探针啥的应该不成问题了

 

 

结语:我建议现在还是不要购买这种只有IPV6的服务器,目前就vultr提供这种纯IPV6服务器,别家都提供IPV4和IPV6都有的服务器,有的只提供IPV4。这再次说明了IPV6升级的艰难,没有很多应用,或者说很多应用在IPV6上面跑效果太差了,就会打击一批折腾人的积极性。所以我还是建议现在不要为了图便宜去买这种难用的服务器,等IPV6在全球普及了再去买,到时候会有很多商家支持这种服务器的。如果买错了不要紧,要么可以跟我一样不要建站,就是试一试玩一玩全当测试一下服务器了,等上手了之后再去买IPV4的。反正vultr还是可以提供VNC输入和随时删除的,一旦买错了或者没法用难用还是可以直接删了的,这个各位小白大可以放心。

 

这种服务器只能用来当测试机使用,不适合生产环境、建站,更不适合科学上网(只能访问有IPV6的网站或者是双栈的网站,只有IPV4的网站无法访问),以上就是本次实验的最终结论。

发表评论

电子邮件地址不会被公开。 必填项已用*标注