在 Linux 系统中创建网桥(bridge)可以通过命令行工具临时配置,或通过修改配置文件永久生效。以下是详细方法:
方法一:使用 ip 命令(临时生效,重启后失效)
# 1. 创建网桥(名为 br0)
sudo ip link add name br0 type bridge
# 2. 启用网桥
sudo ip link set br0 up
# 3. 将物理接口(如 eth0)加入网桥
sudo ip link set eth0 master br0
# 4. 验证网桥状态
ip link show br0 # 查看网桥状态
bridge link # 查看桥接的物理接口
方法二:配置文件(永久生效)
Debian/Ubuntu(使用 netplan 或 ifupdown)
- 使用 ifupdown(传统方式)
# 安装桥接工具
sudo apt install bridge-utils
# 编辑网络配置文件
sudo nano /etc/network/interfaces
# 添加以下内容:
auto eth0
iface eth0 inet manual # 物理接口不直接配置IP
auto br0
iface br0 inet dhcp # 网桥获取IP(如果不需要IP,改为 `inet manual`)
bridge_ports eth0 # 绑定物理接口
bridge_stp off # 禁用生成树协议(可选)
- 使用 netplan(Ubuntu 18.04+)
# 编辑配置文件(如 /etc/netplan/01-netcfg.yaml)
network:
version: 2
bridges:
br0:
dhcp4: yes # 是否通过DHCP获取IP(若不需要IP,设为 no)
interfaces: [eth0] # 绑定的物理接口
parameters:
stp: false # 禁用生成树协议
RHEL/CentOS(使用 NetworkManager)
# 1. 创建网桥(不获取IP)
sudo nmcli con add type bridge con-name br0 ifname br0 ipv4.method disabled ipv6.method ignore
# 2. 将物理接口(如 eth0)加入网桥
sudo nmcli con add type bridge-slave con-name br0-slave ifname eth0 master br0
# 3. 启用连接
sudo nmcli con up br0
验证网桥
# 查看网桥状态
ip link show br0 # 检查网桥是否启用
ip addr show br0 # 查看网桥IP地址(如果有)
# 查看桥接的物理接口
bridge link show # 确认 eth0 已绑定到 br0
关键注意事项
- 物理接口处理:
物理接口(如 eth0)必须取消独立IP配置,否则会导致冲突。
在配置文件中,物理接口应设为 inet manual(Debian)或通过 nmcli 绑定(RHEL)。
- 是否需要IP:
如果网桥需要作为网络接口使用(如宿主机通信),需分配IP。
若网桥仅用于二层转发(如KVM虚拟化),可禁用IP(参考不获取IP的配置)。
3.服务重启:
# Debian/Ubuntu(ifupdown)
sudo systemctl restart networking
# RHEL/CentOS
sudo systemctl restart NetworkManager
4.防火墙:
若使用防火墙(如 ufw 或 firewalld),确保允许桥接流量。
典型应用场景
- 虚拟化环境:为虚拟机(KVM/QEMU)提供网络桥接。
-
- 容器网络:为Docker/Podman容器创建自定义桥接网络。
-
- 透明网关:将网桥作为二层设备,用于流量监控或过滤。
根据需求选择是否需要为网桥分配IP地址!