Ubuntu 18.04 配置网卡聚合绑定与桥接

Ubuntu 18.04 配置网卡聚合绑定与桥接

单网卡配置ip和多网卡配置ip 在之前的博客已经写过了,这里写一下进阶的一些配置吧。
Ubuntu 配置ip博客:https://blog.csdn.net/liuhaoy/article/details/101078932

前言

  1. 桥接模式是什么
    等同于像VMvare一样的桥接模式,后期如果虚拟机需要跑在linux上,想和linux在同一网络的话,需要配置一个桥接网卡,让虚拟机的网卡绑定在桥接上面,用以和真是主机网卡在同一网络。
  2. 桥接模式配置要点
    • 需要在配置文件新增一个选项为桥接网卡,然后桥接里绑定物理网卡
    • 可以不需要配置ip地址,也可以配置上IP地址,方便管理
  3. 网卡绑定的作用
    • 当一个网卡不够用的时候,可以使用两个网卡绑定在一起增加带宽
    • 当一个网卡断的话,另一个网卡可以形成备份,增加链路冗余
    • 主备模式只能做成链路备份,不能负载,负载需要服务器和交换机互相配合

一、多网卡绑定

  1. bond 的七种模式。
    我这边给大家介绍两种,一种是主备模式,一种是和交换机配合的链路聚合。
    这七种模式分别是:
    802.3ad        balance-alb    balance-tlb    broadcast      
    active-backup  balance-rr     balance-xor 
    
  • mode=0 round-robin轮询策略(Round-robin policy)
  • mode=1 active-backup主备策略(Active-backup policy)
  • mode=2 load balancing (xor)异或策略(XOR policy)
  • mode=3 fault-tolerance (broadcast)广播策略(Broadcast policy)
  • mode=4 lacp IEEE 802.3ad 动态链路聚合(IEEE 802.3ad Dynamic link aggregation)
  • mode=5 transmit load balancing适配器传输负载均衡(Adaptive transmit load balancing)
  • mode=6 adaptive load balancing适配器负载均衡(Adaptive load balancing)
  1. 主备模式 active-backup:
    这个是主备模式,只有一块网卡是active,另一块是备用的standby,所有流量都在active链路上处理。
      注意:交换机不能做聚合端口,因为交换机配置的是捆绑的话将不能工作,因为交换机往两块网卡发包,有一半包是丢弃的。
      特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。
      此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态。
  2. 动态链接聚合 802.3ad:
      表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy).标准要求所有设备在聚合操作时,要在同样的速率和双工模式,而且,和除了balance-rr模式外的其它bonding负载均衡模式一样,任何连接都不能使用多于一个接口的带宽。
      特点:创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。
      必要条件:在交换机和服务器上都需要配置动态链路聚合
    注意这里的50-cloud-init.yaml,有可能各个主机不一样,进入目录table补全,或者ls看下即可。
  3. 范例(主备模式做绑定):
[root@youyou ~]#cat /etc/netplan/50-cloud-init.yaml
network:
    version: 2
    ethernets:
        ens33:
            dhcp4: no
            dhcp6: no
        ens38:
            dhcp4: no
            dhcp6: no
    bonds:
        bond0:
            interfaces:
              - ens33
              - ens38
            addresses: [192.168.19.30/24]
            gateway4: 192.168.19.2
            nameservers:
                addresses: [223.5.5.5,223.6.6.6]
            parameters:
                mode: active-backup
                mii-monitor-interval: 100

[root@youyou ~]#
[root@youyou ~]#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: ens33: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
    link/ether a2:ee:41:9d:58:82 brd ff:ff:ff:ff:ff:ff
3: ens38: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
    link/ether a2:ee:41:9d:58:82 brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether a2:ee:41:9d:58:82 brd ff:ff:ff:ff:ff:ff
    inet 192.168.19.30/24 brd 192.168.19.255 scope global bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::a0ee:41ff:fe9d:5882/64 scope link 
       valid_lft forever preferred_lft forever

二、双网卡绑定并桥接

先做网络绑定,然后桥接选择接口,选择绑定的网络。

[root@youyou ~]#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:
        ens33:
            dhcp4: no
            dhcp6: no
        ens38:
            dhcp4: no
            dhcp6: no
    bonds:
        bond0:
            interfaces:
              - ens33
              - ens38
            parameters:
                mode: active-backup
                mii-monitor-interval: 100
    bridges:
        br0:
            dhcp4: no
            dhcp6: no
            addresses: [192.168.19.30/24]
            gateway4: 192.168.19.2
            nameservers:
                addresses: [223.5.5.5,223.6.6.6]
            interfaces:
              - bond0
[root@youyou ~]#
[root@youyou ~]#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: ens33: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
    link/ether a2:ee:41:9d:58:82 brd ff:ff:ff:ff:ff:ff
3: ens38: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
    link/ether a2:ee:41:9d:58:82 brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default qlen 1000
    link/ether a2:ee:41:9d:58:82 brd ff:ff:ff:ff:ff:ff
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether f2:df:6d:72:4d:61 brd ff:ff:ff:ff:ff:ff
    inet 192.168.19.30/24 brd 192.168.19.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::f0df:6dff:fe72:4d61/64 scope link tentative 
       valid_lft forever preferred_lft forever

你可能感兴趣的:(Ubuntu,linux)