多公网IP型规格族

更新时间:
复制 MD 格式

多公网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

    本示例回显信息类似如下所示。

    root@iZbp148rxxxxx9brZ:~# ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.26.32.207  netmask 255.255.192.0  broadcast 172.26.63.255
            inet6 fexxx  eff:fe3d:5baa  prefixlen 64  scopeid 0x20<link>
            ether 00:xxx:55:aa  txqueuelen 1000  (Ethernet)
            RX packets 619  bytes 129149 (129.1 KB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 756  bytes 85244 (85.2 KB)
            TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0
    
    eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.26.32.208  netmask 255.255.192.0  broadcast 172.26.63.255
            inet6 fexxx  3eff:fe3d:5cc5  prefixlen 64  scopeid 0x20<link>
            ether 00 xxx d:5c:c5  txqueuelen 1000  (Ethernet)
            RX packets 117  bytes 16198 (16.1 KB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 125  bytes 10002 (10.0 KB)
            TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 316  bytes 29907 (29.9 KB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 316  bytes 29907 (29.9 KB)
            TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0
    
    root@iZbp148rvxxxxxbrZ:~# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         172.26.63.253   0.0.0.0         UG    100    0        0 eth0
    0.0.0.0         172.26.63.253   0.0.0.0         UG    100    0        0 eth1
    100.100.2.136   172.26.63.253   255.255.255.255 UGH   100    0        0 eth0
    • 网卡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

  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已经修改。

    root@iZbp148xxxq0brZ:~# ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.26.32.208  netmask 255.255.192.0  broadcast 172.26.63.255
            inet6 fexxx  xxx:fe3d:55aa  prefixlen 64  scopeid 0x20<link>
            ether 00:xxx  xxx:5a:aa  txqueuelen 1000  (Ethernet)
            RX packets 128478  bytes 189859634 (189.8 MB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 5730  bytes 472293 (472.2 KB)
            TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0
    
    eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.26.32.207  netmask 255.255.192.0  broadcast 172.26.63.255
            inet6 fexxx  3eff:fe3d:5cc5  prefixlen 64  scopeid 0x20<link>
            ether 00:xxx  d:5c:c5  txqueuelen 1000  (Ethernet)
            RX packets 1397  bytes 133366 (133.3 KB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 1337  bytes 84975 (84.9 KB)
            TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 4457  bytes 302982 (302.9 KB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 4457  bytes 302982 (302.9 KB)
            TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0

路由配置

多公网IP型实例默认已配置好多张网卡的路由规则,以确保流量从正确的公网IP进出。

默认路由配置

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

  • 网卡eth1上的IP:入,出流量均经过eth1。

验证默认路由配置

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

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

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

    eth0进行ICMP数据包监测

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

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

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

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

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

      root@iZbp148rvyxxx_q0brZ:~# tcpdump -i eth0 icmp
      tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
      listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
      15:01:16.834806 IP 124.xxx > iZbp148rvyxxx q0brZ: ICMP echo request, id 1, seq 52477, length 40
      15:01:16.834869 IP iZbpxxx 2eittq0brZ > 12xxx.166: ICMP echo reply, id 1, seq 52477, length 40
      15:01:17.837805 IP 124.xxx > iZbp148rvyxxx q0brZ: ICMP echo request, id 1, seq 48910, length 40
      15:01:17.837840 IP iZbpxxx 2eittq0brZ > 12xxx.166: ICMP echo reply, id 1, seq 48910, length 40
      15:01:18.840947 IP xxx > iZbp148rvyxxx q0brZ: ICMP echo request, id 1, seq 43647, length 40
      15:01:18.840993 IP iZbpxxx 2eittq0brZ > 12xxx.166: ICMP echo reply, id 1, seq 43647, length 40
      15:01:19.845808 IP 124.xxx > iZbp148rvyxxx q0brZ: ICMP echo request, id 1, seq 61273, length 40
      15:01:19.845843 IP iZbpxxx 2eittq0brZ > 12xxx.166: ICMP echo reply, id 1, seq 61273, length 40

    eth1进行ICMP数据包监测

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

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

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

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

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

      17:19:40.131951 IP 14xxx > iZ2ze4so5eiwlxxx: ICMP echo request, id 6567, seq 380, length 64
      17:19:40.131990 IP iZxxx.wh56       > 1xxx.8: ICMP echo reply, id 6567, seq 380, length 64
      17:19:41.138997 IP 14xxx > iZ2ze4so5eiwlxxx: ICMP echo request, id 6567, seq 381, length 64
      17:19:41.139021 IP iZxxx.wh56       > 1xxx.8: ICMP echo reply, id 6567, seq 381, length 64
      17:19:42.137495 IP 14xxx > iZ2ze4so5eiwlxxx: ICMP echo request, id 6567, seq 382, length 64
      17:19:42.137519 IP iZxxx.wh56       > 1xxx.8: ICMP echo reply, id 6567, seq 382, length 64