教你如何免费启用腾讯云服务器多个外网IP地址

无论是阿里云还是腾讯云的服务器,通常购买的云服务器只给我们提供1个外网IP地址。像腾讯云服务器,在条件充许的条件下,是可以更换IP的,没有太大问题。

我们做网站,有一台相对还可以的服务器,有的时候确实想在上面多放几个网站,我们需要每个网站的IP地址不一样。

除去购买多IP的VPS或站群服务器以外(费用很贵,多IP要收费,每一个IP每个月在15元左右),有没有免费且经济的实现方案呢?

这几天,我使用腾讯云服务器的过程中,看到《弹性网卡》的相关文档:https://cloud.tencent.com/document/product/576/18525

通过多网卡,可以实现一台云服务器的多IP策略,最主要核心的点是,这个多IP还是不收费(免费)供我们去使用。

有这么好的事情,我也就查看了相关资料,就开始整起来了。需要实现一台腾讯云服务器多IP,首要任务是先了解,咱们购买的服务器是否支持多网卡。

通过腾讯云文档介绍,可以确定,云服务器配置越高,可免费使用的IP数量会越多,

具体参考如下(有图片):https://cloud.tencent.com/document/product/576/18527

那接下来,我就以我自己的服务器为例子,一步一步教大家如何操作。

我本人的腾讯云服务器配置如下图,生产环境的系统为CentOS Linux release 7.2.1511:

2核8G的服务器,按上面图表,我这台机器最多只能有2个弹性网卡,一个弹性网卡上面,最多只能绑定10个IP地址,这个数据咱后面在创建网卡和生成IP的时候,就能知道。
话不多讲,简单“流水线”教程开始啦,

第一步:先启用主网卡剩余的内网IP【 云服务器 > 单击左侧目录中的【实例】> 单击需要查看的实例 ID,即可进入详情页 > 【弹性网卡】,进入弹性网卡列表页】。

点击:【分配内网IP】 就能弹出如下界面,可以看到内网IP配额,点增加就可以直接让系统自动分配 内网IP地址:

点【确定】增加后,就能在主网卡下面,出现在最新内网IP地址:

第二步:申请完这个内网IP后,接下来需要创建一个EIP(外网IP)进行绑定操作。
按上图片,点击【绑定】:

出现【新建】和【刷新】,这时候我们点【新建】操作,进入到【弹性公网IP】界面,

这一步后,点击蓝色按钮【申请】,就会出现提示,开始申请EIP

注意,如果你申请了EIP,请记住,一定要和网卡的内网IP绑定,要不然空置EIP是要收费。

申请EIP后,回到【绑定弹性公网IP】界面点【刷新】这个时候,就会出现在我们刚申请的EIP啦。

这个时候,我们只要点击【确定】进行内网IP与外网EIP就算绑定啦。

按照如上操作,可以把主网卡上所有IP配额使用完,这时候就有10个外网IP地址可用,


第三步:新增加绑定弹性(辅助)网卡并绑定云服务器。

能过前面两步,我们已针对腾讯云服务器的主网卡,绑定了10个外网IP地址,我们这台机器支持二块网卡,这个时候,我们还可以在后台再增加一块辅助网卡,再增加10个IP地址。

操作如下,【 云服务器 > 单击左侧目录中的【实例】> 单击需要查看的实例 ID,即可进入详情页 > 【弹性网卡】,进入弹性网卡列表页】

在弹出窗口选择【新建弹性网卡并绑定】,填入网卡名称后点【确定】,就新在此云服务器上增加了一个新的辅助网卡啦。

创建成功后,就是类似这个界面,

这样,我们针对新的辅助网卡,再按照上面第一,二步操作,新建10个外网IP。这台腾讯云服务器,就有了20个外网IP地址供我们使用。


第四步:调整腾讯云服务器配置,让外网IP地址生效。
1.修改主网卡配置文件

[root@VM_16_13_centos network-scripts]# cd /etc/sysconfig/network-scripts/
### 备份主网卡配置文件,万一出错(SSH就会导致连接不上服务器),可在腾讯云用VNC登陆后台恢复
[root@VM_16_13_centos network-scripts]# cp /etc/sysconfig/network-scripts/ifcfg-eth0{,.bak}
### 修改网卡配置
[root@VM_16_13_centos network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-eth0


# Created by cloud-init on instance boot automatically, do not edit.
#
# 此处修改为static
BOOTPROTO=static
DEVICE=eth0
HWADDR=52:54:00:78:cd:c7
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
PERSISTENT_DHCLIENT=yes
#
# 添加如下几行
#
# 配置主ip
IPADDR0=172.19.16.13
NETMASK0=255.255.240.0
# 配置辅助ip1
IPADDR1=172.19.16.15
NETMASK1=255.255.240.0
# 配置辅助ip2
IPADDR2=172.19.16.16
NETMASK2=255.255.240.0
# 配置辅助ip3
IPADDR3=172.19.16.17
NETMASK3=255.255.240.0
IPADDR4=172.19.16.12
NETMASK4=255.255.240.0
IPADDR5=172.19.16.11
NETMASK5=255.255.240.0
IPADDR6=172.19.16.10
NETMASK6=255.255.240.0
IPADDR7=172.19.16.5
NETMASK7=255.255.240.0
IPADDR8=172.19.16.8
NETMASK8=255.255.240.0
IPADDR9=172.19.16.9
NETMASK9=255.255.240.0
GATEWAY=172.19.16.1


2.修改辅助网卡配置文件

[root@VM_16_13_centos network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@VM_16_13_centos network-scripts]# vi ifcfg-eth1


# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=static
DEVICE=eth1
# 注释此行
#HWADDR=52:54:00:78:cd:c7
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
PERSISTENT_DHCLIENT=yes
IPADDR0=172.19.16.6
NETMASK0=255.255.240.0
IPADDR1=172.19.16.14
NETMASK1=255.255.240.0
IPADDR2=172.19.16.18
NETMASK2=255.255.240.0
IPADDR3=172.19.16.2
NETMASK3=255.255.240.0
IPADDR4=172.19.16.25
NETMASK4=255.255.240.0
IPADDR5=172.19.16.3
NETMASK5=255.255.240.0
IPADDR6=172.19.16.31
NETMASK6=255.255.240.0
IPADDR7=172.19.16.4
NETMASK7=255.255.240.0
IPADDR8=172.19.16.45
NETMASK8=255.255.240.0
IPADDR9=172.19.16.7
NETMASK9=255.255.240.0
GATEWAY=172.19.16.1

3.调整/etc/sysctl.conf 内核参数

[root@VM_16_13_centos network-scripts]# vim /etc/sysctl.conf
文件最后增加,这四个参数配置:


net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0
net.ipv4.conf.eth1.rp_filter = 0


### 使其内核参数生效 ###
[root@VM_16_13_centos network-scripts]# sysctl -p


### 重启网卡 ###
[root@VM_16_13_centos network-scripts]# systemctl restart network.service
或指定某个(eth0)网卡重新并生效:ifdown eth0 && ifup eth0

在调整配置文件的时候,有几个点要注意:

a.内网IP地址(就是我们按第一二步新增的内网IP地址)要填写对

b.子网掩码对应值一定要填对(我这里网关是:255.255.240.0),参考腾讯云文档:https://cloud.tencent.com/document/product/576/18535#.E9.99.84.E5.BD.95

c. 所有配置重启后,可ping外网地址,如果不通,请看云服务器安全组有没有禁ping。


如果配置顺利的话,通过任意机器去ping这个外网EIP,能通就说明配置成啦。

至于Windows的配置,文章后面有别的朋友写的文章,大家可以参考一下。


到此,我们腾讯云服务器已有20个IP地址可用,还是免费的IP地址,你说是不是很香?


本文章相关参考文档有:

https://cloud.tencent.com/document/product/576/18535

https://cloud.tencent.com/developer/article/1360462

https://cloud.tencent.com/developer/article/1360461