Centos8使用 nmcli命令行工具来完成bond,网桥子接口的创建与配置

redhat官网参考手册:https://docs.redhat.com/zh_hans/documentation/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/configuring-a-network-bond-by-using-nmcli_configuring-network-bonding

一、创建bond

bond模式如下图:
在这里插入图片描述

实验网卡如下:

在这里插入图片描述

1. 创建bond0网卡接口

[root@localhost ~]# nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=100"
[root@bogon network-scripts]# nmcli connection modify bond0 ipv4.method disabled
Connection 'bond0' (9eae22a9-3287-4742-8c46-cd2358807356) successfully added.
[root@localhost ~]# nmcli device
DEVICE      TYPE      STATE      CONNECTION 
ens160      ethernet  connected  ens160     
virbr0      bridge    connected  virbr0     
ens224      ethernet  connected  ens224     
ens256      ethernet  connected  ens256     
bond0       bond      connected  Bond bond0 
lo          loopback  unmanaged  --         
virbr0-nic  tun       unmanaged  -- 

nmcli connection modify bond0 ipv4.method disabled 将bond0接口地址禁用,后面在配置地址

  • add type bond : 添加bond的类型
  • con-name bond0:设置网络连接名称(默认与设备名一致)
  • ifname bond0 : 物理设备的名称
  • bond.options "mode=active-backup,miimon=100":bond模式与bond参数设置,mode=active-backup 模式为主备,miimon=100心跳检测时间为100ms

创建了一个名为bond0的网络设置,类型位bond,网路连接名为bond0,mode为1主备,参数为miimon=100,多个参数用逗号隔开。

2. 将网络设备添加到bond0中

2.1. 将网络设置添加到bond中会创建新的配置文件,建议备份原有配置文件

[root@localhost network-scripts]# ls
ifcfg-bond0  ifcfg-ens160  ifcfg-ens224  ifcfg-ens256
[root@localhost network-scripts]# mkdir bak
[root@localhost network-scripts]# mv ifcfg-ens224 ifcfg-ens256 bak/
[root@localhost network-scripts]# ls bak/
ifcfg-ens224  ifcfg-ens256
[root@localhost network-scripts]# ls
bak  ifcfg-bond0  ifcfg-ens160

2.2. 将从网卡加入到bond

[root@localhost network-scripts]# nmcli connection add type ethernet slave-type bond con-name ens224 ifname ens224 master bond0
[root@localhost network-scripts]# nmcli connection add type ethernet slave-type bond con-name ens256 ifname ens256 master bond0
[root@localhost network-scripts]# ls
bak  ifcfg-bond0  ifcfg-ens160  ifcfg-ens224  ifcfg-ens256

3. 为bond配置地址

[root@localhost network-scripts]# nmcli connection modify bond0 ipv4.method manual ipv4.addresses 192.168.0.191/24 ipv4.gateway 192.168.0.2 ipv4.dns 192.168.0.2
[root@localhost network-scripts]# nmcli con up bond0
[root@localhost network-scripts]# nmcli con up bond0
5: bond0: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 36:b7:ac:42:f9:74 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.191/24 brd 192.168.0.255 scope global noprefixroute bond0
       valid_lft forever preferred_lft forever
  • ipv4.method manual : 设置静态地址(auto 是动态)

4. 还原实验环境

从尾到头一步一步还原,加深印象

4.1. 删除bond地址

[root@localhost network-scripts]# nmcli connection modify bond0 ipv4.addresses "" ipv4.gateway "" ipv4.dns "" ipv4.method disabled
[root@localhost network-scripts]# nmcli con up bond0

删除IP地址的操作就是把ip,网关,dns 设置为空,ipv4.method 设置为disabled,在重新up一下使配置生效

4.2. 删除新创建的网络连接

将备份的配置还原,然后删除新的配置文件在重启网络

root@localhost network-scripts]# \cp  bak/ifcfg-ens2* ./
[root@localhost network-scripts]# nmcli con show
NAME                UUID                                  TYPE      DEVICE 
bond0               420e569f-b4ab-4297-8249-f571dff771bc  bond      bond0  
ens160              d2ed1313-2b57-49f9-974c-a53657cf02e2  ethernet  ens160 
Wired connection 1  462ac000-ea95-32dc-9796-793e17dd699e  ethernet  ens224 
Wired connection 2  ef233d68-eba7-37bf-8ad0-39d9d135a98b  ethernet  ens256 
virbr0              118c3512-e07c-474e-96a9-eeea99db739e  bridge    virbr0
[root@localhost network-scripts]# nmcli con delete "Wired connection 1"
[root@localhost network-scripts]# nmcli con delete "Wired connection 2"
[root@localhost network-scripts]# nmcli con reload

4.3. 删除bond0网络接口设置

[root@localhost network-scripts]# nmcli con delete  bond0
[root@bogon network-scripts]# nmcli con reload

二、创建子接口

子接口是在一张物理接口上面,在新建一个接口。

创建一个bond物理接口,在bond接口下面创建子接口(参考如上)

1. 创建vlan子接口

nmcli connection add type vlan con-name bond0.10 ifname bond0.10 vlan.parent bond0 vlan.id 10

将创建了一个网络设备名 bond0.10, 连接名为bond0.10,的走是bond0的物理网卡接口,被划分到了vlan10

三、 创建网桥

1. 创建网络设置类型为网桥

[root@bogon ~]# nmcli connection add type bridge con-name br0 ifname br0

2. 将现有的接口加入到网桥

如果将网络接口加入到了网桥,那么这个接口就成为网桥的端口,不能在使用了。

[root@bogon ~]# nmcli connection modify bond0 master br0
[root@bogon ~]# ip link show
20: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:47:91:76 brd ff:ff:ff:ff:ff:ff

查看网桥的端口和vlan id

[root@bogon ~]# bridge vlan 
port	vlan ids
virbr0	 1 PVID Egress Untagged
virbr0-nic	 1 PVID Egress Untagged

br0	None
bond0	 1 PVID Egress Untagged

删除网络接口设备使用 nmcli con delete <网络连接名>,
最后 nmcli con reload 一下

  • 16
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值