家里路由器一多,设备连来连去总掉线?公司里几台交换机各自为政,数据传不过去?这时候你可能需要一个网桥。网桥不是什么高深设备,它就是让两个或多个网络接口在数据链路层直接互通的“桥梁”,常用于合并局域网、扩展无线覆盖,或者把虚拟机接进物理网络。
什么是网桥,它能干啥
你可以把网桥想象成一个“透明中转站”。比如你在用 KVM 虚拟机,宿主机有网卡 eth0,你想让虚拟机像真实机器一样上网,就得建个虚拟网桥 br0,把 eth0 接上去,再让虚拟机的虚拟网卡挂到 br0 上。这样一来,虚拟机发出的数据就像从同一台交换机出来的,和外部网络通信毫无障碍。
再比如,你办公室有两个子网,分别在不同楼层,中间没有三层路由,但你想让它们互通,就可以在连接两个子网的服务器上配个网桥,两边网线插上去,桥一搭,设备自动发现彼此,IP 不用改,照样通信。
Linux 下手动配置网桥
大多数运维场景都在 Linux 上操作,这里以常见的 systemd-networkd 和 iproute2 工具为例。
先安装必要的工具(以 Debian/Ubuntu 为例):
apt install bridge-utils net-tools
查看当前网卡:
ip a
假设你要把 eth0 接入网桥 br0,注意:这会短暂断网。
创建网桥并添加接口:
ip link add name br0 type bridge
ip link set eth0 master br0
ip link set br0 up
ip link set eth0 up
如果你原本是通过 eth0 获取 IP 的,现在要把 IP 配到 br0 上。比如原 IP 是 192.168.1.100:
ip addr del 192.168.1.100/24 dev eth0
ip addr add 192.168.1.100/24 dev br0
ip route add default via 192.168.1.1 dev br0
这样,网络流量就走 br0 桥接出去了。
永久配置:写进系统文件
上面是临时生效,重启就没了。要持久化,得改配置文件。
在 Ubuntu 20.04+ 上常用 Netplan。编辑配置文件:
nano /etc/netplan/01-netcfg.yaml
写入以下内容(根据实际情况调整):
network:
version: 2
renderer: networkd
bridges:
br0:
interfaces:
- eth0
dhcp4: true
parameters:
stp: false
forward-delay: 4
保存后应用:
netplan apply
如果使用传统的 ifupdown(如 Debian 旧版),修改 /etc/network/interfaces:
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
验证网桥状态
配置完检查一下是否正常:
bridge link show
这条命令会列出所有桥接接口及其状态。你还能看到每个端口的转发状态、MAC 地址等信息。
也可以用:
ip link show br0
看 br0 是否处于 UP 状态。
注意事项别忽略
开启 STP(生成树协议)可以防止环路,但在简单环境里反而拖慢连接,通常设为 false。如果你接了多个交换机,建议打开 STP。
虚拟化平台如 Proxmox 或 VMware,都内置了网桥管理功能,本质也是调用 Linux bridge,只是图形化更方便。
无线网卡一般不能加入网桥,因为 802.11 协议机制和以太网不同,强行桥接会导致问题。
生产环境改网桥前,最好先在测试机上练一遍,避免远程断连后无法恢复。