Linux网桥简介、入门与配置 您所在的位置:网站首页 linux如何配置网络设置方法教程图片 Linux网桥简介、入门与配置

Linux网桥简介、入门与配置

2024-07-05 08:11| 来源: 网络整理| 查看: 265

本文目录 1、通常的局域网络结构2、Linux网桥的功能3、在ubuntu下如何使用netplan配置一个网桥4、最后构建出如下网络:5、Linux网桥的作用6、使用brctl创建管理linux网桥

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

1、通常的局域网络结构 以下为一个典型的交换机构成的网络:

在这里插入图片描述

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

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

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

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

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

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

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

ifconfig -a | grep mtu eno1: flags=4163 mtu 1500 enp2s0: flags=4099 mtu 1500 enp3s0: flags=4099 mtu 1500 enp4s0: flags=4099 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 8月 9 2022 01-network-manager-all.yaml -rw-r--r-- 1 root root 594 4月 21 21:43 br0.yaml 用vi打开这个文件, vi /etc/netplan/br0.yaml 把以下内容加入到这个文件中。 # 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 使用netplan apply命令让网桥生效 sudo netplan apply 生效后,通过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: 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: 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: 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: 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: 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: 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网桥



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有