首先安装brctl工具,然后创建网桥br0并添加物理接口eth0,接着将ip配置从eth0迁移到br0并启用接口,最后通过brctl命令管理网桥状态;1. 使用apt或yum安装bridge-utils;2. 执行sudo brctl addbr br0创建网桥;3. 使用sudo brctl addif br0 eth0将接口加入网桥;4. 清除eth0的ip并为br0配置ip;5. 启用eth0和br0接口;6. 通过brctl show查看网桥信息;7. 配置netplan或network-scripts实现开机自动生效;8. 在kvm或docker等场景中应用桥接网络;9. 注意关闭stp可提速但需防环路,推荐后续使用ip和bridge命令替代brctl,操作完成后网桥可正常工作。

在 Linux 中,网络桥接(Bridge)是一种将多个网络接口连接在一起,使它们像同一个物理交换机一样工作的技术。常用于虚拟化环境中,让虚拟机与宿主机共享网络或直接接入物理网络。
brctl是传统 Linux 系统中用于管理网桥的命令行工具,属于
bridge-utils软件包。
下面详细介绍如何使用
brctl设置和管理 Linux 网络桥接。
一、安装 brctl 工具
brctl不是默认安装的,需要手动安装
bridge-utils包。
Debian/Ubuntu 系统:
sudo apt update sudo apt install bridge-utils
CentOS/RHEL/Rocky Linux:
sudo yum install bridge-utils # 或者在较新版本中使用 dnf sudo dnf install bridge-utils
安装完成后,即可使用
brctl命令。
二、创建和配置网桥
1. 创建一个网桥(如 br0)
sudo brctl addbr br0
这会创建一个名为
br0的虚拟网桥设备。
2. 将物理网卡添加到网桥(如 eth0)
⚠️ 注意:如果你通过 SSH 连接服务器,直接绑定 eth0 可能导致网络中断!建议在本地操作或使用备用接口。
sudo brctl addif br0 eth0
这会将
eth0接口加入到
br0桥中,此后该接口的数据包将由网桥处理。
3. 配置 IP 地址(从物理接口转移到网桥)
由于网桥接管了网络通信,原来的物理接口(如 eth0)不再需要 IP 地址,应将 IP 配置到
br0上。
# 清除原接口 IP sudo ip addr flush dev eth0 # 为网桥分配 IP(假设使用 DHCP) sudo dhclient br0 # 或者静态设置 IP sudo ip addr add 192.168.1.100/24 dev br0 sudo ip route add default via 192.168.1.1
4. 启用网桥和接口
确保所有接口处于 UP 状态:
这是一款比较精美的企业网站管理系统源码,功能比较完整,比较适合新手学习交流使用,也可以作为毕业设计或者课程设计使用,感兴趣的朋友可以下载看看哦。功能介绍:该源码主要包括前台和后台两大部分,具体功能如下:网站前台模块:主要包括企业简介、新闻中心、产品展示、公司证书、工程业绩、联系我们、客户系统、人才招聘等信息的浏览,以及客户留言的功能。网站后台模块1、常规管理:企业简介、链接管理、投票管理、系统设置
sudo ip link set eth0 up sudo ip link set br0 up
三、常用 brctl 命令说明
| 命令 | 作用 |
|---|---|
| @@######@@ | 创建一个新网桥 |
| @@######@@ | 删除指定网桥 |
| @@######@@ | 将接口添加到网桥 |
| @@######@@ | 从网桥中删除接口 |
| @@######@@ | 显示当前所有网桥及其接口 |
| @@######@@ | 显示网桥的生成树(STP)信息 |
| @@######@@ | 设置网桥转发延迟(秒) |
| @@######@@ | 启用或关闭 STP(生成树协议) |
示例:查看当前网桥状态
brctl addbr
输出示例:
brctl delbr
四、持久化配置(开机自动生效)
上面的操作是临时的,重启后会失效。要实现持久化,需根据发行版配置网络脚本。
Ubuntu(使用 netplan,较新版本)
编辑
brctl addif文件,例如:
brctl delif
应用配置:
brctl show
CentOS/RHEL(使用传统 network-scripts)
编辑
brctl showstp:
brctl setfd
修改
brctl stp:on/off
brctl show
重启网络服务:
bridge name bridge id STP enabled interfaces br0 8000.001122334455 yes eth0
五、典型应用场景
- KVM/QEMU 虚拟化:为虚拟机提供桥接网络,使其获得局域网独立 IP。
-
Docker 自定义桥接(虽然 Docker 通常用
/etc/netplan/*.yaml
,但可自定义 bridge)。 - 多容器或虚拟机共享宿主机网络接口。
六、注意事项
- 添加接口到网桥后,原接口的 IP 应移除,由网桥承担三层功能。
- 开启 STP 可防止环路,但在简单环境中可关闭以加快连接速度:
network: version: 2 renderer: networkd bridges: br0: dhcp4: true interfaces: - eth0 - 某些现代系统推荐使用
sudo netplan apply
和/etc/sysconfig/network-scripts/ifcfg-br0
命令替代DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0
(如/etc/sysconfig/network-scripts/ifcfg-eth0
),但DEVICE=eth0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes BRIDGE=br0
依然广泛兼容。
基本上就这些。通过
sudo systemctl restart network创建和管理网桥并不复杂,关键在于理解“桥接是二层操作”,IP 应配置在网桥设备上,而不是物理接口。实际使用中建议结合自动化脚本或配置管理工具进行部署。
docker0
sudo brctl stp br0 off
ip
bridge
brctl
ip link add name br0 type bridge
brctl
brctl









