彈性網卡(包括主網卡和輔助彈性網卡)支援分配一個或多個輔助私網IP地址,以滿足您在多應用、容錯移轉和負載平衡等業務情境下的多IP的需求。本文介紹如何分配並配置輔助私網IP地址,以及回收輔助私網IP地址。
輔助私網IP概述
當ECS執行個體彈性網卡(包括主網卡與輔助彈性網卡)的單一主私網IP無法滿足您對多IP的需求時,您可以為ECS執行個體的網卡分配多個輔助私網IP,從而使單個ECS執行個體擁有多個私網IP。您可以參考下圖來理解ECS執行個體網卡與私網IP的關係。
適用情境
輔助私網IP地址適用於以下情境:
多應用情境:在ECS執行個體上部署了多個應用時,您可以為每個應用程式指派各自的輔助私網IP地址,每個應用對外均呈現一個獨立的IP地址,實現在同一台ECS執行個體上提供多項服務,提升執行個體的利用率。
容錯移轉情境:當執行個體發生故障時,您可以將輔助彈性網卡從故障執行個體解除綁定並綁定至備用執行個體,通過其輔助私網IP訪問的請求流量也隨之切換到備用執行個體,實現容錯移轉。
負載平衡情境:通過為執行個體分配多個輔助私網IP地址,可以實現負載平衡機制,負載平衡器可以根據流量類型將請求分發到不同的私網IP地址,提高系統的延展性和效能。
為彈性網卡添加輔助私網IP地址
步驟一:為彈性網卡分配輔助私網IP地址
您可以在控制台上目標彈性網卡(包括ECS執行個體的主網卡或輔助彈性網卡)的管理彈性網卡IP頁面進行輔助私網IP的增加或刪除。具體操作樣本如下:
登入ECS管理主控台。
在左側導覽列,選擇。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
在彈性網卡頁面,找到待操作的彈性網卡,然後在操作列中單擊管理彈性網卡IP。
在管理彈性網卡IP對話方塊中,在輔助私網IPv4或者IPv6參數地區單擊增加,並根據需要分配IP地址。
單擊確定,完成輔助私網IP地址分配。
確認目標彈性網卡的輔助私網IP正確分配。
您可以通過查看ECS執行個體的彈性網卡詳情頁確認以上資訊,樣本如下:
步驟二(條件可選):綁定彈性網卡。
當您選擇為輔助彈性網卡添加輔助私網IP時,需要確保輔助彈性網卡已經綁定至ECS執行個體並已經完成配置,具體操作,請參見綁定輔助彈性網卡與配置輔助彈性網卡。
本文樣本為ECS執行個體主網卡分配輔助私網IP,所以無需進行此步驟操作。
步驟三:配置作業系統識別輔助私網IP地址
為執行個體分配輔助私網IP地址後,您還需要根據作業系統類型和IP地址類型來配置執行個體的輔助私網IP地址。配置的具體操作因作業系統和IP地址類型而異。
配置樣本
操作前請確保對應的執行個體處於運行中(Running)狀態。具體操作,請參見啟動執行個體。
本文提供了如下主流作業系統的配置步驟,請根據您的作業系統進行配置:
Linux作業系統配置樣本
遠端連線ECS執行個體。
具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體。
查看當前網路設定資訊和路由資訊,確認配置需要的預設閘道和子網路遮罩。
查看主私網IPv4地址
執行以下命令,查看網路設定資訊:
ip a
通過返回資訊,可以看到當前執行個體的網路設定資訊:
通過以上資訊可以看到目前網路設定資訊如下:
查看子網路遮罩及網關
執行以下命令,查看路由資訊:
route -n
通過返回資訊,可以看到:
結合以上資訊,可以看到當前網路設定資訊如下所示:
網卡 | 狀態 | 預設閘道 | 子網路遮罩 | 主私網IP地址 | 輔助私網IPv4地址1 | 輔助私網IPv4地址2 |
eth0(主網卡) | UP | 192.168.1.253 | 255.255.255.0 | 192.168.1.201(已自動設定) | 192.168.1.202(未識別需配置) | 192.168.1.203(未識別需配置) |
根據您的實際情況,選擇不同的方式配置輔助私網IPv4地址。
使用nmcli con
配置
說明 NetworkManager 是 Linux 系統中一個用於管理網路連接和網路設定的守護進程,它提供了命令列工具nmcli,使得使用者可以輕鬆地管理網路連接。
適用於所有通過NetworkManager管理網路服務的作業系統,包括但不限於Fedora、CentOS、RHEL、Ubuntu/Debian以及基於這些發行版的系統。
樣本串連:網卡eth0對應的串連名稱,您需要根據實際情況修改串連名稱。
執行以下命令,建立檔案禁用cloud-init的網路設定功能,避免重啟後配置失效,更多資訊參見cloud-init自動初始化網路設定。
sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
添加如下配置項:
network: {config: disabled}
執行以下命令,查看當前網路連接資訊。
nmcli con show
不同Linux發行版網路連接的命名均不同,本文中樣本如下:
執行以下命令,配置eth0的輔助私網IPv4地址、預設閘道、 IPv4 配置方法(手動或DHCP等)等資訊。
sudo nmcli con modify System\ eth0 ipv4.addresses 192.168.1.201/24,192.168.1.202/24,192.168.1.203/24
sudo nmcli con modify System\ eth0 ipv4.gateway 192.168.1.253
sudo nmcli con modify System\ eth0 ipv4.method manual
執行以下命令,啟用修改後的網路連接。
sudo nmcli con up System\ eth0
如果配置正確,返回資訊出現類似"Connection successfully activated"字樣時表示配置成功。
傳統方式編輯網路設定檔
RHEL系列
說明 適用的作業系統:Alibaba Cloud Linux 2/3、CentOS 6/7/8、Red Hat 6/7/8/9、Anolis 7/8、Fedora 33/34/35。
樣本作業系統:Alibaba Cloud Linux 3.2。
樣本網卡:以網卡eth0為例示範操作,您需要根據實際情況修改網路介面標識。
執行以下命令,確認網卡的主設定檔是否存在。每個網路介面都會有一個對應的設定檔,用於標識具體的網路介面。
ls /etc/sysconfig/network-scripts/ifcfg-eth0
檔案存在:已建立網卡的主設定檔,直接進行步驟b即可。
檔案不存在:建立檔案並手動設定網卡的基本資料。
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置網卡名稱,設定擷取IP為靜態擷取方式並且配置網卡的主私網IPv4地址、子網路遮罩及網關資訊。
本樣本中,如果eth0檔案不存在,則直接配置如下:
# 網卡名稱,例如:eth0
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=dhcp
#系統啟動時啟用該網路介面
ONBOOT=yes
執行以下命令,配置網卡eth0的第一個輔助私網IPv4地址。
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
本樣本中,配置eth0的第一個輔助私網IPv4地址:
#網卡名稱:網卡輔助私網IP地址順序號
DEVICE=eth0:0
TYPE=Ethernet
#靜態IP
BOOTPROTO=static
#手動設定IPv4地址和子網路遮罩
IPADDR=192.168.1.202
NETMASK=255.255.255.0
配置網卡eth0的第二個輔助私網IPv4地址
說明 多個輔助私網IP地址操作類似,注意以下幾點即可:
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0:1
本文中,配置eth0網卡的第二個輔助私網IPv4地址樣本如下所示:
#網卡名稱:網卡輔助私網IP地址順序號
DEVICE=eth0:1
TYPE=Ethernet
BOOTPROTO=static
#手動設定IPv4地址和子網路遮罩
IPADDR=192.168.1.203
NETMASK=255.255.255.0
Ubuntu 18/20
執行以下命令,禁用cloud-init的網路設定功能。
重要 網路設定檔(/etc/netplan/50-cloud-init.yaml)由cloud-init
在執行個體啟動時候自動產生,如果要編輯,需要先禁用cloud-init的網路設定功能。具體資訊,請參見cloud-init自動初始化網路設定。
sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
添加如下配置項:
network: {config: disabled}
執行如下命令,編輯網路設定檔,配置網路介面配置資訊。
sudo vim /etc/netplan/50-cloud-init.yaml
本文樣本配置如下:
network:
version: 2
ethernets:
eth0: #網路介面名稱
dhcp4: false #預設為dhcp自動設定,false需要手動設定IP
match:
macaddress: 00:16:3e:16:43:xx #您實際的網卡的mac地址
set-name: eth0
addresses:
- 192.168.1.201/24 #網卡主私網IP地址
- 192.168.1.202/24 #網卡輔助私網IP地址1
- 192.168.1.203/24 #網卡輔助私網IP地址2
gateway4: 192.168.1.253 #預設閘道
Ubuntu 22/24、Debian 12
執行以下命令,禁用cloud-init的網路設定功能。
重要 網路設定檔(/etc/netplan/50-cloud-init.yaml)由cloud-init
在執行個體啟動時候自動產生,如果要編輯,需要先禁用cloud-init的網路設定功能。具體資訊,請參見cloud-init自動初始化網路設定。
sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
添加如下配置項:
network: {config: disabled}
執行如下命令,編輯網路設定檔,配置網路介面配置資訊。
sudo vim /etc/netplan/50-cloud-init.yaml
本文樣本配置如下:
network:
version: 2
ethernets:
eth0: #網路介面名稱
dhcp4: false #預設為dhcp自動設定,false需要手動設定IP
match:
macaddress: 00:16:3e:16:43:xx #您實際的網卡的mac地址
set-name: eth0
addresses:
- 192.168.1.201/24 #網卡主私網IP地址
- 192.168.1.202/24 #網卡輔助私網IP地址1
- 192.168.1.203/24 #網卡輔助私網IP地址2
routes:
- to: default
via: 192.168.1.253 #預設閘道
重啟網路服務,使配置生效。
說明 如果您參考上述的nmcli con
方式完成配置,無需重啟網路服務,NetworkManager會監控設定檔的變化並應用新的配置。
作業系統 | 重啟服務命令 |
Alibaba Cloud Linux 2 CentOS 7 Red Hat 7 Anolis 7 SUSE Linux 11/12/15 OpenSUSE 15/42
| sudo service network restart
或sudo systemctl restart network |
| sudo service network restart
|
Alibaba Cloud Linux 3 CentOS 8 Red Hat 8 Anolis 8 Fedora 33/34/35
| sudo systemctl restart NetworkManager 或sudo reboot
|
| sudo netplan apply
|
Ubuntu 14/16 Debian 8/9/10/11
| sudo systemctl restart networking 或sudo reboot
|
再次執行步驟2的操作驗證配置是否成功。
Windows作業系統配置樣本
遠端連線Windows執行個體。
具體操作,請參見使用Workbench工具以RDP協議登入Windows執行個體。
查看當前的網路設定和路由資訊,確認配置需要的預設閘道和子網路遮罩。
開啟命令提示字元或Windows PowerShell工具。
執行以下命令,查看當前網卡及IP資訊。
ipconfig
通過返回資訊,可以看到目前網卡及IP識別資訊:
可以看到目前網路設定和路由資訊如下:
網卡 | 網路遮罩 | 預設閘道 | 主私網IP地址 | 待配置私網IPv4地址1 | 待配置私網IPv4地址2 |
乙太網路(主網卡) | 255.255.255.0 | 192.168.1.253 | 192.168.1.201(已自動設定) | 192.168.1.202(未識別需配置) | 192.168.1.203(未識別需配置) |
開啟網路和共用中心。
單擊更改適配器設定。
雙擊當前主網卡網路名稱乙太網路,然後在乙太網路狀態對話方塊中單擊屬性。
在乙太網路屬性對話方塊中,雙擊網際網路通訊協定 (IP)版本4(TCP/IPv4)。
在網際網路通訊協定 (IP)版本4(TCP/IPv4)屬性對話方塊中,選擇使用下面的IP地址,然後單擊進階。
重要 此處改變了自動擷取IP的策略,完全為手動設定,因此下面的配置也需要配置網卡的主私網IP地址。否則會導致執行個體無法通過主私網IP遠端連線。
在進階TCP/IP設定對話方塊中,設定IP地址。
在IP地址地區,單擊添加,然後輸入已指派的乙太網路的主私網IP地址和輔助私網IP地址和查詢擷取的子網路遮罩。
本樣本中,輸入乙太網路申請的兩個輔助私網IP
在預設閘道地區,單擊添加,然後輸入查詢擷取的預設閘道。
單擊確定儲存各對話方塊中的設定,完成輔助私網IPv4的配置。再次執行步驟2的操作驗證配置是否成功。
其他動作系統配置樣本
Ubuntu 14/16、Debian 8/9/10/11
執行如下命令,編輯網路設定檔,配置網路介面資訊。
sudo vi /etc/network/interfaces
配置項樣本如下所示:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth0:0
iface eth0:0 inet static
address 192.168.1.202
netmask 255.255.255.0
auto eth0:1
iface eth0:1 inet static
address 192.168.1.203
netmask 255.255.255.0
重啟網路服務,使配置生效。
SLES系列
說明 適用的作業系統:SUSE Linux 11/12/15、OpenSUSE 15。
樣本作業系統:SUSE Linux 15 SP5。
樣本網卡:以網卡eth0為例示範操作,您需要根據實際情況修改網路介面標識。
執行以下命令,開啟eth0網卡的設定檔並配置eth0的輔助私網IPv4地址、子網路遮罩等。
sudo vi /etc/sysconfig/network/ifcfg-eth0
設定檔樣本如下:
#禁用dhcp,改為靜態擷取
BOOTPROTO=static
STARTMODE=auto
USERCONTROL=no
#多個IP後面加序號尾碼
IPADDR_1=192.168.1.201
NETMASK_1=255.255.255.0
LABEL_1=
IPADDR_2=192.168.1.202
NETMASK_2=255.255.255.0
LABEL_2=0
IPADDR_3=192.168.1.203
NETMASK_3=255.255.255.0
LABEL_3=1
說明 您可以通過執行sudo cat /etc/sysconfig/network/ifcfg.template
查看模板設定檔中的解釋。
執行以下命令,查看全域網路設定檔案有無預設閘道資訊:
cat /etc/sysconfig/network/routes
如果沒有,在檔案中添加預設閘道資訊,樣本如下:
default 192.168.1.253 - -
重啟網路服務,使配置生效。
回收輔助私網IP地址
如果您的彈性網卡不再需要輔助私網IP地址,您可以回收彈性網卡上已指派的一個或多個輔助私網IP地址。您可以參照以下步驟回收輔助私網IP地址。
前提條件
回收輔助私網IP地址之前,請確認以下資訊:
操作步驟
登入ECS管理主控台。
在左側導覽列,選擇。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
在彈性網卡列表頁面,找到目標彈性網卡,在操作列,單擊管理彈性網卡IP。
在管理彈性網卡IP對話方塊的輔助私網IPv4地區,找到要回收的一個或多個輔助私網IP地址,單擊IP地址所在行右側的表徵圖。
單擊確定。
重新整理列表,如果目標彈性網卡的IP地址列不再出現該IP地址,說明您已成功回收輔助私網IP地址。
擴充閱讀
cloud-init自動初始化網路設定
cloud-init是一款開源初始化工具,能夠為Linux作業系統提供初始化密碼、設定主機名稱、執行自訂指令碼等初始化配置能力。阿里雲所有公用鏡像已預設安裝cloud-init,在ECS執行個體啟動時,cloud-init會自動產生系統的網路設定資訊。
配置IP地址的方式
作業系統中配置IP地址的方式,包括預設的DHCP和static(靜態配置)。在配置輔助私網IP時候,您需要根據實際情況選擇配置方式。