在公有云上配置部署IPv6的方法和步骤

存储技术

606人已加入

描述

上一篇我们讨论的IPv6相对于IPv4的诸多变化和相应的基础知识。这一篇,我们要讨论的是如何根据这些变化,具体落实到在公有云上部署一套自己的IPv6系统,以验证或者直接在IPv6的网络世界中提供自己的业务服务。

我们在海外测试IPv6的过程中,在AWS上和Azure云都做了详尽的技术对比和测试,其中的经验借此分享给大家。

在公有云上IPv6配置部署的方式

在公有云上部署IPv6应用原理上和使用配置部署IPv4的应用和服务是一样的。然而,由于公有云底层架构的不同,具体的配置架构和方法则差距很大。总体来说,有2种方式:

直接绑定在VPC的虚机上,和IPv4并存使用

需要绑定在VPC的特定网络设备上(如Net Gateway或者Load Balancer)

下面我们就以AWS和Azure分别说明两种VPC配置IPv6的方法。

01

AWS 配置IPv6的方式

AWS的VPC配置IPv6相当的简单直接。从2016年起,AWS的EC2就已经支持IPv6了。

01 为AWS VPC添加IPv6的绑定

首先,通过https://console.aws.amazon.com/vpc/ 通过AWS console访问VPC的配置。

对于没有VPC,需要先创建VPC。

通过AWS console中,通过VPC创建向导来创建一个具有 /16 IPv4 CIDR 块的 VPC 并将一个 /56 IPv6 CIDR 块与该 VPC 关联。有关更多信息,请参阅您的 VPC。IPv6 CIDR 块的大小是固定的 (/56),IPv6 地址的范围是从 Amazon 的 IPv6 地址池中自动分配的 (不能手动自选范围)。

将 Internet 网关连接到 VPC。

在 VPC 中创建一个具有 /24 IPv4 CIDR 块和 /64 IPv6 CIDR 块的子网。IPv6 CIDR 块的大小是固定的 (/64)。

创建一个自定义路由表,并将其与您的子网相关联,以便在子网与 Internet 网关之间进行通信。

具体而言,配置IPv6 CIDR就是在第一步的VPC创建向导中实现的:

随后,选择第一个选项,即 VPC with a Single Public Subnet,然后选择 Select。

在配置页面上,在 VPC name 字段中为您的 VPC 输入一个名称 (例如,my-vpc),并在 Subnet name 字段中为您的子网输入一个名称。

然后,就到了配置IPv4和IPv6 CIDR的阶段。对于 IPv4 CIDR block,您可以保留默认设置 (10.0.0.0/16) 或指定自己的设置。对于 IPv6 CIDR block,则选择 Amazon-provided IPv6 CIDR block。

对于 Public subnet's IPv4 CIDR,保留默认设置或指定您自己的设置。对于 Public subnet's IPv6 CIDR,选择 Specify a custom IPv6 CIDR。您可以保留 IPv6 子网的默认十六进制对值 (00)。

保留页面上的其余默认配置,然后选择 Create VPC。

02 为已有的VPC添加IPv6地址

作为已经使用了IPv4搭建的EC2 instance,为其所在的VPC 添加IPv6的地址则比上文中提到的从头创建VPC就更加简单了。

首先,仍旧是通过https://console.aws.amazon.com/vpc/ 访问VPC的配置。

随后,选择左侧导航栏里的Your VPCs:

随后,在右侧下拉框选择Edit CIDRs:

这时就会看到IPv6的CIDR还没有配置:

直接选择“Add IPv6 CIDR”来为VPC添加IPv6。

如何查看EC2的IPv6地址

首先访问https://console.aws.amazon.com/ec2/, 进入EC2的配置界面。

然后,在左侧的导航栏里选中自己的Instance,这时,下方的具体信息栏里就可以看到这个Instance的具体配置信息,比如IPv4的内网、外网地址等。

随后,点击actions下拉菜单:

依次选择Networking → Manage IP Addresses:

02

在Azure中为VPC配置IPv6

通过在AWS中配置IPv6简直不能再简单了,然而,到了Azure,你还想鼠标点点点就配置了,那么你就错了。因为,这里只能通过Azure里portal中输入命令,或者运行脚本才能配置。

不过,这里有个好消息,就是使用Windows平台的用户,可以通过按照Azure for PowerShell的插件来在本机运行Azure命令和脚本,比起来直接访问Azure Portal 要速度快的多(想想国内打开Portal的速度……)。

除此2个方法之外,还有一个ARM模板的方法创建。

01 Azure配置的基本方法

我先讨论一下Azure VPC的IPv6的基本原则:

Azure 的VPC中已有VM不支持添加IPv6,只能为了支持IPv6新创建VM

公网可访问的IPv6必须绑定在Load Balance上

访问VM的公网IPv6Inbound通过Load Balance上的映射关系实现

而出向的IPv6是另外一个绑定关系,Egress IPv6

同一个VPC中,VM之间不能使用IPv6相互通信,IPv6只用于VM和外部的IPv6通信

当然,以上原则是我8月份验证的,也许Azure配置原则发生变化了,也未可知。

好在终于找到了一个教程,其完成的结构如上图,即一个Load Balancer对应了2个VM,这样他可以在一个VM升级改造过程中,仍旧有另一个VM提供服务。

不需要那么多VM,其实一个就够了,然而他的script显然有不少bug。 分步运行,然后逐条的排错,最后终于能够顺利运行下来了。

具体步骤如下:(如需脚本,请直接在公号后台联系我们)

建立一个新的Resource Group

建立vNet的子网

建立IPv4和IPv6的公网地址

Load Balancer的公网一侧的配置

Load Balancer 内网侧的配置

Load Balancer 的入向NAT配置

建立RDP端口3389的探测

建立 Load Balancer上的负载均衡策略

创建Load Balancer

获取vNet信息

给VM的网卡配置IPv4、IPv6

配置VM的存储账号(硬盘)

配置Admin的用户密码

创建VM

脚本运行过程中,会不断有提示信息,所以,你要做的事就是一杯咖啡,慢慢等待。(当然,有了bug请及时删掉已经创建的内容,这个可以从portal做)。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分