Linux 系统中的桥接配置是一种将多个网络接口连接在一起,实现数据帧在不同接口间转发的技术,常用于虚拟化环境、网络隔离以及构建复杂网络拓扑,本文将详细介绍 Linux 桥接的原理、配置步骤及常见应用场景,帮助读者全面掌握这一实用技能。

桥接技术的基本原理
Linux 网桥工作在数据链路层(OSI 第二层),类似于物理交换机,能够根据 MAC 地址表自动转发数据帧,当多个接口加入网桥后,网桥会学习每个接口连接的设备的 MAC 地址,并将数据帧仅转发到目标 MAC 地址所在的目标接口,从而实现接口间的透明通信,与路由器(工作在网络层)不同,网桥不涉及 IP 地址转换,仅扩展同一广播域的覆盖范围,适合构建局域网或虚拟网络环境。
安装必要的工具
在配置桥接之前,需确保系统已安装 bridge-utils 工具包,该工具提供了 brctl 命令行工具,用于管理网桥接口,以 Debian/Ubuntu 系统为例,可通过以下命令安装:
sudo apt update sudo apt install bridge-utils
对于 CentOS/RHEL 系统,使用 yum 或 dnf 安装:
sudo yum install bridge-utils
安装完成后,可通过 brctl show 验证工具是否可用。
创建并配置网桥接口
创建网桥
使用 ip 命令创建网桥接口,例如命名为 br0:
sudo ip link add name br0 type bridge
创建后,可通过以下命令查看网桥状态:
ip link show br0
配置网桥 IP 地址
若需为网桥分配 IP 地址(如虚拟机网关或服务器管理地址),使用以下命令:
sudo ip addr add 192.168.1.100/24 dev br0
同时启用网桥接口:
sudo ip link set dev br0 up
将物理/虚拟接口加入网桥
假设物理接口为 eth0,需先将其 IP 地址(若有)清除,再加入网桥:

sudo ip addr flush dev eth0 # 清除 eth0 的 IP 地址 sudo ip link set dev eth0 up # 启用 eth0 sudo ip link set dev eth0 master br0 # 将 eth0 加入 br0
加入网桥后,原接口的 IP 配置由网桥接管,无需单独配置。
配置示例:虚拟机桥接网络
以 KVM 虚拟机为例,通过桥接实现虚拟机与主机同网段通信,假设主机物理接口为 eth0,目标网桥为 br0。
创建网桥并绑定物理接口
按上述步骤创建 br0,并将 eth0 加入网桥。
配置虚拟机网络
在 KVM 虚拟机配置文件(如 vm.xml)中,将网络类型设置为 bridge,并指定网桥名称:
<interface type='bridge'> <mac address='52:54:00:xx:xx:xx'/> <source bridge='br0'/> <model type='virtio'/> </interface>
启动虚拟机后,虚拟机将直接通过 br0 与外部网络通信,无需 NAT 转发。
桥接配置的持久化
上述命令为临时配置,重启后会失效,为使配置持久化,需根据系统类型修改配置文件。
Debian/Ubuntu(Netplan)
编辑 /etc/netplan/01-netcfg.yaml,添加网桥配置:
network:
version: 2
ethernets:
eth0:
dhcp4: no
bridges:
br0:
interfaces: [eth0]
dhcp4: yes
addresses: [192.168.1.100/24]
执行 sudo netplan apply 生效。
CentOS/RHEL(NetworkManager)
编辑 /etc/sysconfig/network-scripts/ifcfg-br0:

DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 ONBOOT=yes
编辑 /etc/sysconfig/network-scripts/ifcfg-eth0,删除 IP 配置,并添加:
TYPE=Ethernet BRIDGE=br0 ONBOOT=yes
重启网络服务:sudo systemctl restart network。
常见问题与解决方案
-
网桥无法获取 IP 地址
检查物理接口是否正确加入网桥,以及dhclient或 DHCP 服务是否正常运行。 -
虚拟机无法联网
确认虚拟机网络模式为桥接,且网桥已绑定正确的物理接口,可通过brctl showmacs br0查看网桥 MAC 地址表。 -
网络性能问题
网桥性能受限于物理接口,建议使用支持多队列的网卡,或在虚拟化环境中调整网桥参数(如net.bridge.bridge-nf-call-iptables=0)。
Linux 桥接配置是构建灵活网络架构的基础技术,适用于虚拟化、容器化及传统网络管理场景,通过本文介绍的方法,用户可快速掌握网桥的创建、接口绑定及持久化配置,并根据实际需求调整网络拓扑,合理使用桥接技术,不仅能简化网络管理,还能提升网络通信效率,为复杂环境下的网络部署提供可靠支持。


















