Ubuntu 18.04 使用弹性网卡配置多个外网IP

购买服务器后默认只有一个公网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 修改网卡配置

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 校验

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实践演示

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券