文章目录

  • 前言
  • 一、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

linux网桥简单理解和持久化配置相关推荐

  1. Linux网桥简介、入门与配置

    本文目录 1.通常的局域网络结构 2.Linux网桥的功能 3.在ubuntu下如何使用netplan配置一个网桥 4.最后构建出如下网络: 5.Linux网桥的作用 开始之前先得介绍一下什么是网桥, ...

  2. linux管道简单理解

    什么是管道,怎么理解呢 管道(Pipeline),其实简单理解来看,管道的作用是在命令和命令之间,传递数据.比如说一个命令的结果,作为另一个命令的输入.命令其实就是进程.更准确地说,管道在进程间传递数 ...

  3. linux网桥的简单理解和配置

    linux网桥的简单理解和配置 Linux网桥是linux虚拟网络设备之一.网上很多分析linux网桥的文章,例如代码层面的分析.这里不牵扯复杂的分析和配置,主要是面向虚拟机链接一个用途,小白我的备忘 ...

  4. Linux 网桥配置br-lan、eth0、eth1、ra0、rai0

    Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联: 思路其实很简单:就是将虚拟出一个bridge口,将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,并给这个brid ...

  5. linux 网桥br0配置

    网桥 桥接:把一台机器上的若干个网络接口"连接"起来.其结果是,其中一个网 口收到的报文会被复制给其他网口并发送出去.以使得网口之间的报文能够互 相转发.网桥就是这样一个设备,它有 ...

  6. linux 网桥迁移命令,Linux 网桥配置命令: brctl

    Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联: brctl addbr bridge brctl addif bridge eth0 brctl addif bridge at ...

  7. linux文件系统只有几k,关于Linux文件系统的的简单理解和认识

    关于Linux文件系统的的简单理解和认识 关于文件系统的运作,这与操作系统带的档案数据有关.例如Linux操作系统的档案权限(rwx)与文件属性(拥有者,群组,时间参数等).文件系统通常会将这两部分的 ...

  8. Linux 文件区块连续吗,关于Linux文件系统的的简单理解和认识

    关于Linux文件系统的的简单理解和认识 关于文件系统的运作,这与操作系统带的档案数据有关.例如Linux操作系统的档案权限(rwx)与文件属性(拥有者,群组,时间参数等).文件系统通常会将这两部分的 ...

  9. 从Docker在Linux和Windows下的区别简单理解Docker的层次结构

    上篇文章我们成功在Windows下安装了Docker,输出了一个简单的Hello World程序.本文中我们将利用Docker已有的云端镜像training/webapp来发布一个简单Python的W ...

最新文章

  1. [小技巧]在NTFS分区中复制文件的同时如何复制权限
  2. 多业务融合推荐策略实践与思考
  3. 透明地持久保存并从数据库中检索加密的数据
  4. 进程控制:进程的创建、终止、阻塞、唤醒和切换
  5. 2_C语言中的数据类型 (二)进制
  6. Windows 安装 sbt
  7. 关于if...else语句的小注意
  8. SoapUI接口测试实战
  9. 有效解决0x0000011b共享打印机无法连接(适用所有win系统)
  10. 计算机主机运行显示屏黑屏,电脑开机黑屏_电脑启动显示器黑屏的原因和检修-太平洋IT百科...
  11. ElasticSearch:text和keyword的区别、fileds作用、mappings结构对查询的影响
  12. 国内外主流的三维GIS软件
  13. 6.WIN10 short cut
  14. java随机生成数字和字母_使用java如何生成随机的字母数字字符串?
  15. 请简述独占设备的分配过程。
  16. Tungsten Replicator学习总结
  17. Java学习:流程控制
  18. 多重背包的二进制拆分法
  19. Camera | 5.Linux v4l2架构(基于rk3568)
  20. 因跨域,post请求变options请求(vue)

热门文章

  1. 新性能服务器图片介绍,G5型图形加速增强型弹性云服务器规格及功能介绍
  2. 闪电邮新建html模板,非常靠谱之网易智能版闪电邮6大新功能评测
  3. 交大数字研究院:转行IT行业,月薪过万需要多久?
  4. 基于OpenCV的AR图像合成
  5. opencv图像融合
  6. 计算机游戏如何处理方法,窗口化运行游戏是怎么回事 有什么简便的处理方式...
  7. 广东省交通行业十四五项目前景与建设规模分析报告2022版
  8. 在vs2013中编译soui3和一个例子
  9. 粘土人世纪开金手指不黑屏怎么弄
  10. 教育2018CPCI检索一般多久的多重融合性