多公网IP型实例可以为每个网站或应用配置独立的公网IP地址,提高网络性能和安全,主要适用于电商账号安全管理、游戏账号安全管理、短视频账号安全管理、游戏加速等场景。本文档主要介绍多公网IP型实例的使用限制及其默认网络和路由配置,并提供修改网络和路由配置的操作指导。
使用限制
仅Ubuntu 24.04、CentOS 7.6、Alibaba Cloud Linux 3、宝塔Linux面板阿里云专享版以及这些镜像创建的自定义镜像支持多公网IP型规格族。
多公网IP型实例规格族暂不支持重置系统。
多公网IP型规格族套餐中的峰值带宽为200 Mbps,由多个固定公网IP地址共享:
如果固定公网地址为2 个 IPv4:每个IP的峰值带宽均为100 Mbps。
如果固定公网地址为3 个 IPv4:每个IP的峰值带宽为67 Mbps。
网络配置
默认网络配置
多公网IP型实例默认创建了2张网卡(eth0和eth1),默认网络配置文件如下所示。
Ubuntu 24.04
默认网络配置文件/etc/netplan/50-cloud-init.yaml
类似如下所示:
配置2个IP
network: ethernets: eth0: dhcp4: true dhcp4-overrides: route-metric: 100 dhcp6: false match: macaddress: 00:16:3e:08:XX:XX #eth0 MAC地址 set-name: eth0 eth1: dhcp4: true dhcp4-overrides: route-metric: 200 dhcp6: false match: macaddress: 00:16:3e:08:XX:XX #eth1 MAC地址 set-name: eth1 version: 2
配置3个IP
network: ethernets: eth0: dhcp4: true dhcp6: false match: macaddress: 00:16:3e:09:XX:XX #eth0 MAC地址 set-name: eth0 dhcp4-overrides: route-metric: 100 eth1: dhcp4: false dhcp4-overrides: route-metric: 200 dhcp6: false match: macaddress: 00:16:3e:09:XX:XX #eth1 MAC地址 set-name: eth1 addresses: - 172.26.32.200/18 #eth1上的私网IP1 - 172.26.32.201/18 #eth1上的私网IP2 routes: - to: default via: 172.26.63.253 #默认网关 version: 2
CentOS 7.6、Alibaba Cloud Linux 3、宝塔Linux面板阿里云专享版
配置2个IP
默认网络配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0
如下:DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes
默认网络配置文件
/etc/sysconfig/network-scripts/ifcfg-eth1
如下:DEVICE=eth1 BOOTPROTO=dhcp ONBOOT=yes TYPE=Ethernet HWADDR=00:16:3e:09:XX:XX #MAC地址 DEFROUTE=no
配置3个IP
默认网络配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0
如下:DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes
默认网络配置文件
/etc/sysconfig/network-scripts/ifcfg-eth1
如下:DEVICE=eth1 BOOTPROTO=dhcp ONBOOT=yes TYPE=Ethernet HWADDR=00:16:3e:09:XX:XX #MAC地址 DEFROUTE=no
默认网络配置文件
/etc/sysconfig/network-scripts/ifcfg-eth1:1
如下:DEVICE=eth1:1 TYPE=Ethernet BOOTPROTO=static ONBOOT=yes IPADDR=172.26.32.206 #私网IP地址 NETMASK=255.255.192.0 #子网掩码
修改网络配置
如果默认的网络配置不满足您的业务需求,您可以按需修改网络配置,例如:修改eth0和eth1上默认绑定的私网IP。本示例以Ubuntu 24.04配置2个IP为例,将网卡eth1
和eth0
上的私网IP互换位置。
远程连接多公网IP服务器。具体操作,请参见远程连接Linux服务器。
执行以下命令,查看子网掩码、网卡的私网IP和默认网关。
ifconfig route -n
本示例回显信息类似如下所示。
网卡eth0
私网IP(inet):172.26.32.207
子网掩码(netmask):255.255.192.0
默认网关(Gateway):172.26.63.253
网卡eth1:
私网IP(inet):172.26.32.208
子网掩码(netmask):255.255.192.0
默认网关(Gateway):172.26.63.253
执行以下命令,修改网络默认配置文件。
sudo vim /etc/netplan/50-cloud-init.yaml
按
i
进入编辑模式,根据需求修改网络配置。本示例将网卡
eth1
和eth0
上的私网IP互换位置。network: ethernets: eth0: dhcp4: false #禁用DHCP dhcp4-overrides: route-metric: 100 dhcp6: false match: macaddress: 00:16:3e:08:XX:XX set-name: eth0 addresses: - 172.26.32.208/18 #修改eth0上的私网IP为原eth1上的私网IP eth1: dhcp4: false #禁用DHCP dhcp4-overrides: route-metric: 200 dhcp6: false match: macaddress: 00:16:3e:08:XX:XX set-name: eth1 addresses: - 172.26.32.207/18 #修改eth1上的私网IP为原eth0上的私网IP routes: - to: default via: 172.26.63.253 #配置eth1上的网关 version: 2
按
Esc
键,输入:wq
并按Enter
键,保存并退出文件。执行以下命令,使配置生效。
sudo netplan apply
执行以下命令,检查配置是否生效。
ifconfig
回显信息类似如下所示,表示网卡
eth0
和eth1
上的私网IP已经修改。
路由配置
通过配置路由表和规则,您可以实现不同的路由策略,将特定的网络流量通过指定的网卡进行转发,以便更加精确地控制和管理网络流量的转发路径。
默认路由配置
网卡eth0上的IP:入、出流量均经过eth0。
网卡eth1上的IP:入流量过eth1,出流量走eth0。
本示例以Ubuntu 24.04配置2个IP为例,验证操作如下所示:
在服务器卡片中,单击实例ID,在轻量应用服务器的服务器概览页面,查看私网IP对应的公网IP地址。
对两个网络接口eth0、eth1分别进行ICMP数据包监测。
对eth0进行ICMP数据包监测
远程连接多公网IP服务器。具体操作,请参见远程连接Linux服务器。
执行以下命令,在网络接口
eth0
上捕获 ICMP协议的数据包。tcpdump -i eth0 icmp
在具有公网的本地电脑上,执行以下命令,通过ping eth0上私网IP对应的公网IP,向多公网IP实例发送数据包。
ping 120.XX.XX.30
在多公网IP服务器的命令行窗口中,查看网卡
eth0
的数据包信息。回显信息类似如下所示,数据包从eth0接口进入,收到请求(request)之后,依然从网络接口eth1回复(reply),表示网卡eth0上IP的入、出流量均经过eth0。
对eth1进行ICMP数据包监测
远程连接多公网IP服务器。具体操作,请参见远程连接Linux服务器。
执行以下命令,在网络接口
eth1
上捕获 ICMP协议的数据包。tcpdump -i eth1 icmp
重新打开一个命令行窗口,执行以下命令,在网络接口
eth0
上捕获 ICMP协议的数据包。tcpdump -i eth0 icmp
在具有公网的本地电脑上,执行以下命令,通过ping eth1上私网IP对应的公网IP,向多公网IP实例发送数据包。
ping 120.XX.XX.254
在多公网IP服务器的命令行窗口中,查看数据包信息。
回显信息类似如下所示,数据包从
eth1
接口进入,收到请求(request)之后,从网络接口eth0
回复(reply),表示网卡eth0上IP的入流量过eth1,出流量走eth0。
修改路由配置
如果默认路由配置不满足您的业务需求,您可以修改路由配置。本示例以Ubuntu 24.04配置2个IP为例,默认网卡eth1
上的IP入流量过eth1
,出流量走eth0
,修改后入、出流量均走eth1
。具体操作如下:
修改路由配置。
执行以下命令,查看子网掩码、网卡的私网IP和默认网关。
ifconfig route -n
本示例回显信息类似如下所示。
网卡eth0
私网IP(inet):172.26.32.207
子网掩码(netmask):255.255.192.0
默认网关(Gateway):172.26.63.253
网卡eth1:
私网IP(inet):172.26.32.208
子网掩码(netmask):255.255.192.0
默认网关(Gateway):172.26.63.253
在服务器卡片中,单击实例ID,在轻量应用服务器的服务器概览页面,查看私网IP对应的公网IP地址。
执行以下命令,配置路由使eth1上的公网IP出流量走eth1。
sudo ip -4 route add default via <eth1的网关地址> dev eth1 table 1001 sudo ip -4 rule add from <eth1的私网IP地址> lookup 1001
本示例中以eth1为例,创建一张eth1使用的路由表1001和一条关联至该路由表的路由策略,表示来自172.26.62.198的数据包由路由表1001决定其路径,即将数据包发送至eth1出口。配置示例命令如下所示:
ip -4 route add default via 172.26.63.253 dev eth1 table 1001 ip -4 rule add from 172.26.62.198 lookup 1001
验证配置路由结果。
执行以下命令,在网络接口
eth1
上捕获 ICMP协议的数据包。sudo tcpdump -i eth1 icmp
在具有公网的本地电脑上,执行以下命令,通过ping eth1上私网IP对应的公网IP,向多公网IP实例发送数据包。
ping 120.XX.XX.254
在多公网IP服务器的命令行窗口中,查看数据包信息。
回显信息类似如下所示,数据包从
eth1
接口进入,收到请求(request)之后,从网络接口eth1
回复(reply),表示出、入流量均走eth1
,配置路由成功。
(可选)配置开机时自动更新路由,使配置永久生效。
为eth1配置路由后,需要将配置路由的命令写入
rc.local
文件,以便在开机时自动更新路由,否则重启实例后该路由配置会失效。执行以下命令,修改配置文件。
sudo vim /etc/rc.local
按
i
进入编辑模式,将您的路由配置命令写入配置文件中。sudo ip -4 route add default via <eth1的网关地址> dev eth1 table 1001 sudo ip -4 rule add from <eth1的公网IP地址> lookup 1001
按
Esc
键,输入:wq
并按Enter
键,保存并退出文件。执行以下命令,为配置文件赋予可执行权限。
sudo chmod +x /etc/rc.local