nmcli 命令配置 team 的 activebackup(主备模式) 和 桥接

493 阅读3分钟

​ 本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一,验证环境

保证windows和linux通讯正常: windows可以ping通linux, linux可以ping通windows, linux可以ping通百度

这个环境的问题ping命令正常用就可以了,这里不过多去强调

二,yum源配置

保证你的linux可以正常安装软件:配置yum源, 测试安装yum install httpd -y可以成功

配置yum源有两种方法

第一种是配置在线的yum源

cd /etc/yum.repos.d
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
yum clean all
yum makecache

第二种是配置本地的yum源(一般在我们的linux上不了网但是需要下载东西的时候使用)

1.你的现有软件包,软件包从iso镜像来
  挂载iso镜像到我们文件系统的目录
  mount /dev/sr0 /mnt
2.进入/etc/yum.repos.d/
  vim redhat.repo

[base]
name=base
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0

[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0

3. yum clean all
   yum makecache

三,nmcli命令

nmcli 这个命令可以对网络进行管理,类似与nmtui,区别在于nmtui是经过图形化界面,nmcli没有图形化界面但是比nmtui更快捷方便。

nmcli device 后面可以跟

connect     disconnect  lldp        monitor     set         status      
delete      help        modify      reapply     show        wifi   

常用的有

connect: 连接, 激活当前这个网卡
disconnect: 断开连接 断开这个网卡
delete:删除
modify:修改
reapply:重新应用
show: 展示网卡信息
status: 状态

nmcli connection后面可以跟

add      delete   edit     help     load     monitor  show     
clone    down     export   import   modify   reload   up 

注解和常用:

add: 增加一个网络连接
delete: 删除
edit: 编辑
load: 从配置文件加载
show:展示
clone: 克隆
down: 断开当前连接
export:导出
import:导入
modify:修改
reload: 重新加载
up: 激活
# 常用: add, delete, modify, reload, show, up , down

四,team 多网卡绑定

多个网卡绑定在一起对外提供服务, 用户来访问的时候, 发数据包。

broadcast广播的意思: 发过来的数据包以广播的形式,发送到每一个网卡
roundrobin轮询的模式:发送数据包到网卡,轮换的发送
activebackup两块网卡互为主备,当网卡是主设备,另一块不工作作为从设备, 当主设备出现问题,切换到从设备。
loadbalance负载均衡: 两块网卡绑定为负载均衡模式,他会通过计算,让两块网卡上面收到的数据包均衡
lacp需要借助设备,实现高级负载均

这里我们用 activebackup(主备)模式来举例

1.首先要有多个网卡

在vmware虚拟机配置里可以增加物理网卡

2.创建一个虚拟网卡和链接

虚拟网卡对外提供服务,意味着它上面需要配置IP,配置IP是配置在连接上的。

这里的操作是直接去添加一条连接,并指定虚拟网卡:产生连接的同时,产生了一个虚拟网卡。

nmcli c add type team con-name team_conn ifname team_dev config '{"runner": {"name": "activebackup"}}' ipv4.addresses 192.168.233.158/24 ipv4.gateway 192.168.233.2 ipv4.dns 8.8.8.8 ipv4.method manual

注:config:配置team机制的模式,json格式的
'{"runner": {"name": "activebackup", "hwaddr_policy": "by_active"}}'

3.绑定操作

实际的物理网卡得绑定在我们的虚拟网卡上,这个是不需要配置IP

nmcli c add type team-slave con-name team_port1 ifname ens160 master team_dev
nmcli c add type team-slave con-name team_port2 ifname ens224 master team_dev

4.激活链接

激活我们的物理网卡,以及我们的虚拟网卡

nmcli c up team_port1
nmcli c up team_port2
nmcli c up team_conn

注:激活的时候,先激活team-slave, 然后再激活team

5.查询主备的状态

teamdctl team_dev state [view]

6.切换

down掉主用的网卡ens160

nmcli d disconnect ens160

再次查询主备发现切换过来但是windows ping 不通linux了 原因是因为配置成功了之后,ens160,ens224,team_dev三个mac地址相同的
执行切换的时候:ens160和ens224的mac相同,切换是切换过来的,但是它不知道使用哪个
需要做的修正是:让它切换的时候,让我们team_dev跟随主用设备的mac地址

nmcli c modify team_conn config '{"runner": {"name": "activebackup", "hwaddr_policy": "by_active"}}'

修改之前json格式中的内容

7.重新启动

nmcli c up team_port1
nmcli c up team_port2
nmcli c up team_conn

再次验证发现ping命令不会中断证明我们成功

五,桥接

1.需要有一个对外的桥接的虚拟的网卡,需要有ip

nmcli c add type bridge con-name br1 ifname qiaojie ipv4.addresses 192.168.120.128/24 ipv4.gateway 192.168.120.2 ipv4.dns 8.8.8.8 ipv4.method manual 

2.将我们的网卡连接到虚拟桥接网卡上

nmcli c add type bridge-slave con-name br1_port1 ifname ens160 master qiaojie
nmcli c add type bridge-slave con-name br1_port2 ifname ens224 master qiaojie

3.启动

nmcli c up br1_port1
nmcli c up br1_port2
nmcli c up br1

4.测试: 测试我们网卡上面是不是有网桥转发过来的数据包(icmp)

用windows ping linux 

​编辑

 ​编辑

 通过 tcpdump 命令在linux上抓包发现在ping时 网卡ens160和ens224上都有数据包经过,意味着桥接配置成功。

有任何问题欢迎私信和评论!!!

看都看了动动手指点个赞吧 ~