如果您需要在VPC中進行IPv6公私網通訊,您可以在開通了IPv6網段的VPC和交換器下建立帶有IPv6地址的ECS執行個體。本文介紹ECS執行個體如何?通過IPv6地址通訊、如何為ECS執行個體分配IPv6地址、配置IPv6地址等。
說明 由於IPv4網路地址資源的有限性,在IPv4環境中,網路工程師經常需要花費大量時間和精力去解決地址衝突等問題。相比之下,引入IPv6網段後,不僅因其龐大的地址空間解決了網路地址資源的限制問題,還消除了眾多接入裝置串連互連網時所面臨的障礙。
使用限制
IPv6網關支援的地區
地區 | 地區 |
中國 | 華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、華北6(烏蘭察布)、華東1(杭州)、華東2(上海)、華東5(南京-本地地區)、華東6(福州-本地地區)、華南1(深圳)、華南2(河源)、華南3(廣州)、西南1(成都)、中國香港 |
亞太地區 | 菲律賓(馬尼拉)、新加坡、日本(東京)、韓國(首爾)、印尼(雅加達)、馬來西亞(吉隆坡)、泰國(曼穀) |
歐美地區 | 美國(維吉尼亞)、美國(矽谷)、德國(法蘭克福) |
中東 | 沙特(利雅得) |
不支援IPv6的ECS執行個體規格類型系列
密集計算型執行個體規格類型系列ic5
記憶體型執行個體規格類型系列se1
巨量資料型執行個體規格類型系列d1
本地SSD型執行個體規格類型系列i2g,本地SSD型執行個體規格類型系列i1
高主頻計算型執行個體規格類型系列hfc5,高主頻通用型執行個體規格類型系列hfg5
通用型ECS Bare Metal Instance執行個體規格類型系列ebmg5,記憶體網路增強型ECS Bare Metal Instance執行個體規格類型系列ebmr5s
上一代共用型執行個體規格類型系列xn4、n4、mn4、e4
共用型執行個體規格類型系列n1、n2、e3
通用型執行個體規格類型系列sn2,通用型執行個體規格類型系列sn1
配置步驟
步驟一: 分配IPv6地址
為ECS執行個體分配IPv6地址,以使其能夠通過IPv6協議與其他執行個體或外部網路進行通訊。
為已有實例分配IPv6地址
登入ECS管理主控台。
在左側導覽列,選擇。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
選擇已建立的ECS執行個體,在操作列下選擇。
在管理輔助私網IP對話方塊中,按照介面提示分配IPv6地址。
重要 如果執行個體所在的交換器沒有開啟分配IPv6地址的功能,點擊開通交換器IPv6,在交換器介面開通IPv6。交換器如何開通IPv6,請參見交換器開通IPv6。
單擊確定。
建立執行個體時分配IPv6地址
建立執行個體時,需要注意以下資訊(其他配置說明,請參見自訂購買執行個體):
網路及可用性區域:選擇已開通IPv6的專用網路和交換器。若未開通,可參考文檔交換器開通IPv6。
執行個體:篩選出支援IPv6的執行個體規格,並選擇一個執行個體規格。
頻寬和安全性群組:單擊彈性網卡|IPv6(選填),然後選中免費分配 IPv6 地址。
分配完成後,您可以通過ECS管理主控台查看IP地址詳情。具體操作,請參見查看IP地址。
步驟二: 配置IPv6地址
將IPv6地址配置到雲端服務器的網卡上,以使鏡像作業系統內部識別並生效IPv6。
部分鏡像支援自動設定並識別IPv6地址,通過以下步驟確認您的ECS執行個體作業系統是否已經識別了IPv6地址。
Linux執行個體
遠端連線Linux執行個體。
具體操作,請參見通過密碼或密鑰認證登入Linux執行個體。
執行ip -6 addr show
或者ifconfig
命令。
如果返回資訊如下圖所示,則表示已成功識別IPv6地址,可以跳過此配置IPv6的步驟,如果沒有,請繼續執行以下操作。
Windows執行個體
遠端連線Windows執行個體。
具體操作,請參見通過密碼認證登入Windows執行個體。
開啟命令列工具,執行ipconfig
命令
如果返回資訊如下圖所示,則表示已成功識別IPv6地址,可以跳過此配置IPv6的步驟,如果沒有,請繼續執行以下操作。
配置IPv6地址。
重要 自動設定IPv6地址方式需安裝雲助手;若您的執行個體不支援或不方便安裝雲助手,請通過手動方式配置IPv6地址。
(推薦)自動設定IPv6地址
前提條件
執行個體已安裝雲助手。若未安裝,請參見安裝雲助手Agent。
僅適用於以下作業系統:Alibaba Cloud Linux 2/3、CentOS 6/7/8、Red Hat 6/7、Anolis OS、Fedora、Ubuntu 14/16/18/20、Debian 8/9/10/11、SUSE 11/12/15、OpenSUSE 15/42、FreeBSD 11。
重要 配置過程需使用到雲助手,可能會自動重啟網卡、網路服務,短時間內網路可能會不可用,請謹慎執行。
操作步驟
遠端連線Linux執行個體。
具體操作,請參見通過密碼或密鑰認證登入Linux執行個體。
執行以下命令配置IPv6地址。
說明 在預設情況下,執行以下命令時會自動校正ecs-utils-ipv6
外掛程式是否已在本地安裝,或本地版本是否為最新。若未安裝或版本較舊,外掛程式將自動從網路上下載最新版本並執行安裝,這一過程需要您的ECS執行個體具備公網訪問功能。
sudo acs-plugin-manager --exec --plugin=ecs-utils-ipv6
手動設定(Linux)
遠端連線Linux執行個體。
具體操作,請參見通過密碼或密鑰認證登入Linux執行個體。
執行ip addr | grep inet6
或者ifconfig | grep inet6
命令,檢查執行個體是否已開啟IPv6服務。
如果未返回inet6
相關內容:表示執行個體未開啟IPv6服務,請開啟IPv6服務。
如何開啟IPv6服務?
Alibaba Cloud Linux 2/3
執行以下命令,修改/etc/sysctl.conf
設定檔。
vi /etc/sysctl.conf
按i
鍵進入編輯模式,找到如下內容,將內容末尾數值1
替換為0
。
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
如果需要開啟指定網路介面,修改資訊樣本如下。
net.ipv6.conf.eth0.disable_ipv6 = 0
修改完成後按Esc
鍵退出編輯模式,輸入:wq
後按下斷行符號鍵,儲存並退出。
執行以下命令,驗證/etc/sysctl.conf
配置資訊是否與initramfs中的/etc/sysctl.conf
存在差異。
diff -u /etc/sysctl.conf <(lsinitrd -f /etc/sysctl.conf)
說明 Alibaba Cloud Linux 2配置了initramfs(initram file system)。如果initramfs中的/etc/sysctl.conf
檔案與IPv6的設定檔/etc/sysctl.conf
存在差異,系統可能會生效新的配置,與您需求的配置混淆。
若兩個設定檔存在差異,執行以下命令,重建initramfs
。
sudo dracut -v -f
重啟ECS執行個體使配置生效。具體操作,請參見重啟執行個體。
執行ip addr | grep inet6
或者ifconfig | grep inet6
命令,驗證是否已成功開啟IPv6。
若系統返回inet6
相關內容,則表示IPv6服務已成功開啟。
CentOS 6/7
執行以下命令,修改/etc/modprobe.d/disable_ipv6.conf
設定檔。
vi /etc/modprobe.d/disable_ipv6.conf
按i
鍵進入編輯模式,將options ipv6 disable=1
修改為options ipv6 disable=0
。
修改完成後按Esc
鍵退出編輯模式,輸入:wq
後按下斷行符號鍵,儲存並退出。
執行以下命令,修改/etc/sysconfig/network
設定檔。
vi /etc/sysconfig/network
按i
鍵進入編輯模式,將NETWORKING_IPV6=no
修改為NETWORKING_IPV6=yes
。
修改完成後按Esc
鍵退出編輯模式,輸入:wq
後按下斷行符號鍵,儲存並退出。
(可選)依次執行以下命令,重新載入IPv6模組。
說明 若您的作業系統為CentOS 6,則需要執行該步驟。否則,跳過該步驟。
modprobe ipv6 -r
modprobe ipv6
lsmod | grep ipv6
若系統返回以下內容,表明IPv6模組已經成功載入。
ipv6 xxxxx 8
說明 返回內容第三列參數值不能為 0,否則您需要重新設定IPv6服務。
執行以下命令,修改/etc/sysctl.conf
設定檔。
vi /etc/sysctl.conf
按i
鍵進入編輯模式,找到如下內容,替換內容末尾數值1
為0
。
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
修改完成後按Esc
鍵退出編輯模式,輸入:wq
後按下斷行符號鍵,儲存並退出。
執行以下命令,使配置生效。
sudo sysctl -p
Debian 8/9
執行以下命令,修改/etc/default/grub
設定檔。
vi /etc/default/grub
按i
鍵進入編輯模式,刪除ipv6.disable=1
內容。
修改完成後按Esc
鍵退出編輯模式,輸入:wq
後按下斷行符號鍵,儲存並退出。
執行以下命令,修改/boot/grub/grub.cfg
設定檔。
vi /boot/grub/grub.cfg
按i
鍵進入編輯模式,刪除ipv6.disable=1
內容。
修改完成後按Esc
鍵退出編輯模式,輸入:wq
後按下斷行符號鍵,儲存並退出。
重啟Linux執行個體。具體操作,請參見重啟執行個體。
執行以下命令,修改/etc/sysctl.conf
設定檔。
vi /etc/sysctl.conf
按i
鍵進入編輯模式,找到如下內容,替換內容末尾數值1
為0
。
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
修改完成後按Esc
鍵退出編輯模式,輸入:wq
後按下斷行符號鍵,儲存並退出。
執行以下命令,使配置生效。
sudo sysctl -p
Ubuntu 14/16、OpenSUSE 42
執行以下命令。修改vi /etc/sysctl.conf
設定檔。
vi /etc/sysctl.conf
按i
鍵進入編輯模式,找到如下內容,替換內容末尾數值1
為0
。
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
修改完成後按Esc
鍵退出編輯模式,輸入:wq
後按下斷行符號鍵,儲存並退出。
執行以下命令,使配置生效。
sysctl -p
FreeBSD 11
執行以下命令,修改/etc/rc.conf
設定檔。
vi /etc/rc.conf
按i
鍵進入編輯模式,添加ipv6_activate_all_interfaces="YES"
內容。
修改完成後按Esc
鍵退出編輯模式,輸入:wq
後按下斷行符號鍵,儲存並退出。
執行以下命令,重啟網路使配置生效。
/etc/netstart restart
SUSE 11/12
執行以下命令,修改/etc/modprobe.d/50-ipv6.conf
設定檔。
vi /etc/modprobe.d/50-ipv6.conf
按i
鍵進入編輯模式,刪除install ipv6 /bin/true
內容。
修改完成後按Esc
鍵退出編輯模式,輸入:wq
後按下斷行符號鍵,儲存並退出。
執行以下命令。修改vi /etc/sysctl.conf
設定檔。
vi /etc/sysctl.conf
按i
鍵進入編輯模式,找到如下內容,替換內容末尾數值1
為0
。
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
修改完成後按Esc
鍵退出編輯模式,輸入:wq
後按下斷行符號鍵,儲存並退出。
執行以下命令,使配置生效。
sysctl -p
如果返回inet6
相關內容:表示執行個體已開啟IPv6服務,請配置IPv6地址。
配置IPv6地址。
Alibaba Cloud Linux 2/3、CentOS 6/7、Red Hat 6/7
執行以下命令,修改網卡設定檔。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
eth0
:需要替換為實際網卡介面名稱。修改完成後,儲存並退出。
按i
鍵進入編輯模式,在檔案中根據實際資訊添加以下配置。
DHCPV6C=yes
IPV6INIT=yes
修改完成後按Esc
鍵退出編輯模式,輸入:wq
後按下斷行符號鍵,儲存並退出。
重啟ECS執行個體使配置生效。具體操作,請參見重啟執行個體。
CentOS 8
確認網卡設定檔是否包含IPV6INIT=yes
和DHCPV6C=yes
兩項內容。如果包含直接進行下一步操作,如果未包含需先手動添加。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
eth0
為網卡標識符,您需要修改成實際的標識符。修改完成後,儲存並退出。
禁用cloud-init修改/etc/sysconfig/network-scripts/
目錄下網卡檔案的能力。
說明 分配IPv6地址後無需手動設定,但重啟之後可能丟失,因此需要禁用cloud-init修改網卡檔案的能力。
執行vi /etc/cloud/cloud.cfg
開啟網卡設定檔。
vi /etc/cloud/cloud.cfg
在Example datasource config
內容前添加以下資訊:
network:
config: disabled
修改完成後,儲存並退出。
重啟ECS執行個體使配置生效。具體操作,請參見重啟執行個體。
Debian 8/9/10/11、Ubuntu 16
執行vi /etc/network/interfaces
開啟網卡設定檔,在檔案中根據實際資訊添加以下內容:
iface eth0 inet6 dhcp
eth0
:需要替換為實際網卡介面名稱。修改完成後,儲存並退出。
重啟ECS執行個體使配置生效。具體操作,請參見重啟執行個體。
Ubuntu 18/20
禁用cloud-init修改/etc/sysconfig/network-scripts/
目錄下網卡檔案的能力。
說明 分配IPv6地址後無需手動設定,但重啟之後可能丟失,因此需要禁用cloud-init修改網卡檔案的能力。
執行vi /etc/cloud/cloud.cfg
開啟網卡設定檔。
vi /etc/cloud/cloud.cfg
在Example datasource config
內容前添加以下資訊:
network:
config: disabled
修改完成後,儲存並退出。
重啟ECS執行個體使配置生效。具體操作,請參見重啟執行個體。
Ubuntu 14
執行vi /etc/network/interfaces
開啟網卡設定檔,在檔案中根據實際資訊添加以下內容:
iface eth0 inet6 dhcp
eth0
:需要替換為實際網卡介面名稱。修改完成後,儲存並退出。
重啟ECS執行個體使配置生效。具體操作,請參見重啟執行個體。
FreeBSD 11
執行vi /etc/rc.conf
命令,開啟網卡設定檔,在檔案中根據實際資訊添加以下內容:
ipv6_enable="YES"
ipv6_ifconfig_vtnet0="<IPv6地址> <子網前置長度>"
vtnet0
:需要替換為實際網卡介面名稱。修改完成後,儲存並退出。
繼續在檔案中修改以下資訊,修改完成後,儲存並退出。
ip6addrctl_enable="YES"
ipv6_activate_all_interfaces="YES"
ipv6_network_interfaces="auto"
修改完成後,設定檔內容樣本如下:
hostname="Aliyun"
sshd_enable="YES"
dumpdev="NO"
ipv6_enable="YES"
ip6addrctl_enable="YES"
ip6addrctl_policy="ipv4_prefer"
ipv6_activate_all_interfaces="YES"
ipv6_network_interfaces="auto"
ifconfig_lo0="inet 127.0.0.1 netmask 255.0.0.0"
ifconfig_vtnet0="inet 192.168.XX.XX netmask 255.255.255.0"
ipv6_ifconfig_vtnet0="2001:XXXX:4:4:4:4:4:4 prefixlen 64"
defaultrouter="192.168.XX.XX"
hostname="freebsd"
重啟ECS執行個體使配置生效。具體操作,請參見重啟執行個體。
Anolis OS 7.9/8.4、CentOS Stream、Fedora
確認網卡設定檔是否包含IPV6INIT=yes
和DHCPV6C=yes
兩項內容。如果包含無需再做任何操作,如果未包含需先手動添加。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
eth0
:需要替換為實際網卡介面名稱。修改完成後,儲存並退出。
重啟ECS執行個體使配置生效。具體操作,請參見重啟執行個體。
手動設定(Windows)
遠端連線Windows執行個體。
具體操作,請參見通過密碼認證登入Windows執行個體。
開啟命令列工具,執行ipconfig
命令,檢查執行個體是否已開啟IPv6服務。
如果未返回inet6
相關內容:表示執行個體未開啟IPv6服務,請開啟IPv6服務。
如何開啟IPv6服務?
選擇。
單擊當前網路連接名,開啟狀態介面,再單擊屬性。
選中網際網路通訊協定 (IP)版本 6 (TCP/IPv6)。
Windows Server 2008/2012/2016/2019/2022的操作步驟如下:
檢查IPv6協議這一行是否被選中。如果沒有選中則需要先選中,然後單擊確定。
Windows Server 2003的操作步驟如下:
根據IPv6協議是否存在,執行不同操作。
存在IPv6協議:選中網際網路通訊協定 (IP)版本 6 (TCP/IPv6),再單擊確定。
不存在IPv6協議:
在本地串連屬性頁面,單擊安裝,在網路組件類型頁面單擊。
在選擇網路通訊協定頁面,選擇完成安裝。
選中網際網路通訊協定 (IP)版本 6 (TCP/IPv6),再單擊確定。
如果返回inet6
相關內容:表示執行個體已開啟IPv6服務,請配置IPv6地址。
配置IPv6地址。
在執行個體詳情頁,擷取已產生的IPv6地址。
配置IPv6地址。
Windows Server 2008/2012/2016的操作步驟如下:
選擇。
單擊當前網路連接名,開啟狀態介面,再單擊屬性。
選擇。
選中使用以下IPv6地址,並填入IPv6地址、子網前置長度和IPv6網關,單擊確定。
(可選)綁定多個IPv6地址:在網際網路通訊協定 (IP)版本 6(TCP/IP)屬性介面,單擊進階開啟進階設定介面,單擊添加做批量處理。完成後單擊確定。
Windows Server 2003的操作步驟如下:
選擇,查看當前網路連接名,假設為本地串連 2。
在Windows系統案頭使用Win+R
按鍵組合開啟運行對話方塊,並輸入cmd
命令,然後單擊確定,開啟命令列工具。
添加IPv6地址。
單個IPv6地址執行以下命令:
netsh interface ipv6 add address "本地串連 2" <IPv6 地址>
多個IPv6地址執行以下命令:
netsh interface ipv6 add address "本地串連 2" <IPv6 地址 1>
netsh interface ipv6 add address "本地串連 2" <IPv6 地址 2>
執行以下命令,添加預設路由。
netsh interface ipv6 add route ::/0 "本地串連 2" <IPv6 網關>
(條件必選)如果您的ECS執行個體啟動並執行是Linux系統,請執行此步驟;否則,可跳過此操作。
執行以下命令,查看執行個體是否安裝了多網卡組態工具。
ls /sbin/eni-ifscan
若返回資訊如下圖,則表示執行個體預裝了多網卡組態工具,您需要修改多網卡組態工具的eni-function
檔案。
說明 如果Linux執行個體預裝了多網卡組態工具,由於該工具預設不支援IPv6,將導致Linux系統內的IPv6網卡無法自動識別,執行個體重啟後系統無法擷取IPv6地址。
如何修改eni-function
檔案
執行以下命令,修改eni-function
檔案。
vim /etc/eni_utils/eni-function
按i
鍵進入編輯模式,將IPV6INIT=no
修改為IPV6INIT=yes
,並添加DHCPV6C=yes
行,修改後儲存並退出。
驗證,當輸入ifconfig
或ipconfig
命令返回第一步的結果時即表示配置成功。
步驟三: (可選)開通IPv6公網頻寬
預設雲端服務器的IPv6地址僅具有私網通訊能力,若您想要通過該IPv6地址訪問公網或被公網訪問,則需開通IPv6公網頻寬。
如何開通IPv6公網頻寬
登入專用網路管理主控台。
在左側導覽列,選擇。
- 在頂部功能表列處,選擇IPv6網關的地區。
在IPv6網關頁面,根據執行個體的專用網路ID找到對應IPv6網關,然後單擊IPv6網關ID。
在IPv6網關的詳情頁面,單擊IPv6公網頻寬頁簽,找到目標IPv6地址執行個體,然後在操作列單擊開通公網頻寬。
在IPv6公網頻寬(後付費)頁面,根據以下資訊配置公網頻寬,然後單擊立即購買並完成支付。
參數 | 描述 |
流量 | 選擇公網頻寬的計費類型。 公網頻寬支援按固定頻寬計費和按使用流量計費兩種計費類型。更多資訊,請參見計費說明。 |
頻寬 | 根據需要調整公網頻寬的頻寬峰值。 |
計費周期 | 公網頻寬的計費周期。有Day(按天)和Hour(按小時)兩種計費周期。 |
步驟四: IPv6網路連通性測實驗證
測試IPv6的網路連通性,以保證配置的IPv6地址已具備訪問公網或被公網訪問的能力。
說明 測試IPv6的網路連通性時,您需要確保服務端與用戶端都支援並配置了IPv6。
測試公網連通性
ping -6 aliyun.com
系統返回資訊如下圖所示,表示網路連接正常。
說明 在此樣本中,網站aliyun.com已支援IPv6,當您的ECS執行個體配置完成後,即可通過IPv6訪問aliyun.com。
測試私網連通性
在ECS01執行個體中執行ping6 <ECS02 IPv6私網地址>
命令,ping6
ECS02執行個體的IPv6地址,測試私網通訊是否正常。
如果能接收到回複報文,表示通訊正常。經測試,ECS01執行個體到ECS02執行個體的IPv6私網通訊正常。
在ECS02執行個體中執行ping6
命令,ping
ECS01執行個體的IPv6地址,測試私網通訊是否正常。
如果能接收到回複報文,表示通訊正常。經測試,ECS02執行個體到ECS01執行個體的IPv6私網通訊正常。
說明 在此樣本中,兩台ECS執行個體互相訪問的前提是您的ECS01執行個體與ECS02執行個體均已配置了IPv6。
其他動作
添加IPv6安全性群組規則
IPv4和IPv6通訊彼此獨立,如果當前的安全性群組規則不能滿足業務需求,為了增強網路安全性您需要為ECS執行個體單獨配置IPv6安全性群組規則。
如何添加IPv6安全性群組規則
登入ECS管理主控台。
在左側導覽列,選擇。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
找到目標安全性群組,在操作列中,單擊管理規則。
在安全性群組詳情頁,找到訪問規則地區,選擇入方向或出方向。
添加安全性群組規則。具體操作,請參見添加安全性群組規則。
說明 您需要設定授權對象為IPv6位址區段,例如:2001:db8:1234:1a00::***
。有關安全性群組規則更多資訊,可參見安全性群組規則。
刪除已指派的IPv6地址
如果您的ECS執行個體不需要IPv6地址,您可以刪除執行個體的IPv6地址。刪除IPv6地址後,您仍然可以使用IPv4地址。本章節介紹如何通過ECS管理主控台刪除IPv6地址。
操作步驟
登入ECS管理主控台。
在左側導覽列,選擇。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
在彈性網卡頁面,選擇已綁定至目標執行個體並分配了IPv6地址的彈性網卡,然後在操作列單擊管理彈性網卡IP。
在彈出的管理彈性網卡IP對話方塊中,單擊IPv6地址資訊右側的表徵圖。
單擊確定。