linux kvm网桥br简单理解和持久化配置

news2024/9/23 9:34:53

linux网桥简单理解和持久化配置

文章目录

  • 前言
  • 一、Linux 网桥是什么?
  • 二、网桥主要作用
  • 三、网桥配置命令及安装(CentOS系统)
    • 1 网桥配置命令
    • 2.持久化网桥配置

前言

linux bridge是网络虚拟化中非常重要的一种设备,今天就来学习下linux bridge的相关知识

一、Linux 网桥是什么?

现在的Linux 网桥可以看做是(三层的)虚拟交换机,功能和物理交换机一样,最常用的功能是链接虚拟机和容器–为虚拟机和容器提供一个虚拟交换机。

创建一个bridge后(br0),可以把其他的网络设备(比如eth0)attach到br0上,eth0称作br0的从设备。需要注意的是,eth0 attach到br0上,不是对应的将eth0插接到“交换机”br0上,而是eth0变成了br0的一个端口(网线插口)。那什么什么时候才是插入网线呢?

通常的网桥是二层设备,不需要有IP地址。但是linux网桥是虚拟网络设备,是有ip和mac的(br设备的MAC地址是它所有从设备中最小的MAC地址)。从设备(eth0)被attach到br上之后,它的IP及MAC都不再可用了(退化为一个端口了)且它们被设置为接收任何包(工作在链路层,且是混杂模式,不需要ip),最终由bridge设备来决定数据包的去向:接收到本机、转发、丢弃。

二、网桥主要作用

目前,虚拟网桥最主要的作用是为虚拟机提供一种网络链接的方式,常见的bridge网络结构图如下图所示:

在这里插入图片描述
原理说明:

bridge1设备attach eth0和tap0、tap1,此时bridge1可以视作交换机,eth0\tap0\tap1都是这个交换机的网口。虚拟机通过tap网口链接,虚拟机和主机、外部局域网主机是同一个局域网内的机器,可以设置成同一个网段的IP,虚拟机发出去的数据包先到达br1,然后由br1交给eth0发送出去,数据包都不需要经过host机器的协议栈,效率高.这里比较别扭的就是主机的eth0,退化成网口,bridge1接替它成为主机的上网设备。

这里说明下,主机上每创建一个tap设备(理解为虚拟网卡),则会增加一个vnet网卡设备,默认从vnet0开始,在启动对应的虚拟机后使用ifconfig命令可以看到多了一个vnet0的网卡名称,如下图所示:
在这里插入图片描述
使用brctl show命令可以看出当前网络关系如下:
在这里插入图片描述
vnet0是从属于网桥设备br0。

三、网桥配置命令及安装(CentOS系统)

在linux 中 配置网桥的命令比较多,以下是目前所知道的三种命令

1 网桥配置命令

  • 安装 bridge组件 或者iproute2或者virsh工具实现网桥配置

    方式1:yum -y install bridge-utils
    方式2:yum install -y iproute
    方式3:使用 virsh iface-*命令
    
  • brctl命令说明

    brctl addbr br1 			#创建网桥
    brctl addif br1 enp4s0 		#为网桥添加物理接口
    brctl delbr br1 			#删除网桥
    brctl delif br1 enp4s0 		#删除网桥接口
    brctl show 					#显示网桥列表信息
    brctl show br1 				#显示网桥br1的信息
    brctl showmacs br1 			#显示网桥的MAC地址信息
    brctl showstp br1			#显示网桥的stp信息
    brctl stp br-test on|off	#开|关stp
    
  • ip 命令说明

    ip link add br2 type bridge 			#创建网桥
    ip link set dev enp4s0 master br2		#为网桥添加物理接口
    ip link del br2 type bridge 			#删除网桥
    ip link set dev enp4s0 nomaster			#删除网桥接口
    ip addr show type bridge				#显示网桥列表信息
    ip addr show type bridge br2 			#显示网桥br2的信息
    
  • virsh iface-* 命令

    virsh  iface-begin                    生成当前接口设置快照,可在今后用于提交 (iface-commit) 或者恢复 (iface-rollback)
    virsh  iface-bridge                   生成桥接设备并为其附加一个现有网络设备
    virsh  iface-commit                   提交 iface-begin 后的更改并释放恢复点
    virsh  iface-define                   define an inactive persistent physical host interface or modify an existing persistent one from an XML file
    virsh  iface-destroy                  删除物理主机接口(启用它请执行 "if-down"virsh  iface-dumpxml                  XML 中的接口信息
    virsh  iface-edit                     为物理主机界面编辑 XML 配置
    virsh  iface-list                     物理主机接口列表
    virsh  iface-mac                      将接口名称转换为接口 MAC 地址
    virsh  iface-name                     将接口 MAC 地址转换为接口名称
    virsh  iface-rollback                 恢复到之前保存的使用 iface-begin 生成的更改
    virsh  iface-start                    启动物理主机接口(启用它请执行 "if-up"virsh  iface-unbridge                 分离其辅助设备后取消定义桥接设备
    virsh  iface-undefine                 取消定义物理主机接口(从配置中删除)
    

2.持久化网桥配置

对于centos而言,如果重启网络服务,则所有的配置则会消失,所以我们需要修改配置文件,才能永久保存网桥配置,持久化网桥配置,修改network的指定文件,网卡的配置文件在: /etc/sysconfig/network-scripts/ 下,命名规则: ifcfg-xxxx。 xxx为设备名称。

下面举例说明如何创建br1网桥设备以及将ens37网卡添加到网桥中去。

ifcfg-br1的配置内容:

TYPE=Bridge  #注意,这个地方一点要大写
DEVICE=br1  #指定设备名称,一定要与文件名中ifcfg-br1后的"br1"相同
ONBOOT=yes  #开机启动
IPADDR=192.168.1.1  #配置网桥的地址
NETMASK=255.255.255.0
GATEWAY=192.168.238.1  #指定网关

ifcfg-ens37的配置内容:

TYPE=Ethernet
NAME=ens37
DEVICE=ens37
ONBOOT=yes
BRIDGE=br1  #将该网卡桥接到br1上面去

重启网络,配置生效

systemctl restart network

brctl show查看网桥,此时ens37已经连接在网桥br1上
在这里插入图片描述

参考文章:
1、https://www.cnblogs.com/robotech/p/13770168.html
2、https://developer.aliyun.com/article/799102
3、https://www.cnblogs.com/doscho/p/6225807.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/958912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

360牛盾点选

网址:https://info.so.com/cache_remove.html 360旗下的产品,协议并不难。 感兴趣的话大家可以去看看,一个AES,坐标需要缩放处理。 鱼导就是牛,还没失败过。 完事儿了哦,大表哥们。以上需要算法&#xff0…

Qt5界面Qt Designer上添加资源图片后,ModuleNotFoundError: No module named ‘rcc_rc‘ 的终极解决方案

在网上找了很久都没弄明白,最后还是自己思考解决了。 起因: 用 Qt Designer 添加资源文件作为背景图,编译 \resource\static\qrc> pyuic5 -o .\xx.py .\xx.ui发现在 xx.py 文件末尾中多了一个语句: import rcc_rc然后运行就…

【前端demo】简易计算器 原生实现

文章目录 效果代码htmlcssjs 其他demo:https://blog.csdn.net/karshey/article/details/132585901 效果 效果预览:https://codepen.io/karshey/pen/RwERjGz 参考: js实现仿华为手机计算器,兼容电脑和手机屏幕_dengluandai1740的…

2023年9月15厦门双人

预算3000两天夜厦门之路 一、9月15早上六点起床 1. 20分钟收拾东西出门 06:20 2. 出门路过早餐摊买早饭吃 06:30 3. 地铁到虹桥 8:20到 4. 火车到厦门北 5:00到(直接去玩) 二、住 暂定 中山路步行街附近 三、吃玩 1. 第一天晚上 直接去 白城沙滩「…

Debian12搭建Nextcloud最新版并frp到二级域名

起因:因为台风的原因,要居家办公,但正值公司业务最要紧的时刻,所以需要搭建远程共享,结果发现基于原有的经验,已经难以适应版本更新带来的问题,所以就解决方法,进行了一次重新总结&a…

ssm+vue乐购游戏商城系统源码和论文

ssmvue乐购游戏商城系统源码和论文115 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 随着社会的发展,游戏品种越来越多,计算机的优势和普及使得乐购游戏商城系统的开发成为必需…

气候变化下的DNDC模拟

DNDC(Denitrification-Decomposition,反硝化-分解模型)是目前国际上最为成功的模拟生物地球化学循环的模型之一,自开发以来,经过不断完善和改进,从模拟简单的农田生态系统发展成为可以模拟几乎所有陆地生态…

[C++网络协议] I/O复用

具有代表性的并发服务器端实现模型和方法: 多进程服务器:通过创建多个进程提供服务。 多路复用服务器:通过捆绑并统一管理I/O对象提供服务。✔ 多线程服务器:通过生成与客户端等量的线程提供服务。 目录 1. I/O复用 2. select函…

数据恢复工具推荐,记好这3款!

“我真的总会因为数据丢失而烦恼。有些文件都不知道什么时候删除的,想找的时候就找不到了。各位朋友有什么好的数据恢复工具可以推荐吗?真的很需要!” 无论保存在电脑、u盘、还是手机里的数据,都有可能会被误删或由于各种原因而丢…

Vue框架--Vue中的数据绑定

Vue中有两种数据绑定的方式 1.单向数据绑定(v-band):数据只能够从data流向页面 2.双向数据绑定(v-model):数据不仅仅能够从data流向页面,也可以从页面流向data。 备注: 1.双向绑定一般都应用在表单类元素上。(如:input、select等有value属性值的标签上) 2.…

【开发】视频云存储/安防监控视频智能分析网关V3:明烟/明火检测详解

智能分析网关系列是基于边缘AI计算技术,可对前端摄像头采集的视频流进行实时检测分析,能对监控画面中的人、车、物进行识别。我们的AI边缘计算网关硬件——智能分析网关目前有5个版本:V1、V2、V3、V4、V5,每个版本都能实现对监控视…

iOS开发Swift-6-深色模式,类与对象,MVC模式,弹出框,闭包-趣味问答App

1.创建趣味问答App项目 2.创建一个问题文本,水平居中约束。 创建蓝、红两个按钮,放入Stack View中,给StackView水平居中约束,下边约束,设置两按钮间距为20. 设置进度条view与safe View关系为equal width。设置他们的比…

关于在香橙派安装mysql时遇到的坑

前言 基础环境:硬件:香橙派5操作系统:openkylincpu架构:arm 过程:最近有个任务,要在新的环境中验证一些服务是否可用。目的时向全国产化靠拢。 需要在香橙派上安装openkylin,一开始尝试的是香橙…

A. Channel

题目:样例: 输入 4 5 5 3 -- 5 2 3 - 5 4 2 - 5 0 7 -输出 YES NO MAYBE YES 题意: 给出 目的人数n看到通告的数量,初始人数m上线的数量,通知系统上线q条消息,‘-’表示有人下线,‘’表示有人上…

京东API接口解析,实现按关键字搜索商品

京东开放平台提供了丰富的API接口,用于查询商品、用户、订单等信息。以下是一个基本的示例,解析并实现按关键字搜索商品的API接口。 需要访问京东开放平台并注册一个开发者账号。注册完成后,你需要创建一个应用并获取到API的权限。 在获取到…

不看过程看结果 Web3最霸道架构Intent- Centric能解决啥?

开源区块链网络以太坊诞生的8年里,涌现出不计其数的竞争链,同时也为金融、游戏等场景的链上应用发展奠定了底层基础。唯一令人遗憾的是,8年了,绝大多数互联网用户还是摸不到以区块链为底层的Web3大门。 有数据显示,总…

亚马逊测评的风控挑战与解决方案

做跨境电商测评自养号测评的都知道,亚马逊平台是所有跨境平台中风控最严的,做亚马逊测评实操遇到过各种问题,比如:取消订单(砍单)、掉评、账号批量被封等等 其实这些问题除了亚马逊自身的风控,…

真香:Alibaba开源GitHub星标100K微服务架构全彩进阶手册

前言: 微服务架构作为一种高效灵活的应用架构,正在成为企业级应用开发的主流选择。在众多的微服务架构指南中,阿里巴巴开源的GitHub微服务架构全彩进阶手册备受瞩目,其100star更是证明了其在开发者社区中的重要地位。 这本手册汇…

微服务演变及怎么拆分微服务

微服务演变 ⼀、微服务演变过程 版本1.0 ⼏年前,⼩明和⼩⽪⼀起创业做⽹上超市。⼩明负责程序开发,⼩⽪负责其他事宜。当时互联⽹还不发 达,⽹上超市还是蓝海。只要功能实现了就能随便赚钱。所以他们的需求很简单,只需要⼀个⽹站…

一文5000字从0到1使用Jmeter实现轻量级的接口自动化测试(图文并茂)

接口测试虽然作为版本的一环,但是也是有一套完整的体系,有接口的功能测试、性能测试、安全测试;同时,由于接口的特性,接口的自动化低成本高收益的,使用一些开源工具或一些轻量级的方法,在测试用…