Linux网桥简介、入门与配置

这篇具有很好参考价值的文章主要介绍了Linux网桥简介、入门与配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

开始之前先得介绍一下什么是网桥,这里我们假设大家已经知道了物理的交换机是工作在链路层的。交换机的主要任务是在链路层查找转发表(mac地址与端口对应关系表),按照数据帧的目标mac地址,转发数据帧到相应的端口。那么什么是网桥呢,网桥是个远古的概念的,它是交换机出来前区别于工作在物理层的集线器(多端口中继器)的能将二个小的局域网在链路层连接成一个大的局域网,但又分成二个独立的冲突域的设备。有兴趣的可以自行考古(中继器,集线器,网桥,交换机的历史与区别)。简单的说我们可以将网桥理解为一个二口交换机。而Linux网桥,我们可以简单的把它理解为可以把一台多网卡的Linux主机设置成一台软件交换机来使用的软件。

1、通常的局域网络结构

  1. 以下为一个典型的交换机构成的网络:

Linux网桥简介、入门与配置

  1. Linux网桥构建的网络(本文不讨论虚拟主机下的 Linux网桥的功能):
    在物理世界中,如果你有一台多网卡的主机,那么你就可以让其中一台主机替代交换机的功能,你可以在这台多网卡主机上创建一个Linux网桥,把部分或者全部所有网卡都加入到网桥里。再把其它主机连接到这台多网卡的主机上,那就形成了一个标准的局域网络。如下图。
    Linux网桥简介、入门与配置

2、Linux网桥的功能

所以Linux网桥和交换机一样,有二大功能:

  1. MAC学习:学习MAC地址,它会关心每个收到或者发送的数据,关心数据包的来源MAC是从自己的哪个端口来的,然后慢慢的建立地址-端口的对照表(转发表)。

  2. 报文转发:每个发送一个数据包,它都会提取其目的MAC地址,从自己的地址-端口对照表(转发表)中查找应该由哪个端口把数据包发送出去,然后转发数据。

除了上述功能外,Linux网桥还会产生一个虚拟的网络接口,这个接口可以和普通的网卡一样,配置IP地址(静态或者DHCP),建立了Linux网桥的这台主机,以及所有连接在这个网桥上的设备,可以通过这个接口与外界进行IP网络层的通信(如上图中接收路由器分配的IP地址,通过路由器的上网)。

3、在ubuntu下如何使用netplan配置一个网桥

这是一台有4张网卡的主机,分别是enp2s0、enp3s0、 enp4s0、 eno1

ifconfig -a | grep mtu
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
enp2s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
enp3s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
enp4s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

我们准备把这4张网卡加入同一个网桥br0, 关闭所有网卡的DHCP请求功能,并开启这个网桥通过DHCP自动获取IP地址的功能。我们可以通过在/etc/netplan目录下增加一个br0.yaml文件,用于描述这个网桥,及关闭各个网卡的dhcp获取IP地址功能来实现Linux网桥。

xxx@xxx-HP-PC:~$ ls -l /etc/netplan/
总计 8
-rw-r--r-- 1 root root 104  89  2022 01-network-manager-all.yaml
-rw-r--r-- 1 root root 594  421 21:43 br0.yaml
  1. 用vi打开这个文件,
vi /etc/netplan/br0.yaml
  1. 把以下内容加入到这个文件中。
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eno1:
      dhcp4: no
      dhcp6: no
    enp2s0:
      dhcp4: no 
      dhcp6: no 
    enp3s0:
      dhcp4: no 
      dhcp6: no 
    enp4s0:
      dhcp4: no 
      dhcp6: no 
  bridges:
    br0:
      interfaces:
        - enp2s0
        - enp3s0
        - enp4s0
        - eno1
      dhcp4: yes 
      dhcp6: yes 
      #addresses:
      #  - 192.168.3.166/24
      #routes:
      #  - to: default
      #    via: 192.168.3.1
      #nameservers:
      #  addresses: [192.168.3.1, 8.8.8.8]
      parameters:
        stp: false
  1. 使用netplan apply命令让网桥生效
sudo netplan apply

  1. 生效后,通过ip addr show和brctl show可以看到以下网络配置结果
  • 生成了一个br0网桥
  • 4个网卡都加入了br0网桥
  • 网桥接口br0通过DHCP请求,从上游 DHCP SERVER请求到了IP地址192.168.3.122
xxx@xxx-HP-PC:~$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether a0:36:9f:56:98:45 brd ff:ff:ff:ff:ff:ff
3: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether a0:36:9f:56:95:be brd ff:ff:ff:ff:ff:ff
4: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether a0:36:9f:57:18:d2 brd ff:ff:ff:ff:ff:ff
5: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
    link/ether 8c:dc:d4:41:8b:ac brd ff:ff:ff:ff:ff:ff
    altname enp0s25
7: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 82:61:84:35:97:fb brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.112/24 brd 192.168.3.255 scope global dynamic noprefixroute br0
       valid_lft 604763sec preferred_lft 604763sec
    inet6 fe80::8061:84ff:fe35:97fb/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

xxx@xxx-HP-PC:~$ brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.8261843597fb	no		eno1
							enp2s0
							enp3s0
							enp4s0

4、最后构建出如下网络:

注意,任何一个网卡都可以做为和路由去去连接的物理网卡,这个网卡会负责起br0接口上的报文收发的工作。

                                         +--网桥服务器--+
                                     +---+192.168.3.112|          +--电脑3-------+
                                     |   |       enp2s0+----------+ eth0        |
                                     |   |       enp3s0+----|      |192.168.3.115|
                                     |   |  Bridge br0 |    |    +-------------+
                                     |   +-------------+    |       
                 +--路由器-----+     |                       | 
                 | Firewall    |     |   +--电脑1-------+    |     +--电脑4------+
(外网)----WAN----+ DHCP server +-LAN +---+ 192.168.3.22 |    + ----+ eth0        |
                 | 192.168.3.1 |     |   +--------------+          |192.168.3.116|
                 +-------------+     |                             +-------------+
                                     |   +--电脑2-------+
                                     +---+ 192.168.3.23 |
                                         +--------------+

5、Linux网桥的作用

由于现在的交换机非常的便宜,又便宜又快又省电,所以其实没有人会买一台电脑加一堆网卡,把Linux主机再改造成交换机(又贵,又费电)了,Linux网桥的真实应用其实是在虚拟化云服务器部署中才能大展身手,后续我们可以更新一篇专门讲虚拟化环境下的Linux网桥。

6、使用brctl创建管理linux网桥

brctl是更通用的用于创建与管理 linux网桥的工具,安装和使用方法可以参见使用brctl工具创建管理linux bridge网桥文章来源地址https://www.toymoban.com/news/detail-421512.html

到了这里,关于Linux网桥简介、入门与配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux内核】从0开始入门Linux Kernel源码

    🌈 博客个人主页 :Chris在Coding 🎥 本文所属专栏 :[Linux内核] ❤️  前置学习专栏 :[Linux学习]从0到1 ⏰  我们仍在旅途                                                                                    ​ 目录         前言--Linux内核简述         内核的

    2024年02月20日
    浏览(44)
  • Linux Bridge(网桥)

    Linux Bridge简介 Linux Bridge(Linux网桥)是一个软件层面的网络设备,用于在Linux系统中创建和管理网络桥接。它允许将多个物理或虚拟网络接口连接在一起,以创建一个共享相同网络段的网络。 下面是Linux Bridge的一些关键特点和用途: 网络桥接:Linux Bridge允许将多个网络接口连

    2024年02月14日
    浏览(57)
  • linux网桥bridge详解

    Linux网桥(Bridge)是一种网络设备,用于连接并转发以太网数据包。它可以将多个以太网接口连接在一起,使它们成为一个逻辑上的以太网段。这样,在同一个网桥上的设备可以直接通信,就像它们连接在同一个物理以太网上一样。 下面是对Linux网桥的详细解释和一些相关概

    2024年02月06日
    浏览(58)
  • Linux 网桥管理

    在生活中,桥是一种结构,用于连接两个地方,允许行人、车辆等安全地跨越障碍物(如河流或高速公路) 在计算机网络技术中,网桥是一种工作在数据链路层的物理或逻辑设备,可以用于连接两个或多个局域网段。它基于MAC地址来转发或过滤帧,从而有效地划分广播域。

    2024年02月08日
    浏览(48)
  • C语言开始之旅(基本的配置,简单入门)

    本人目前使用的是Microsoft Visual Studio 2019(以下简称vs2019),自行下载其安装包安装即可,该软件可能对新手不太友好(与Dev c++相比),但是该软件对于语法规则方面处理的更好,程序能很好的工程化,也较为流行(Dev c++语法方面管得更松,或者说标准不一样,这对初学并不

    2024年02月09日
    浏览(35)
  • 【Docker】Linux网桥连接多个命名空间

    veth实现了点对点的虚拟连接,可以通过veth连接两个namespace,如果我们需要将3个或者多个namespace接入同一个二层网络时,就不能只使用veth了。 在物理网络中,如果需要连接多个主机,我们会使用bridge(网桥),或者又称为交换机。Linux也提供了网桥的虚拟实现。下面我们试验

    2024年02月05日
    浏览(56)
  • Mellanox Cumulus 10GB交换机 - 网卡接口配置成网桥

    服务器上有一张网卡KVM虚拟机网桥,模拟出多套虚拟网桥 登陆交换机Mellanox Cumulus 第一步:创建桥 - 名称为bridge 第二步:添加接口至master bridge 启动master bridge接口 第三部:添加vlan和接口 查看桥中包含的vlan接口 查看网络

    2024年01月19日
    浏览(56)
  • Java入门篇:打造你的Java开发环境——从零开始配置IDEA与Eclipse

    “工欲善其事,必先利其器” 作为每一位Java初学者的必经之路,搭建合适的开发环境是至关重要的第一步。本篇将详细指导你如何安装并配置两大主流Java开发工具——IntelliJ IDEA和Eclipse,助你在编程之旅上迈出坚实的第一步。 1. 下载并安装Java Development Kit (JDK) 步骤1 访问O

    2024年01月25日
    浏览(57)
  • 【Unity ShaderGraph】| Shader Graph入门介绍 | 简介 | 配置环境 | 窗口介绍 | 简单案例

    前言 Unity2018版本之后推出了一款名为 Shader Graph 的可编程渲染管线工具。 这个工具可以通过可视化界面拖拽来实现着色器的创建和编辑,大大简化了着色器的制作过程,同时着色效果编译显示也快。 下面就来介绍一下Shader Graph的基本信息及使用方法,上手非常简单,一起来

    2024年02月08日
    浏览(39)
  • virsh 获取虚机IP,网桥ip,brctl,arp使用 Linux 命令(199)—— arp 命令

    arp(Address Resolution Protocol)操作主机的 ARP 缓存。 arp 可以显示 arp 缓冲区中的所有条目、删除指定的条目或者添加静态的 IP 地址与 MAC 地址对应关系。 1)查看 arp 缓存表 (2)查看 arp 表,并且用 IP 显示而不是主机名称。 (3)查看 arp 表,使用备用 BSD 样式输出格式(没有

    2023年04月18日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包