专栏首页云服务使用个人总结Ubuntu 18.04 使用弹性网卡配置多个外网IP
原创

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 条评论
登录 后参与评论

相关文章

  • /dev/vda1 contains a file system with errors, check forced.

    /dev/vda1 contains a file system with errors, check forced.

    隔离没老王
  • Windows服务器无法远程登录:远程桌面服务已启动,默认端口未监听

    右击“此电脑”---> 属性 ---> 远程设置 ---> 将 “不允许远程连接到此计算器” 改为“允许远程连接到此计算器“,然后点击“应用” 和“确定”。

    隔离没老王
  • 如何检测处理器是否支持AES-NI指令集?

    本文介绍如何检测处理器是否支持AES-NI指令集,首先我们先了解一下什么是AES-NI指令集。

    隔离没老王
  • 远程定时开关机方法

    无论家用电脑还是公司的电脑,远程定时开关机都是一个非常实用的功能,只是一般都不太受关注。

    博文视点Broadview
  • 漏洞预警 | Ubuntu 16.04版本存在本地提权漏洞(附EXP)

    今天下午,Twitter 用户 @Vitaly Nikolenko 发布消息,称 ubuntu 最新版本(Ubuntu 16.04)存在高危的本地提权漏洞,而且...

    FB客服
  • 通过python获得header中的se

    在做接口自动化过程中,我们常常会用到用户登录后进行接口测试,那么我们如何进行获取header中的session呢。我们现在看一下以下代码: def sessio...

    py3study
  • EventBus3.0 使用及源码解析

    叨了个叨 最近因为换工作的一些琐事搞的我一个头两个大,也没怎么去学新东西,实在是有些愧疚。新项目用到了EventBus3.0,原来只是听说EventBus的鼎鼎...

    非著名程序员
  • 《Monkey Java》课程8.0之线程

    GitOPEN
  • iOS系统在线下载安装ipa文件,以及跳转描述文件信任证书的实现

    1、利用 itms-services 和 plist 文件,在线下载安装 ipa 文件。

    德顺
  • 如何使用LaunchRocket自动定时执行任务

    我们经常有这样的需求,发现磁盘空间快满了要去手动清一下,clone完自己star的项目后,隔一段时间会去手动pull一下代码,这样的操作虽然可行,但无形之中浪费...

    kunge

扫码关注云+社区

领取腾讯云代金券