在 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地址!

— 感谢阅读 —

一起交流

分享你的思考,让讨论更进一步。