多公网IP型规格族

多公网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张网卡(eth0eth1),默认网络配置文件如下所示。

Ubuntu 24.04

默认网络配置文件/etc/netplan/50-cloud-init.yaml类似如下所示:

  • 配置2IP

    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
  • 配置3IP

    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面板阿里云专享版

  • 配置2IP

    • 默认网络配置文件/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
  • 配置3IP

    • 默认网络配置文件/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   #子网掩码

修改网络配置

如果默认的网络配置不满足您的业务需求,您可以按需修改网络配置,例如:修改eth0eth1上默认绑定的私网IP。本示例以Ubuntu 24.04配置2IP为例,将网卡eth1eth0上的私网IP互换位置。

  1. 远程连接多公网IP服务器。具体操作,请参见远程连接Linux服务器

  2. 执行以下命令,查看子网掩码、网卡的私网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

    image

  3. 执行以下命令,修改网络默认配置文件。

    sudo vim /etc/netplan/50-cloud-init.yaml
  4. i进入编辑模式,根据需求修改网络配置。

    本示例将网卡eth1eth0上的私网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
  5. Esc键,输入:wq并按Enter键,保存并退出文件。

  6. 执行以下命令,使配置生效。

    sudo netplan apply
  7. 执行以下命令,检查配置是否生效。

    ifconfig

    回显信息类似如下所示,表示网卡eth0eth1上的私网IP已经修改。

    image

路由配置

通过配置路由表和规则,您可以实现不同的路由策略,将特定的网络流量通过指定的网卡进行转发,以便更加精确地控制和管理网络流量的转发路径。

默认路由配置

  • 网卡eth0上的IP:入、出流量均经过eth0。

  • 网卡eth1上的IP:入流量过eth1,出流量走eth0。

本示例以Ubuntu 24.04配置2IP为例,验证操作如下所示:

  1. 在服务器卡片中,单击实例ID,在轻量应用服务器的服务器概览页面,查看私网IP对应的公网IP地址。

    image

  2. 对两个网络接口eth0、eth1分别进行ICMP数据包监测。

    eth0进行ICMP数据包监测

    1. 远程连接多公网IP服务器。具体操作,请参见远程连接Linux服务器

    2. 执行以下命令,在网络接口 eth0 上捕获 ICMP协议的数据包。

      tcpdump -i eth0 icmp
    3. 在具有公网的本地电脑上,执行以下命令,通过ping eth0上私网IP对应的公网IP,向多公网IP实例发送数据包。

      ping 120.XX.XX.30
    4. 在多公网IP服务器的命令行窗口中,查看网卡eth0的数据包信息。

      回显信息类似如下所示,数据包从eth0接口进入,收到请求(request)之后,依然从网络接口eth1回复(reply),表示网卡eth0IP的入、出流量均经过eth0。

      image

    eth1进行ICMP数据包监测

    1. 远程连接多公网IP服务器。具体操作,请参见远程连接Linux服务器

    2. 执行以下命令,在网络接口 eth1 上捕获 ICMP协议的数据包。

      tcpdump -i eth1 icmp
    3. 重新打开一个命令行窗口,执行以下命令,在网络接口 eth0 上捕获 ICMP协议的数据包。

      tcpdump -i eth0 icmp
    4. 在具有公网的本地电脑上,执行以下命令,通过ping eth1上私网IP对应的公网IP,向多公网IP实例发送数据包。

      ping 120.XX.XX.254
    5. 在多公网IP服务器的命令行窗口中,查看数据包信息。

      回显信息类似如下所示,数据包从eth1接口进入,收到请求(request)之后,从网络接口eth0回复(reply),表示网卡eth0IP的入流量过eth1,出流量走eth0。

      image

      image

修改路由配置

如果默认路由配置不满足您的业务需求,您可以修改路由配置。本示例以Ubuntu 24.04配置2IP为例,默认网卡eth1上的IP入流量过eth1,出流量走eth0,修改后入、出流量均走eth1。具体操作如下:

  1. 修改路由配置。

    1. 执行以下命令,查看子网掩码、网卡的私网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

      image

    2. 在服务器卡片中,单击实例ID,在轻量应用服务器的服务器概览页面,查看私网IP对应的公网IP地址。

      image

    3. 执行以下命令,配置路由使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    
  2. 验证配置路由结果。

    1. 执行以下命令,在网络接口 eth1 上捕获 ICMP协议的数据包。

      sudo tcpdump -i eth1 icmp
    2. 在具有公网的本地电脑上,执行以下命令,通过ping eth1上私网IP对应的公网IP,向多公网IP实例发送数据包。

      ping 120.XX.XX.254
    3. 在多公网IP服务器的命令行窗口中,查看数据包信息。

      回显信息类似如下所示,数据包从eth1接口进入,收到请求(request)之后,从网络接口eth1回复(reply),表示出、入流量均走eth1,配置路由成功。

      image

  3. (可选)配置开机时自动更新路由,使配置永久生效。

    eth1配置路由后,需要将配置路由的命令写入rc.local文件,以便在开机时自动更新路由,否则重启实例后该路由配置会失效。

    1. 执行以下命令,修改配置文件。

      sudo vim /etc/rc.local
    2. i进入编辑模式,将您的路由配置命令写入配置文件中。

      sudo ip -4 route add default via <eth1的网关地址> dev eth1 table 1001
      sudo ip -4 rule add from <eth1的公网IP地址> lookup 1001
    3. Esc键,输入:wq并按Enter键,保存并退出文件。

    4. 执行以下命令,为配置文件赋予可执行权限。

      sudo chmod +x /etc/rc.local