上一篇我們討論的IPv6相對(duì)于IPv4的諸多變化和相應(yīng)的基礎(chǔ)知識(shí)。這一篇,我們要討論的是如何根據(jù)這些變化,具體落實(shí)到在公有云上部署一套自己的IPv6系統(tǒng),以驗(yàn)證或者直接在IPv6的網(wǎng)絡(luò)世界中提供自己的業(yè)務(wù)服務(wù)。
我們?cè)诤M鉁y(cè)試IPv6的過(guò)程中,在AWS上和Azure云都做了詳盡的技術(shù)對(duì)比和測(cè)試,其中的經(jīng)驗(yàn)借此分享給大家。
在公有云上IPv6配置部署的方式
在公有云上部署IPv6應(yīng)用原理上和使用配置部署IPv4的應(yīng)用和服務(wù)是一樣的。然而,由于公有云底層架構(gòu)的不同,具體的配置架構(gòu)和方法則差距很大。總體來(lái)說(shuō),有2種方式:
直接綁定在VPC的虛機(jī)上,和IPv4并存使用
需要綁定在VPC的特定網(wǎng)絡(luò)設(shè)備上(如Net Gateway或者Load Balancer)
下面我們就以AWS和Azure分別說(shuō)明兩種VPC配置IPv6的方法。
01
AWS 配置IPv6的方式
AWS的VPC配置IPv6相當(dāng)?shù)暮?jiǎn)單直接。從2016年起,AWS的EC2就已經(jīng)支持IPv6了。
01 為AWS VPC添加IPv6的綁定
首先,通過(guò)https://console.aws.amazon.com/vpc/ 通過(guò)AWS console訪問(wèn)VPC的配置。
對(duì)于沒(méi)有VPC,需要先創(chuàng)建VPC。
通過(guò)AWS console中,通過(guò)VPC創(chuàng)建向?qū)?lái)創(chuàng)建一個(gè)具有 /16 IPv4 CIDR 塊的 VPC 并將一個(gè) /56 IPv6 CIDR 塊與該 VPC 關(guān)聯(lián)。有關(guān)更多信息,請(qǐng)參閱您的 VPC。IPv6 CIDR 塊的大小是固定的 (/56),IPv6 地址的范圍是從 Amazon 的 IPv6 地址池中自動(dòng)分配的 (不能手動(dòng)自選范圍)。
將 Internet 網(wǎng)關(guān)連接到 VPC。
在 VPC 中創(chuàng)建一個(gè)具有 /24 IPv4 CIDR 塊和 /64 IPv6 CIDR 塊的子網(wǎng)。IPv6 CIDR 塊的大小是固定的 (/64)。
創(chuàng)建一個(gè)自定義路由表,并將其與您的子網(wǎng)相關(guān)聯(lián),以便在子網(wǎng)與 Internet 網(wǎng)關(guān)之間進(jìn)行通信。
具體而言,配置IPv6 CIDR就是在第一步的VPC創(chuàng)建向?qū)е袑?shí)現(xiàn)的:
隨后,選擇第一個(gè)選項(xiàng),即 VPC with a Single Public Subnet,然后選擇 Select。
在配置頁(yè)面上,在 VPC name 字段中為您的 VPC 輸入一個(gè)名稱 (例如,my-vpc),并在 Subnet name 字段中為您的子網(wǎng)輸入一個(gè)名稱。
然后,就到了配置IPv4和IPv6 CIDR的階段。對(duì)于 IPv4 CIDR block,您可以保留默認(rèn)設(shè)置 (10.0.0.0/16) 或指定自己的設(shè)置。對(duì)于 IPv6 CIDR block,則選擇 Amazon-provided IPv6 CIDR block。
對(duì)于 Public subnet's IPv4 CIDR,保留默認(rèn)設(shè)置或指定您自己的設(shè)置。對(duì)于 Public subnet's IPv6 CIDR,選擇 Specify a custom IPv6 CIDR。您可以保留 IPv6 子網(wǎng)的默認(rèn)十六進(jìn)制對(duì)值 (00)。
保留頁(yè)面上的其余默認(rèn)配置,然后選擇 Create VPC。
02 為已有的VPC添加IPv6地址
作為已經(jīng)使用了IPv4搭建的EC2 instance,為其所在的VPC 添加IPv6的地址則比上文中提到的從頭創(chuàng)建VPC就更加簡(jiǎn)單了。
首先,仍舊是通過(guò)https://console.aws.amazon.com/vpc/ 訪問(wèn)VPC的配置。
隨后,選擇左側(cè)導(dǎo)航欄里的Your VPCs:
隨后,在右側(cè)下拉框選擇Edit CIDRs:
這時(shí)就會(huì)看到IPv6的CIDR還沒(méi)有配置:
直接選擇“Add IPv6 CIDR”來(lái)為VPC添加IPv6。
如何查看EC2的IPv6地址
首先訪問(wèn)https://console.aws.amazon.com/ec2/, 進(jìn)入EC2的配置界面。
然后,在左側(cè)的導(dǎo)航欄里選中自己的Instance,這時(shí),下方的具體信息欄里就可以看到這個(gè)Instance的具體配置信息,比如IPv4的內(nèi)網(wǎng)、外網(wǎng)地址等。
依次選擇Networking → Manage IP Addresses:
02
在Azure中為VPC配置IPv6
通過(guò)在AWS中配置IPv6簡(jiǎn)直不能再簡(jiǎn)單了,然而,到了Azure,你還想鼠標(biāo)點(diǎn)點(diǎn)點(diǎn)就配置了,那么你就錯(cuò)了。因?yàn)?,這里只能通過(guò)Azure里portal中輸入命令,或者運(yùn)行腳本才能配置。
不過(guò),這里有個(gè)好消息,就是使用Windows平臺(tái)的用戶,可以通過(guò)按照Azure for PowerShell的插件來(lái)在本機(jī)運(yùn)行Azure命令和腳本,比起來(lái)直接訪問(wèn)Azure Portal 要速度快的多(想想國(guó)內(nèi)打開Portal的速度……)。
除此2個(gè)方法之外,還有一個(gè)ARM模板的方法創(chuàng)建。
01 Azure配置的基本方法
我先討論一下Azure VPC的IPv6的基本原則:
Azure 的VPC中已有VM不支持添加IPv6,只能為了支持IPv6新創(chuàng)建VM
公網(wǎng)可訪問(wèn)的IPv6必須綁定在Load Balance上
訪問(wèn)VM的公網(wǎng)IPv6Inbound通過(guò)Load Balance上的映射關(guān)系實(shí)現(xiàn)
而出向的IPv6是另外一個(gè)綁定關(guān)系,Egress IPv6
同一個(gè)VPC中,VM之間不能使用IPv6相互通信,IPv6只用于VM和外部的IPv6通信
當(dāng)然,以上原則是我8月份驗(yàn)證的,也許Azure配置原則發(fā)生變化了,也未可知。
好在終于找到了一個(gè)教程,其完成的結(jié)構(gòu)如上圖,即一個(gè)Load Balancer對(duì)應(yīng)了2個(gè)VM,這樣他可以在一個(gè)VM升級(jí)改造過(guò)程中,仍舊有另一個(gè)VM提供服務(wù)。
不需要那么多VM,其實(shí)一個(gè)就夠了,然而他的script顯然有不少bug。 分步運(yùn)行,然后逐條的排錯(cuò),最后終于能夠順利運(yùn)行下來(lái)了。
具體步驟如下:(如需腳本,請(qǐng)直接在公號(hào)后臺(tái)聯(lián)系我們)
建立一個(gè)新的Resource Group
建立vNet的子網(wǎng)
建立IPv4和IPv6的公網(wǎng)地址
Load Balancer的公網(wǎng)一側(cè)的配置
Load Balancer 內(nèi)網(wǎng)側(cè)的配置
Load Balancer 的入向NAT配置
建立RDP端口3389的探測(cè)
建立 Load Balancer上的負(fù)載均衡策略
創(chuàng)建Load Balancer
獲取vNet信息
給VM的網(wǎng)卡配置IPv4、IPv6
配置VM的存儲(chǔ)賬號(hào)(硬盤)
配置Admin的用戶密碼
創(chuàng)建VM
腳本運(yùn)行過(guò)程中,會(huì)不斷有提示信息,所以,你要做的事就是一杯咖啡,慢慢等待。(當(dāng)然,有了bug請(qǐng)及時(shí)刪掉已經(jīng)創(chuàng)建的內(nèi)容,這個(gè)可以從portal做)。
電子發(fā)燒友App



















評(píng)論