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