购买的腾讯云CVM服务器默认只有一个公网IP的,如果您的业务有多IP的需求,可以通过云服务器绑定弹性网卡,再通过弹性网卡绑定弹性公网IP的方式实现。本文为介绍如何通过绑定弹性网卡的方式,绑定弹性公网IP的方式。

一、配置前需了解

1、腾讯云各配置服务器弹性网卡及绑定ip数配额

云服务器配置弹性网卡数单网卡绑定ip数
CPU:1核内存:1G22
CPU:1核内存:大于1G26
CPU:2核210
CPU:4核内存:小于等于16G410
CPU:4核内存:大于16G420
CPU:8-12核620
CPU:大于12核830

2、弹性公网IP绑定云服务器限制

从2019年9月18日(含)起,根据 CPU 配置的差异,单台云服务器支持绑定的公网 IP 数量上限将会发生变化,具体数额如下表所示:

注意:

在2019年9月18日零点前购买的云服务器不受下述限制。

如果您的云服务器是通过官网活动购买,则云服务器支持绑定的公网 IP 数量以活动规则为准。

云服务器的 CPU 数支持绑定的公网 IP 数量上限(含普通公网 IP 和 EIP)
CPU:1 - 52
CPU:6 - 113
CPU:12 - 174
CPU:18 - 235
CPU:24 - 296
CPU:30 - 357
CPU:36 - 418
CPU:42 - 479
CPU:≥ 4810

3、查看网关

如果您未更改其他设置,则网关为子网网段的首个 IP。例如,子网网段为:192.168.0.0/24,则网关为:192.168.0.1

4、查看子网掩码

CIDR 位数与交换机子网掩码的对应关系如下表所示:

CIDR 位数子网掩码
/28255.255.255.240
/27255.255.255.224
/26255.255.255.192
/25255.255.255.128
/24255.255.255.0
/23255.255.254.0
/22255.255.252.0
/21255.255.248.0
/20255.255.240.0
/19255.255.224.0
/18255.255.192.0
/17255.255.128.0
/16255.255.0.0

二、详细配置流程

1、登录腾讯云服务器控制台,如果没有看到您购买的云服务器,左上角选择地域



2、单击腾讯云CVM服务器的【实例ID】![]

3、进入云服务器基本信息页面后,单击【弹性网卡】>> 【绑定弹性网卡】



4、在弹出的绑定网卡的页面中,选择新建弹性网卡并绑定,如果需要绑定多个ip就需要新建多个辅助网卡,可以根据您的交换机网段自定义内网ip,方便后续添加IP容易记。

注意:本示例中的云服务器是1核2G,参考弹性网卡及绑定ip数配额,可以绑定6个ip。如果您只需要多一个ip,没必要向我这样新建那么多辅助网卡。



5、登录弹性公网ip控制台,根据需求创建弹性公网ip地址,并绑定到辅助弹性网卡主IP地址上。绑定完成后其他的IP地址绑定公网ip的为灰色了,说明本示例的云服务器仅支持绑定一个弹性公网ip。

注意:本示例中的云服务器是1核2G,参考弹性公网IP绑定云服务器限制,支持绑定的公网 IP 数量上限2个。

6、为辅助网卡绑定安全组,绑定的安全组可以和主网卡一致,该步骤勿忽略。


7、测试新绑定的弹性公网IP目前还不能正常使用,新绑定的弹性公网ip无法ping通,原本服务器的公网ip可以正常ping通。

8、原因是没有加载出辅助网卡,需要修改网卡配置文件,查看网卡信息

[root@VM-16-5-centos ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:37:8b:7a brd ff:ff:ff:ff:ff:ff
    inet 172.16.16.5/20 brd 172.16.31.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe37:8b7a/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 20:90:6f:da:dd:fb brd ff:ff:ff:ff:ff:ff

9、复制eth0的网卡文件

[root@VM-16-5-centos ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth{0,1}

10、查看eth1文件是否成功,目前的eth1文件只是拷贝eth0

[root@VM-16-5-centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=dhcp
DEVICE=eth0
HWADDR=52:54:00:37:8b:7a
ONBOOT=yes
PERSISTENT_DHCLIENT=yes
TYPE=Ethernet
USERCTL=no

11、修改eth1文件

[root@VM-16-5-centos ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
# Created by cloud-init on instance boot automatically, do not edit.
# 此处修改为staticBOOTPROTO=static
BOOTPROTO=static
# 此处改为eth1
DEVICE=eth1
# 注释HWADDR=52:54:00:37:8b:7a此行
# HWADDR=52:54:00:37:8b:7a
# 配置主ip
IPADDR0=172.16.16.100
NETMASK0=	255.255.240.0
# # 配置辅助ip1
IPADDR1=172.16.16.101
 NETMASK1=	255.255.240.0
# #
# # 配置辅助ip2
IPADDR1=172.16.16.102
NETMASK1=	255.255.240.0
# #
# # 配置辅助ip3
 IPADDR1=172.16.16.103
 NETMASK1=	255.255.240.0
# #
# # 配置辅助ip4
IPADDR1=172.16.16.104
NETMASK1=	255.255.240.0
# #
# # 配置辅助ip5
IPADDR1=172.16.16.105
NETMASK1=	255.255.240.0
# #
# # 配置网关
GATEWAY=172.16.16.1

# #
ONBOOT=yes
PERSISTENT_DHCLIENT=yes
TYPE=Ethernet
USERCTL=no

12、关闭 rp_filter 校验,该步骤勿忽略。

[root@VM-16-5-centos ~]# vim /etc/sysctl.conf
# 找到第16行的rp_filter,如果有,就注释掉
# net.ipv4.conf.default.rp_filter = 1   如果有就注释掉
# 在文件结尾加上如下4行
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0
net.ipv4.conf.eth1.rp_filter = 0

13、使其生效

[root@VM-16-5-centos ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0
net.ipv4.conf.eth1.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
net.ipv4.conf.all.promote_secondaries = 1
net.ipv4.conf.default.promote_secondaries = 1
net.ipv6.neigh.default.gc_thresh3 = 4096
net.ipv4.neigh.default.gc_thresh3 = 4096
kernel.softlockup_panic = 1
kernel.sysrq = 1
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
kernel.numa_balancing = 0
kernel.shmmax = 68719476736
kernel.printk = 5

14、重启网卡

[root@VM-16-5-centos ~]# systemctl restart network.service 

15、查看配置后的效果

[root@VM-16-5-centos ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:37:8b:7a brd ff:ff:ff:ff:ff:ff
    inet 172.16.16.5/20 brd 172.16.31.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe37:8b7a/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 20:90:6f:da:dd:fb brd ff:ff:ff:ff:ff:ff
    inet 172.16.16.100/16 brd 172.16.255.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet 172.16.16.105/16 brd 172.16.255.255 scope global secondary eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::2290:6fff:feda:ddfb/64 scope link 
       valid_lft forever preferred_lft forever

16、测试新绑定的弹性公网IP已经可以正常使用