最佳實踐:阿里雲VPC、ECS支援IPv6啦!
阿里雲專有網路VPC、雲伺服器ECS,作為阿里雲的核心產品,也於2018年11月底上線雙棧VPC、雙棧ECS,目前正在對外公測中。
那麼如何在阿里雲擁有IPv4/IPv6雙棧VPC、雙棧ECS呢,請看下文詳解。
操作概覽
操作詳情
(一)VPC開通IPv6
前提:您已經獲取阿里雲IPv6使用資格, ofollow,noindex" target="_blank">點我申請公測資格
1.1、登入阿里雲 專有網路VPC控制檯 ,地域選擇 “華北5(呼和浩特)” 。
說明:當前VPC雙棧、ECS雙棧,只在阿里雲中國站華北5(呼和浩特)地域開服。更多地域即將支援VPC IPv6、ECS IPv6功能,敬請期待。
1.2、點選 建立專有網路 ,在右滑頁面按照提示進行操作。
建立專有網路的同時,您還需要建立一個交換機。
交換機的IPv6網段支援使用者自定義後8位元位,您可以在輸入框輸入0-255範圍內的任意數字(十進位制0-255對應交換機IPv6網段的後8位元位)。
1.3、建立完成後,您可以在VPC的列表頁檢視剛才建立的IPv6/IPv4 雙棧VPC。

也可以控制檯交換機列表頁檢視剛才建立的IPv6/IPv4雙棧交換機。

(二)為ECS例項分配IPv6地址
2.1、在已經開通了IPv6的交換機列表頁,點選 購買 - ECS例項 。
2.2、在ECS購買頁面過濾支援IPv6的規格
按ECS購買頁面提示選擇映象系統和儲存資料盤。點選 下一步:網路和安全組” 。
2.3、在ECS購買頁面 網路和安全組 頁面選擇為ECS例項 免費分配IPv6地址 。
然後按ECS購買頁面的提示完成ECS的購買。
2.4、返回 ECS例項列表頁 ,點選ECS的ID,進入ECS管理頁面進行檢視。在 配置資訊 可以看到系統為ECS分配的IPv6地址
(三)IPv6安全組設定
建立ECS完成後,ECS的安全組出方向預設允許所有訪問(包含IPv4地址段和IPv6地址段),您可以根據需要,配置安全組授權指定IPv6地址段的入方向訪問策略。
本示例中,為了便於演示,安全組將允許任意IPv6地址段訪問ECS。
在ECS詳情頁的左側導航欄,選擇 本例項安全組 。然後再安全組的列表頁點選 配置規則 。
點選右上角的 新增安全組規則 ,為ECS例項IPv6地址段設定安全組規則。
如下圖所示,ECS例項的入出方向均對任意IPv6地址段進行放行。
(四)ECS例項配置IPv6服務和IPv6地址
IPv6公測中,預設不會為ECS例項配置IPv6地址,您可以通過 工具 為例項配置IPv6地址。也可以手工配置IPv6服務( Windows /Linux )、及配置靜態IPv6地址( Windows / Linux )
為ECS例項配置IPv6服務
4.1、先為上面建立的ECS例項配置IPv6服務,因為ECS為Linux,遠端連線ECS例項後,分別執行如下操作
執行 vi /etc/default/grub,刪除核心引數 ipv6.disable=1 後儲存退出。
執行 vi /boot/grub/grub.cfg,刪除核心引數 ipv6.disable=1 後儲存退出。
然後重啟例項。
執行 vi /etc/modprobe.d/disable_ipv6.conf,將 options ipv6 disable=1 修改為 options ipv6 disable=0
執行 vi /etc/sysctl.conf,做如下修改:
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
執行 sysctl -p 使配置生效。
4.2 執行 ip addr | grep inet6 ,檢視ECS例項的IPv6地址是否已經生效。如下圖所示,配置的IPv6服務已經生效。
為ECS例項配置靜態IPv6地址
4.3、執行 curl http://100.100.100.200/2016-01-01/meta-data/network/interfaces/macs/
獲取ECS例項的mac地址如下圖:
注:ECS的mac地址也可通過控制檯進行檢視。如下圖所示
4.4、執行 curl http://100.100.100.200/2016-01-01/meta-data/network/interfaces/macs/[mac]/ipv6-gateway
獲取ECS例項的IPv6閘道器地址,用上面獲取的mac地址替換命令中的[mac]。
如本示例中執行如下:
curl http://100.100.100.200/2016-01-01/meta-data/network/interfaces/macs/00:16:3e:00:3c:60/ipv6-gateway
獲取IPv6閘道器地址如下圖:
4.5、執行 vi /etc/sysconfig/network-scripts/ifcfg-eth0 開啟網絡卡配置檔案,eth0 為網絡卡識別符號,您需要修改成實際的識別符號。在檔案中根據實際資訊新增以下配置:
IPV6INIT=yes
IPV6ADDR=IPv6地址/子網字首長度
IPV6_DEFAULTGW= IPv6閘道器地址
本示例中,即執行如下命令
IPV6INIT=yes
IPV6ADDR=2408:4004:1e0:d01:490d:7903:6cc9:9f2f/64
IPV6_DEFAULTGW=2408:4004:1e0:d01:ffff:ffff:ffff:fff7
4.6、重啟網路服務:執行 service network restart 或 systemctl restart network
4.7、通過ifconfig命令,檢視ECS例項的IPv6地址
(五)建立IPv6公網頻寬
為ECS分配的IPv6地址,其預設IPv6公網頻寬為0Mbps,即該IPv6地址只具備VPC私網通訊許可權,不能與網際網路進行通訊。
如果您需要ECS例項通過IPv6地址與網際網路進行通訊,您還需要登入IPv6閘道器控制檯,為指定的IPv6地址開通IPv6公網頻寬。
控制檯執行VPC開通IPv6時,系統將為您自動建立一個免費版的IPv6閘道器,IPv6閘道器是VPC管理IPv6公網流量的出入口。( 點我檢視更多IPv6閘道器資訊 )
5.1、 登入 IPv6閘道器控制檯 ,可以看到VPC開通IPv6時系統自動建立的免費版IPv6閘道器。點選 IPv6閘道器例項ID 進入管理頁面。
5.2、左側導航欄選擇 IPv6公網頻寬 ,在這個頁面,可以看到當前VPC下面所有例項的IPv6地址。選擇要開通IPv6公網頻寬的IPv6地址,點選 開通公網頻寬 。
5.3、在IPv6公網頻寬的購買頁面,選擇您需要的公網計費方式和頻寬峰值,點選 立即購買 。
在IPv6地址列表下面點選 重新整理 ,就可以看到已開通的IPv6公網頻寬資訊,有IPv6公網頻寬的IPv6地址具備IPv6公網通訊許可權。
此時,ECS例項可通過IPv6地址訪問網際網路,也可以被網際網路指定的IPv6終端主動訪問。
(六)驗證ECS例項公網通訊能力
6.1、遠端登入上面建立的ECS例項,先ping具備ipv6地址的網站,驗證ECS的IPv6連通性。
6.2、搭建簡單web服務,驗證是否可以被IPv6終端訪問,
通過IPv6終端進行訪問,訪問結果如下,訪問成功。
(七)高階功能:使ECS例項只具備IPv6公網僅主動出能力
為了安全考慮,您需要ECS經IPv6地址只能主動訪問網際網路,而不需要被網際網路IPv6終端主動發起對您IPv6地址的連線,您還可以進一步設定IPv6公網僅主動出許可權。
7.1、登入 IPv6閘道器控制檯 ,可以看到VPC開通IPv6時系統自動建立的免費版IPv6閘道器。點選 IPv6閘道器例項ID 進入管理頁面。左側導航欄選擇 僅主動出規則 ,在這個頁面,點選 建立僅主動出規則 。
在右滑頁面選擇需要設定IPv6公網僅主動出許可權的ECS例項,單擊 確定 。
在僅主動出規則的列表頁,可以看到剛才建立的僅主動出規則。如下圖
7.2、登入ipv6終端訪問第(六)步搭建了web服務的ECS例項,驗證僅主動出規則是否生效
但登入ECS例項,訪問有IPv6地址的網站,依然可以成功訪問,僅主動出規則生效。