Linux网桥是工作在OSI模型第二层的网络接口,它的核心功能是在数据链路层实现多个网络接口之间的帧转发,和物理交换机的工作逻辑高度相似。Linux网桥可以绑定多个物理网卡或者虚拟网卡,让这些接口处于同一个广播域中,实现同网段设备之间的直接通信。

Linux网桥的层级定位依据
判断Linux网桥属于几层接口,核心看它的工作逻辑和处理的网络数据单元:
- 它处理的是数据链路层的以太网帧,不会解析网络层的IP头部信息,仅根据帧中的MAC地址进行转发决策
- 具备MAC地址学习功能,会记录每个接口对应的设备MAC地址,构建转发表
- 支持广播、组播帧的泛洪转发,和二层交换机的转发行为完全一致
和其他层级接口的差异对比
为了更清晰区分Linux网桥的层级,我们可以把它和常见的一层、三层接口做对比:
| 接口类型 | 工作层级 | 核心功能 | 典型示例 |
|---|---|---|---|
| 一层接口 | 物理层 | 仅负责电信号或者光信号的传输,不处理任何协议数据 | 物理网卡、光纤接口 |
| 二层接口 | 数据链路层 | 处理以太网帧,根据MAC地址转发数据 | Linux网桥、物理交换机接口 |
| 三层接口 | 网络层 | 处理IP数据包,根据IP地址进行路由转发 | Linux路由接口、服务器网卡IP配置 |
Linux网桥的基础配置示例
我们可以通过iproute2工具来创建和配置Linux网桥,验证它的二层工作特性:
创建并配置网桥
# 创建名为br0的网桥 ip link add br0 type bridge # 启动网桥接口 ip link set br0 up # 将物理网卡eth0加入网桥 ip link set eth0 master br0 # 将物理网卡eth1加入网桥 ip link set eth1 master br0 # 查看网桥配置信息 bridge link show
验证二层转发特性
当eth0和eth1都加入br0后,连接在eth0上的设备和连接在eth1上的同网段设备可以直接通信,Linux网桥不会修改IP层的信息,仅根据MAC地址转发帧。我们可以通过tcpdump在br0上抓包验证,抓到的都是以太网帧,没有经过三层路由处理。
注意:如果给Linux网桥配置了IP地址,这个IP仅用于管理网桥本身,不会影响网桥的二层转发逻辑,网桥的核心转发功能仍然工作在二层。
常见误区说明
有些用户认为配置了IP的Linux网桥是三层接口,这是错误的。IP配置只是给网桥设备本身添加了三层属性,用于远程管理或者作为网关使用,网桥的核心数据转发功能始终工作在数据链路层,属于二层接口。如果需要实现三层转发,需要在网桥上配置路由规则,或者搭配其他三层网络设备使用。