一、申请弹性网卡与弹性IP:
根据腾讯云服务器网卡相关的限制规则:
https://cloud.tencent.com/document/product/213/15379#.E7.BD.91.E5.8D.A1.E7.9B.B8.E5.85.B3.E9.99.90.E5.88.B6
根据 CPU 和内存配置不同,云服务器可以绑定的弹性网卡数和单网卡绑定 IP 数如下表所示:
云服务器配置 | 弹性网卡数 | 网卡绑定 IP 数 | 单台机器总计 IP 数 |
---|---|---|---|
CPU: 1核 内存: 1G | 2 | 2 | 4 |
CPU: 1核 内存: > 1G | 2 | 6 | 12 |
CPU: 2核 | 2 | 10 | 20 |
... |
新规则:
从2019年9月18日云服务器绑定公网 IP 也将受到限制:https://cloud.tencent.com/document/product/213/5733
可知单台机器至少可配置4个弹性IP,接下来就以4个弹性IP为例,进行描述。
1、申请弹性网卡
首先,需要在腾讯云控制台 私有网络 中申请 2个弹性网卡:
https://console.cloud.tencent.com/vpc/eni
并且将两个弹性网卡的 所属网络、所属子网、绑定云主机、安全组 都配置为同一个,
弹性网卡的主内网IP可分配为:172.19.1.1、172.19.2.1
这样就机器就拥有了两个网关相同的网卡。
2、申请弹性IP
https://console.cloud.tencent.com/cvm/eip
根据规则,一个区域最多可申请20个弹性IP,绑定的弹性IP不计费,空闲的弹性IP按时计费。
在这里我们申请4个需要用到的外网弹性IP。
3、绑定弹性IP至弹性网卡
进入弹性网卡管理页面,对IP进行管理:
首先,分配更多的内网IP:
弹性网卡 | 内网IP |
---|---|
弹性网卡1 | 172.19.1.1、172.19.1.2 (更多IP可继续申请) |
弹性网卡2 | 172.19.2.1、172.19.2.2 (更多IP可继续申请) |
接着,将申请得到的弹性IP绑定到内网IP上,一个内网IP对应一个弹性IP。
到此,服务器上已成功绑定了4个外网弹性IP。
二、配置服务器
这里以 Ubuntu 18.04.1 LTS 为例,利用 iproute、netplan 工具进行配置。
1、编辑 iproute 配置文件:
代码语言:txt复制$ vim /etc/iproute2/rt_tables
为每一个IP配置路由表,在文字底部新增:
代码语言:txt复制#
# local
#
#1 inr.ruhep
111 eth0:1
112 eth0:2
121 eth1:1
122 eth1:2
# 更多ip可继续新增
2、编辑 netplan 配置文件:
代码语言:txt复制$ vim /etc/netplan/config.yaml
编辑文件
代码语言:txt复制network:
version: 2
renderer: networkd
ethernets:
eth0: # 弹性网卡1
dhcp4: true
addresses:
- 172.19.1.1/20 # 弹性网卡1 - 内网IP段1
- 172.19.1.2/20 # 弹性网卡1 - 内网IP段2
routes:
- to: 0.0.0.0/0
via: 172.19.1.1 # 弹性网卡1 - 内网IP1
table: 111 # 与上文 iproute table eth0:1 对应
- to: 0.0.0.0/0
via: 172.19.1.2 # 弹性网卡1 - 内网IP2
table: 112 # 与上文 iproute table eth0:2 对应
routing-policy:
- from: 172.19.1.1 # 弹性网卡1 - 内网IP1
table: 111 # 与上文 iproute table eth0:1 对应
- from: 172.19.1.2 # 弹性网卡1 - 内网IP2
table: 112 # 与上文 iproute table eth0:2 对应
eth1: # 弹性网卡2
dhcp4: true
addresses:
- 172.19.2.1/20 # 弹性网卡2 - 内网IP段1
- 172.19.2.2/20 # 弹性网卡2 - 内网IP段2
routes:
- to: 0.0.0.0/0
via: 172.19.2.1 # 弹性网卡2 - 内网IP1
table: 121 # 与上文 iproute table eth1:1 对应
- to: 0.0.0.0/0
via: 172.19.2.2 # 弹性网卡2 - 内网IP2
table: 122 # 与上文 iproute table eth1:2 对应
routing-policy:
- from: 172.19.2.1 # 弹性网卡2 - 内网IP1
table: 121 # 与上文 iproute table eth1:1 对应
- from: 172.19.2.2 # 弹性网卡2 - 内网IP2
table: 122 # 与上文 iproute table eth1:2 对应
3、使配置生效
代码语言:txt复制$ netplan apply
至此,完成配置,可用以下命令检测是否生效。
ifconfig
ip addr
ip rule
ip route
尝试每一个IP是否能通。