购买服务器后默认只有一个公网IP,经常会遇到单个外网IP无法满足业务需求,此文将介绍,一台服务器如何通过单网卡、多网卡配置多个IP。
一、单网卡配置多个IP
1、实验环境
内网IP | 外网IP | |
---|---|---|
IP1(默认) | 10.1.255.100 | 193.112.138.44 |
IP2(添加) | 10.1.255.101 | 106.53.17.193 |
IP3(添加) | 10.1.255.102 | 106.53.17.64 |
2、控制台分配IP
2.1分配内网IP
2.2 分配公网IP
3、修改服务器网卡配置
3.1 查看网卡信息
3.2 修改网卡配置
- Ubuntu 18.04 采用netplan作为网络配置管理,与16.04及之前的版本区别很大。
- 配置文件: /etc/netplan/50-cloud-init.yaml
- 修改配置后生效命令:sudo netplan apply
ubuntu@VM-255-100-ubuntu:~$ sudo vim /etc/netplan/50-cloud-init.yaml
ubuntu@VM-255-100-ubuntu:~$ cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
version: 2
ethernets:
eth0:
addresses:
- 10.1.255.100/24
- 10.1.255.101/24
- 10.1.255.102/24
### 主要修改的是addresses这一部分。
match:
macaddress: 52:54:00:fa:d3:fc
nameservers:
addresses:
- 183.60.83.19
- 183.60.82.98
routes:
- to: 0.0.0.0/0
via: 10.1.255.1
set-name: eth0
ubuntu@VM-255-100-ubuntu:~$
ubuntu@VM-255-100-ubuntu:~$ sudo netplan apply
ubuntu@VM-255-100-ubuntu:~$
3.3 再次查看网卡信息
4、测试结果
三个外网IP都可以ping通 ,且可以ssh登录,单网卡配置多IP已完成。
二、多网卡配置多个IP
上面一个网卡就可以配置多个IP,为何还要用多个网卡呢?
举个例子,一个人可以放5头牛,那么2个人就可以放10头,三个人可以放15头............
1、实验环境
主网卡 | 内网IP | 外网IP |
---|---|---|
IP1(默认) | 10.1.255.100 | 193.112.138.44 |
IP2(添加) | 10.1.255.101 | 106.53.17.193 |
IP3(添加) | 10.1.255.102 | 106.53.17.64 |
辅助网卡 | 内网IP | 外网IP |
---|---|---|
IP1 | 10.1.255.110 | 123.207.94.225 |
IP2 | 10.1.255.111 | 134.175.127.250 |
2、新建弹性网卡(辅助网卡)
PS:这里控制台提示友好,提醒我们到服务器内修改IP 以及路由 ,否则无法通信,点击确认开始创建。
3、辅助网卡绑定外网IP
4、修改服务器配置
4.1 查看网卡信息
这里辅助网卡(eth1)设备已经显示,但是没有IP信息看,所以是无法通信的。
4.2 修改网卡配置
代码语言:txt复制ubuntu@VM-255-100-ubuntu:~$ sudo vim /etc/netplan/50-cloud-init.yaml
ubuntu@VM-255-100-ubuntu:~$ cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
version: 2
ethernets:
eth0:
addresses:
- 10.1.255.100/24
- 10.1.255.101/24
- 10.1.255.102/24
match:
macaddress: 52:54:00:fa:d3:fc
nameservers:
addresses:
- 183.60.83.19
- 183.60.82.98
routes:
- to: 0.0.0.0/0
via: 10.1.255.1
set-name: eth0
### 辅助网卡配置为eth1,为新添加配置。
eth1:
addresses:
- 10.1.255.110/24
- 10.1.255.111/24
match:
macaddress: 20:90:6F:4D:50:47
### 网卡MAC地址,此参数非必填。查看MAC地址请参考官网文档(https://cloud.tencent.com/document/product/576/18533)
nameservers:
addresses:
- 183.60.83.19
- 183.60.82.98
routes:
- to: 0.0.0.0/0
via: 10.1.255.1
set-name: eth1
ubuntu@VM-255-100-ubuntu:~$
ubuntu@VM-255-100-ubuntu:~$ sudo netplan apply
ubuntu@VM-255-100-ubuntu:~$
4.3 再次查看网卡信息
4.4 关闭 rp_filter 校验
代码语言:txt复制ubuntu@VM-255-100-ubuntu:~$ sudo vim /etc/sysctl.conf
ubuntu@VM-255-100-ubuntu:~$
ubuntu@VM-255-100-ubuntu:~$ tail -4 /etc/sysctl.conf
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.rp_filter = 1。
ubuntu@VM-255-100-ubuntu:~$
ubuntu@VM-255-100-ubuntu:~$ sudo sysctl -p ### 执行此命令后生效
kernel.sysrq = 1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
kernel.printk = 5
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
5、测试结果
辅助网卡的两个外网IP也可以ping和ssh连接了,多网卡配置多个IP已完成。
三、补充
1、服务器必须是私有网络,基础网络无法使用弹性网卡。
2、根据 CPU 和内存配置不同,云服务器可以绑定的弹性网卡数和单网卡绑定内网 IP 数有较大不同,请参考官网说明。
3、弹性网卡相关操作请参考官网文档
四、其他系统配置文档
CentOS
centos7服务器主网卡绑定多ip实践演示
centos7服务器添加辅助网卡绑定多ip实践演示
Windows
Windows服务器主网卡绑定多ip实践演示
Windows服务器添加辅助网卡及绑定多ip实践演示