网站在阿里云ESC如何开启IPv6

本篇教程作者在阿里云买了一个位于香港的抢占式实例作为例子,大概流程如下:

  • 一、开通云服务器及IPv6相关业务
  • 、购买IPv6外网访问带宽
  • 三、配置IPv6安全组规则
  • 四、验证IPv6网络是否正常
  • 五、部署网站
  • 六、修改nginx配置文件
  • 七、验证网站访问是否正常

一、开通云服务器及IPv6相关业务

首先为了做范例,作者购买了一个香港的抢占式实例,需要说明的是,阿里云并不是所有的服务器都支持IPv6,一些老的构架的服务器并不支持,新购买的服务器实例在选择配置的时候可以看到是否支持IPv6。

在购买过程中也可以选择是否分配IPv6地址,而且可以看到提示,阿里云虽然分配了IPv6地址,但是仅有内网访问权限,要想外网访问,还得单独购买公网带宽,就这一点太那啥了。

最终购买的服务器:

当然,对于已有的服务器,可以在服务器的管理页面,开通IPv6业务,如图:

上图中,作者已经开通了IPv6业务,所以可以看到有“管理IPv6”的选项,然后IPv6地址位置是空的。若是没开通IPv6业务的话,会显示开通按钮,或者显示服务器实例不支持IPv6的提示信息。

此时如果连接服务器,输入ifconfig查看服务器的网络配置情况,如图:

可以看到里面有一个inet6的IP地址以fe80:开头,注意这个IP地址就想IPv4里面的169.254(电脑使用IPv4的时候,获取不到路由器的IP地址时就会得到一个169.254开头的IP)开头的地址,是没用的。

所以需要给服务器分配一个可用的IPv6地址,点击管理IPv6地址,弹出页面可以为服务器分配IPv6地址,如图:

此处分配IPv6地址时注意,IPv6是128字节,格式是8组16进制数组成,这里直接给的是一个网段x:x:x:x::/64,所以那个空里面理论上要填4组16进制数,不过IPv6地址中的0可以直接省略,所以我直接填:1或者:2,因为作者已经有一台实例分配了:1地址,所以这里就填了:2,此处完整的IP地址就是x:x:x:x:0000:0000:0000:0002的意思。

分配IPv6地址后,重启服务器,注意重启很重要哦,再连接服务器输入ifconfig查看网络信息:

此时可以看到有一个可用的128位的240b开头的IPv6地址。

二、购买IPv6外网访问带宽

阿里云默认IPv6地址仅限内网使用,要想外网访问,还得单独购买带宽。当你把鼠标放在IPv6地址上的时候,就会提示去购买IPv6带宽,当然你也可以直接到“网络与CDN->专有网络VPC->IPv6网关”页面先开通免费版的IPv6,然后进入网关管理页面,可以看到你的带宽是0Mbps,右边有个贴心的“开通公网带宽”的连接,和IPv4的带宽一样,可以选择包年包月,也可以选择按量付费。

开通之后:

三、配置IPv6安全组规则

阿里云ESC默认的安全规则针对的都是IPv4的,所以未配置的情况下,IPv6还是通不了外网。

此处作者添加了3条安全组规则,其中自定义TCP的两天必填,443和80端口用于网站的https和http访问,,授权对象为::/0,上面那条全部ICMP(IPv6)的规则可以不要,不添加的话ping6的时候ping不通,为了检查网络,所以就加上了。

四、验证IPv6网络是否正常

然后可以验证一下服务器IPv6配置外网访问是否正常。在服务器上用ping命令,ping一下IPv6的网站,比如google,当然ping阿里云最好,不受强的影响。

可以看到,服务器通过IPv6网络与外网通信正常。

五、部署网站

作者用lnmp一键安装脚本,简单配置了php+nginx环境。

同时先找了个域名做了解析,先仅解析了IPv4地址。

网站正常访问:

六、修改nginx网站配置文件

此时如果解析IPv6地址,会发现网站还是不能访问打不开。注意:1、IPv6解析的时候,记录类型是AAAA,2、作者为了测试,先把IPv4的解析暂停了。

修改网站配置文件,443端口监听和80监听修改一样,就是注释掉默认那一行,启用带[::]:的那一行即可,然后重启nginx服务(或者直接重启服务器)。

listen 80;
#listen [::]:80;
修改为
#listen 80;
listen [::]:80;

七、验证网站是否正常

到此,网站应可以正常打开,可以用ping6命令ping一下域名:

结束:

本教程所用的服务器,在测试结束后,就释放了,所以,访客阅读本文时,教程中的域名treeweb.net是访问不了的。

发表评论

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