CC-Tech|IPv6:如何在公有云上部署

2018-11-27 14:10 稿源:用户投稿  0条评论

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

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

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

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

  1. 直接绑定在VPC的虚机上,和IPv4 并存使用
  2. 需要绑定在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。

  1. 通过AWS console中,通过VPC创建向导来创建一个具有 /16 IPv4 CIDR 块的 VPC 并将一个 /56 IPv6 CIDR 块与该 VPC 关联。有关更多信息,请参阅您的 VPC。IPv6 CIDR 块的大小是固定的 (/56),IPv6 地址的范围是从 Amazon 的 IPv6 地址池中自动分配的 (不能手动自选范围)。
  2. 将 Internet 网关连接到 VPC。
  3. 在 VPC 中创建一个具有 /24 IPv4 CIDR 块和 /64 IPv6 CIDR 块的子网。IPv6 CIDR 块的大小是固定的 (/64)。
  4. 创建一个自定义路由表,并将其与您的子网相关联,以便在子网与 Internet 网关之间进行通信。

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

CC-Tech|IPv6:如何在公有云上部署

随后,选择第一个选项,即 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:

CC-Tech|IPv6:如何在公有云上部署

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

CC-Tech|IPv6:如何在公有云上部署

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

CC-Tech|IPv6:如何在公有云上部署

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

如何查看EC2 的IPv6 地址

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

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

随后,点击actions下拉菜单:

CC-Tech|IPv6:如何在公有云上部署

依次选择Networking → Manage IP Addresses:

CC-Tech|IPv6:如何在公有云上部署

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配置原则发生变化了,也未可知。

CC-Tech|IPv6:如何在公有云上部署

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

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

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

  1. 建立一个新的Resource Group
  2. 建立vNet的子网
  3. 建立IPv4 和IPv6 的公网地址
  4. Load Balancer的公网一侧的配置
  5. Load Balancer 内网侧的配置
  6. Load Balancer 的入向NAT配置
  7. 建立RDP端口 3389 的探测
  8. 建立 Load Balancer上的负载均衡策略
  9. 创建Load Balancer
  10. 获取vNet信息
  11. 给VM的网卡配置IPv4、IPv6
  12. 配置VM的存储账号(硬盘)
  13. 配置Admin的用户密码
  14. 创建VM

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

本文由站长之家用户投稿,未经站长之家同意,严禁转载。如广大用户朋友,发现稿件存在不实报道,欢迎读者反馈、纠正、举报问题(反馈入口)。

免责声明:本文为用户投稿的文章,站长之家发布此文仅为传递信息,不代表站长之家赞同其观点,不对对内容真实性负责,仅供用户参考之用,不构成任何投资、使用建议。请读者自行核实真实性,以及可能存在的风险,任何后果均由读者自行承担。

有好的文章希望站长之家帮助分享推广,猛戳这里我要投稿

相关文章

相关热点

查看更多