在Ubuntu-server-LTS这个系列的操作系统中,从Ubuntu18.04.X(包括)开始,网络配置文件与方式发生了变化。
在Ubuntu18.04.X及以上版本中,网络配置文件是/etc/netplan/目录下一个.yaml文件,这个文件由系统自动生成,但是默认里面没有什么实际内容,对Ubuntu18.04.X及以上版本配置动态链路聚合网络的方式如下:

root@controller:~# vi /etc/netplan/01-netcfg.yaml

将其中的内容修改为如下(注意采用空格进行缩进且同一个层级的缩进要一样多,比如ethernets与bonds前面都是缩进两个空格,否则后续会报错):

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1: #设此处给服务器的一个千兆风口置IP及掩码。不必须有
      addresses: [ "10.12.60.10/24" ]
    enp6s0f0:
      dhcp4: no
    enp6s0f1:
      dhcp4: no
  bonds:
    bond0:
      dhcp4: no
      interfaces: #两个万兆风口,绑定到一起做动态链路聚合
        - enp6s0f0
        - enp6s0f1
      parameters:
        mode: 802.3ad
vlans:
    bond0.101:
      id: 101
      link: bond0
      addresses: [ "192.161.0.32/24" ]
      gateway4: 192.161.0.1 #主路由对应的网关
      nameservers:
        addresses: [ "192.161.0.1" ]
    bond0.102: #同一个bond0下划分多个vlan
      id: 102
      link: bond0
      addresses: [ "192.161.1.32/24" ]
    bond0.103:
      id: 103
      link: bond0
      addresses: [ "192.161.2.32/24" ]
    bond0.104:
      id: 104
      link: bond0
      addresses: [ "192.161.3.32/24" ]

#确认加载相关内核模块
root@controller:~# lsmod | egrep "bonding|8021q"
8021q                  32768  0
garp                   16384  1 8021q
mrp                    20480  1 8021q
bonding               163840  0

#如果默认没有加载则手动进行加载
root@controller:~# modprobe "bonding"
root@controller:~# modprobe "8021q"
#再次确认是否真正加载
root@controller:~# lsmod | egrep "bonding|8021q"
#将这两个模块名称放到/etc/modules 文件中,这样以后操作系统启动时就会自动加载
root@controller:~# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

bonding
8021q
#应用网络配置文件/etc/netplan/01-netcfg.yaml
root@controller:~# netplan apply 
#如果上述命令执行时没有报错,一般是配置网络成功了
#此时执行如下命令查看网络配置
root@controller:~# ip a 

【备注】

1)执行以下命令可以看到netplan的详细用法介绍。按“shift+g”拉到最后有一个较全面的示例。

#查看netplan的详细用法介绍及示例
root@controller:~# man netplan

2)在ubuntu18中配置静态IP:Netplan static IP on Ubuntu configuration
3)netplan官网:Netplan reference
netplan配置bond章节:Properties for device type bonds
netplan配置bond章节:Properties for device type vlans

文章目录