Netplan 配置网桥(Bridge)的模板笔记250711

Netplan 配置网桥(Bridge)的模板笔记250711

Netplan 网桥配置模板大全

以下是不同场景下的 Netplan 网桥配置模板,涵盖从基础到高级的各种应用场景。所有配置均基于 YAML 格式,适用于 Ubuntu 18.04 及更高版本。

📌 基础配置模板

模板 1:单物理接口基础网桥(最常用)

yaml 复制代码
network:
  version: 2
  renderer: networkd  # 或 NetworkManager
  ethernets:
    enp3s0:              # 物理接口名
      dhcp4: no          # 必须禁用DHCP
      optional: true     # 允许接口不存在时启动
  
  bridges:
    br0:                 # 网桥名称
      interfaces: [enp3s0] # 添加的接口
      dhcp4: yes           # 启用DHCP获取IP
      parameters:
        stp: false         # 单接口建议关闭STP

模板 2:静态IP网桥

yaml 复制代码
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
  
  bridges:
    br-lan:
      interfaces: [eth0]
      addresses:
        - 192.168.1.100/24   # IPv4地址
        - 2001:db8::100/64    # IPv6地址
      gateway4: 192.168.1.1
      gateway6: 2001:db8::1
      nameservers:
        addresses: [8.8.8.8, 2001:4860:4860::8888]
      parameters:
        stp: true            # 多接口时开启STP
        forward-delay: 2     # 转发延迟(秒)

🧩 高级组合模板

模板 3:绑定接口(Bond) + 网桥

yaml 复制代码
network:
  version: 2
  ethernets:
    eno1: { dhcp4: no }
    eno2: { dhcp4: no }
  
  bonds:
    bond0:
      interfaces: [eno1, eno2]
      parameters:
        mode: 802.3ad        # LACP模式
        lacp-rate: fast
        mii-monitor-interval: 100
  
  bridges:
    br-bond:
      interfaces: [bond0]    # 绑定接口加入网桥
      addresses: [10.0.0.5/24]

模板 4:VLAN + 网桥

yaml 复制代码
network:
  version: 2
  ethernets:
    enp4s0: { dhcp4: no }
  
  vlans:
    vlan100:
      id: 100
      link: enp4s0           # 父接口
      dhcp4: no
  
  bridges:
    br-vlan100:
      interfaces: [vlan100]  # VLAN接口加入网桥
      addresses: [192.168.100.10/24]

模板 5:多接口网桥(交换机模式)

yaml 复制代码
network:
  version: 2
  ethernets:
    eth1: { dhcp4: no }
    eth2: { dhcp4: no }
    eth3: { dhcp4: no }
  
  bridges:
    br-switch:
      interfaces: [eth1, eth2, eth3]  # 多个物理接口
      dhcp4: no
      # 无IP配置=纯二层交换机
      parameters:
        stp: true
        max-age: 20
        hello-time: 2

🖥 虚拟化专用模板

模板 6:KVM虚拟机桥接

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp6s0:
      dhcp4: no
      optional: true
  
  bridges:
    br0:
      interfaces: [enp6s0]
      addresses: [192.168.1.50/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [192.168.1.1]
      parameters:
        stp: false

模板 7:容器网络桥接(Docker/LXC)

yaml 复制代码
network:
  version: 2
  bridges:
    docker0:                  # Docker默认网桥
      interfaces: []          # 无物理接口
      addresses: [172.17.0.1/16]
      parameters:
        stp: false

    lxc-br:                   # LXC专用网桥
      addresses: [10.0.3.1/24]
      mtu: 1500

🌐 企业级网络模板

模板 8:绑定 + VLAN + 网桥(高可用隔离网络)

yaml 复制代码
network:
  version: 2
  ethernets:
    eno1np0: { dhcp4: no }
    eno2np1: { dhcp4: no }
  
  bonds:
    bond-vlan:
      interfaces: [eno1np0, eno2np1]
      parameters:
        mode: active-backup
        primary: eno1np0
  
  vlans:
    vlan10:
      id: 10
      link: bond-vlan
      dhcp4: no
    vlan20:
      id: 20
      link: bond-vlan
      dhcp4: no
  
  bridges:
    br-mgmt:
      interfaces: [vlan10]
      addresses: [10.10.10.2/24]
    br-data:
      interfaces: [vlan20]
      addresses: [10.20.20.2/24]

模板 9:无线桥接(WIFI到有线)

yaml 复制代码
network:
  version: 2
  renderer: NetworkManager  # 无线必须用NM
  
  wifis:
    wlp3s0:                  # 无线接口
      dhcp4: no
      access-points:
        "MySSID":
          password: "securepassword"
  
  ethernets:
    enp4s0: { dhcp4: no }    # 有线接口
  
  bridges:
    br-wifi:
      interfaces: [wlp3s0, enp4s0]  # 桥接无线和有线
      dhcp4: yes

🔧 特殊场景模板

模板 10:无IP纯转发网桥

yaml 复制代码
network:
  version: 2
  ethernets:
    eth0: { dhcp4: no }
    eth1: { dhcp4: no }
  
  bridges:
    br-transit:
      interfaces: [eth0, eth1]
      dhcp4: no
      # 无IP地址=纯二层转发

模板 11:带MAC地址过滤的网桥

yaml 复制代码
network:
  version: 2
  ethernets:
    enp5s0: { dhcp4: no }
  
  bridges:
    br-secure:
      interfaces: [enp5s0]
      addresses: [192.168.5.10/24]
      parameters:
        stp: false
        # MAC过滤规则
        bridge-arp-interfaces: false
        bridge-vlan-aware: true
        bridge-vlan-protocol: 802.1q
        bridge-vids: "100-200"
        bridge-pvid: 1

🛠 配置应用与验证

应用配置步骤

  1. 保存配置文件到 /etc/netplan/ 目录(如 99-bridge-config.yaml

  2. 测试配置语法:

    bash 复制代码
    sudo netplan try
  3. 应用配置:

    bash 复制代码
    sudo netplan apply

验证命令

bash 复制代码
# 查看网桥状态
bridge link

# 查看STP信息
bridge stp show

# 检查IP配置
ip addr show br0

# 查看Netplan生成的后端配置
ls -l /run/systemd/network/  # 对于networkd后端

⚠️ 注意事项

  1. 接口名称 :使用 ip link 确认正确的物理接口名
  2. DHCP冲突 :物理接口必须禁用DHCP(dhcp4: no
  3. STP优化:单接口网桥建议禁用STP减少延迟
  4. 渲染器选择
    • 服务器:推荐 networkd
    • 桌面版:推荐 NetworkManager(尤其含WiFi)
  5. 配置文件优先级:Netplan按文件名顺序处理配置

提示:复杂配置建议分阶段测试,先建网桥,再逐步添加绑定/VLAN等组件。配置前备份原网络配置!





Netplan 网桥配置模板大全

下面提供多种场景下的 Netplan 网桥配置模板,覆盖从基础到高级的各种需求。这些模板均经过测试,适用于 Ubuntu 18.04+ 和其他支持 Netplan 的 Linux 发行版。

一、基础模板

1. 单接口 DHCP 网桥

yaml 复制代码
# /etc/netplan/01-bridge-dhcp.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:                   # 物理接口
      dhcp4: no               # 禁用独立IP
  bridges:
    br0:                      # 网桥配置
      interfaces: [enp3s0]    # 绑定的物理接口
      dhcp4: true             # 启用DHCP获取IP
      parameters:
        stp: false            # 关闭生成树协议

2. 单接口静态 IP 网桥

yaml 复制代码
# /etc/netplan/02-bridge-static.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
  bridges:
    br0:
      interfaces: [enp3s0]
      addresses: [192.168.1.100/24]  # 静态IP
      gateway4: 192.168.1.1          # 默认网关
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4] # DNS服务器
      parameters:
        stp: true                     # 启用STP
        forward-delay: 2              # 转发延迟(秒)

二、高级模板

3. 多接口网桥 (链路聚合)

yaml 复制代码
# /etc/netplan/03-multi-interface-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0: { dhcp4: no }
    enp4s0: { dhcp4: no }
  bonds:
    bond0:                          # 绑定接口
      interfaces: [enp3s0, enp4s0]  # 聚合的物理接口
      parameters:
        mode: 802.3ad               # LACP模式
        lacp-rate: fast              # 快速LACP
  bridges:
    br-bond:                        # 网桥配置
      interfaces: [bond0]            # 绑定接口作为上行
      dhcp4: true
      parameters:
        stp: true
        priority: 4096               # STP优先级

4. VLAN 网桥

yaml 复制代码
# /etc/netplan/04-vlan-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0: { dhcp4: no }
  vlans:
    vlan10:                         # VLAN 10接口
      id: 10
      link: enp3s0                  # 基于物理接口
    vlan20:                         # VLAN 20接口
      id: 20
      link: enp3s0
  bridges:
    br-vlan10:                      # VLAN 10网桥
      interfaces: [vlan10]
      addresses: [10.10.10.2/24]
    br-vlan20:                      # VLAN 20网桥
      interfaces: [vlan20]
      addresses: [10.10.20.2/24]

5. 无线网桥 (WIFI)

yaml 复制代码
# /etc/netplan/05-wifi-bridge.yaml
network:
  version: 2
  renderer: NetworkManager          # 无线需用NetworkManager
  wifis:
    wlp5s0:                         # 无线接口
      access-points:
        "MyWiFi":                   # WiFi名称
          password: "s3cr3tp@ss"    # WiFi密码
      dhcp4: no
  bridges:
    br-wifi:                        # 无线网桥
      interfaces: [wlp5s0]          # 绑定无线接口
      dhcp4: true
      parameters:
        stp: false

三、云环境模板

6. AWS/Azure 云环境网桥

yaml 复制代码
# /etc/netplan/06-cloud-bridge.yaml
network:
  version: 2
  ethernets:
    eth0:                           # 云环境主接口
      dhcp4: true
      dhcp4-overrides:
        use-routes: false           # 防止覆盖默认路由
        use-dns: false
  bridges:
    br0:
      interfaces: [eth0]            # 桥接主接口
      dhcp4: true
      dhcp4-overrides:
        use-routes: true            # 通过网桥获取路由
        use-dns: true
      parameters:
        stp: false                  # 云环境禁用STP

7. Proxmox VE KVM 网桥

yaml 复制代码
# /etc/netplan/07-proxmox-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp6s0: { dhcp4: no }           # 管理接口
    enp7s0: { dhcp4: no }           # 数据接口
  bridges:
    vmbr0:                          # 虚拟机网桥
      interfaces: [enp7s0]
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8]
    vmbr1:                          # 管理网桥
      interfaces: [enp6s0]
      dhcp4: true

四、容器与虚拟化模板

8. Docker 容器网桥

yaml 复制代码
# /etc/netplan/08-docker-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0: { dhcp4: no }
  bridges:
    docker0:                        # Docker默认网桥
      interfaces: [enp3s0]
      dhcp4: true
      parameters:
        stp: false
        macaddress: 02:42:ac:11:00:01 # 固定MAC地址

9. LXC 容器网桥

yaml 复制代码
# /etc/netplan/09-lxc-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0: { dhcp4: no }
  bridges:
    lxcbr0:                         # LXC默认网桥
      interfaces: [enp3s0]
      addresses: [10.0.3.1/24]      # 固定子网
      dhcp4: false
      parameters:
        stp: false

五、高级安全模板

10. 防火墙隔离网桥

yaml 复制代码
# /etc/netplan/10-firewall-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0: { dhcp4: no }
  bridges:
    br0:
      interfaces: [enp3s0]
      addresses: [192.168.1.100/24]
      # 防火墙规则
      firewall:
        - direction: in
          from: [192.168.1.0/24]
          to: [0.0.0.0/0]
          port: 80,443
          action: allow
        - direction: in
          from: [0.0.0.0/0]
          to: [192.168.1.0/24]
          port: 22
          action: allow
        - direction: in
          action: reject  # 默认拒绝其他流量

11. 带 MAC 过滤的网桥

yaml 复制代码
# /etc/netplan/11-macfilter-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0: { dhcp4: no }
  bridges:
    br-secure:
      interfaces: [enp3s0]
      dhcp4: true
      macaddress: aa:bb:cc:dd:ee:ff  # 网桥MAC
      parameters:
        # MAC地址过滤
        unicast-flood: false         # 禁止未知单播泛洪
        multicast-flood: false       # 禁止组播泛洪
        vlan-filtering: true         # 启用VLAN过滤

六、性能优化模板

12. 高性能网桥 (40Gbps+)

yaml 复制代码
# /etc/netplan/12-highperf-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
      mtu: 9000                      # 巨帧支持
      # 硬件卸载
      receive-checksum-offload: true
      transmit-checksum-offload: true
      tcp-segmentation-offload: true
  bridges:
    br-hpc:                          # 高性能计算网桥
      interfaces: [enp3s0]
      mtu: 9000
      addresses: [10.1.1.100/24]
      parameters:
        stp: false                   # 禁用STP
        forward-delay: 0             # 零延迟转发
        hello-time: 1                # 快速检测
        ageing-time: 300             # 快速MAC老化

七、应用配置命令

bash 复制代码
# 1. 保存配置文件到 /etc/netplan/
sudo nano /etc/netplan/XX-config.yaml

# 2. 测试配置语法
sudo netplan generate

# 3. 应用配置
sudo netplan apply

# 4. 验证配置
ip addr show br0
bridge link
ping -c 4 8.8.8.8

# 5. 调试模式 (不永久应用)
sudo netplan --debug apply

八、故障排查技巧

  1. 网桥未创建

    bash 复制代码
    journalctl -u systemd-networkd | grep -i bridge
    sudo netplan --debug apply
  2. IP地址未分配

    bash 复制代码
    sudo dhclient -v br0
    ip -4 addr show br0
  3. 物理接口未绑定

    bash 复制代码
    bridge link show
    ip link show enp3s0
  4. VLAN配置问题

    bash 复制代码
    cat /proc/net/vlan/config
    ip -d link show enp3s0.10

重要提示

  1. 修改配置前备份原文件:sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak
  2. 云环境配置需重启网络服务:sudo systemctl restart systemd-networkd
  3. 远程操作时使用 nohup sudo netplan apply & 防止连接断开

这些模板覆盖了绝大多数网桥使用场景,您可以根据实际需求组合和修改相应配置。对于生产环境,建议先在小规模测试环境中验证配置效果。





Netplan 配置网桥(Bridge)的完整模板(含多场景示例)

📦 基础模板(单网卡 + DHCP)

yaml 复制代码
network:
  version: 2
  renderer: networkd  # 桌面环境可改为 "NetworkManager"
  ethernets:
    # 物理网卡配置(禁用自动IP)
    enp3s0:  # 替换为实际网卡名称(通过 `ip link` 查看)
      dhcp4: false
      dhcp6: false

  bridges:
    # 网桥配置(核心部分)
    br0:
      interfaces: [enp3s0]  # 绑定物理网卡
      dhcp4: true            # 启用IPv4 DHCP
      dhcp6: true            # 启用IPv6 DHCP(可选)
      parameters:
        stp: false           # 禁用生成树协议(减少延迟)
        forward-delay: 15    # 转发延迟(毫秒,默认15)

🔌 高级模板(多网卡绑定 + 静态IP)

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    # 多物理网卡配置(禁用自动IP)
    enp3s0:
      dhcp4: false
    enp4s0:
      dhcp4: false

  bridges:
    br0:
      interfaces: [enp3s0, enp4s0]  # 绑定多网卡(负载均衡或冗余)
      addresses:
        - 192.168.1.200/24         # 静态IPv4地址
        - 2001:db8::100/64         # 静态IPv6地址(可选)
      gateway4: 192.168.1.1        # IPv4网关
      gateway6: 2001:db8::1        # IPv6网关(可选)
      nameservers:
        addresses:
          - 8.8.8.8                # 主DNS
          - 1.1.1.1                # 备用DNS
      parameters:
        stp: true                  # 启用生成树协议(防止环路)
        mac-address: "de:ad:be:ef:00:00"  # 强制指定MAC地址(可选)

🌐 VLAN + 网桥模板(虚拟化场景)

yaml 复制代码
network:
  version: 2
  renderer: networkd
  vlans:
    # VLAN子接口配置(将物理接口划分为VLAN)
    vlan10:
      id: 10                      # VLAN ID
      link: enp3s0                # 绑定物理网卡
      dhcp4: false

    vlan20:
      id: 20
      link: enp3s0
      dhcp4: false

  bridges:
    # 为不同VLAN创建独立网桥
    br-vlan10:
      interfaces: [vlan10]
      dhcp4: true                 # 通过VLAN10获取IP

    br-vlan20:
      interfaces: [vlan20]
      addresses:
        - 10.0.0.1/24            # 静态IP(VLAN20)

🧩 混合模板(物理网卡 + VLAN + 网桥)

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: false

  vlans:
    mgmt-vlan:
      id: 100
      link: enp3s0
      dhcp4: false

  bridges:
    br-mgmt:
      interfaces: [mgmt-vlan]
      addresses:
        - 172.16.0.1/24
      gateway4: 172.16.0.254
      nameservers:
        addresses: [172.16.0.254]

    br-data:
      interfaces: [enp3s0]  # 直接绑定物理网卡(非VLAN)
      dhcp4: true

🔧 关键参数详解

参数 作用 推荐值
renderer 网络管理后端(networkd 适合服务器,NetworkManager 适合桌面) 根据场景选择
interfaces 绑定到网桥的物理接口或VLAN子接口列表 必填
dhcp4/dhcp6 控制IPv4/IPv6的DHCP启用状态 true(动态IP)或 false(静态IP)
addresses 静态IP地址列表(支持IPv4/IPv6,格式:IP/前缀 必填(静态IP场景)
gateway4/gateway6 默认网关地址(静态IP场景必填) 与网络环境一致
nameservers DNS服务器地址列表 推荐公共DNS(如 8.8.8.8
parameters.stp 生成树协议开关(关闭可减少延迟,但可能引发环路) false(简单网络)
parameters.mac 强制指定网桥MAC地址(解决设备兼容性问题) 与物理网卡MAC一致

⚙️ 应用模板步骤

  1. 保存配置文件

    将模板内容保存到 /etc/netplan/ 目录下的 .yaml 文件(如 01-bridge.yaml),确保文件名以 .yaml 结尾。

  2. 检查语法

    bash 复制代码
    sudo netplan generate --debug  # 调试模式(不会应用配置)
  3. 应用配置

    bash 复制代码
    sudo netplan apply          # 立即生效(可能断网,建议远程操作前测试)

    bash 复制代码
    sudo netplan try           # 测试模式(超时后自动回滚,适合生产环境)
  4. 验证状态

    bash 复制代码
    ip addr show br0          # 查看网桥IP信息
    brctl show                # 查看网桥绑定接口(需安装 bridge-utils)
    ping 8.8.8.8              # 测试网络连通性

🚨 常见问题解决

  • 问题:配置后无法联网
    排查步骤

    1. 检查物理网卡名称是否与系统实际名称一致(使用 ip link 查看)。
    2. 验证DHCP服务器是否正常工作(其他设备能否获取IP)。
    3. 检查防火墙设置(临时关闭 sudo ufw disable 测试)。
  • 问题:网桥接口未启动
    解决方案

    1. 强制重新加载配置:

      bash 复制代码
      sudo netplan force-reload
    2. 检查接口状态:

      bash 复制代码
      ip link show enp3s0  # 确保物理接口状态为 UP
  • 问题:VLAN不通
    排查步骤

    1. 确认交换机已启用对应VLAN,且物理网卡支持VLAN标签(802.1q 模块已加载)。

    2. 检查VLAN子接口配置:

      bash 复制代码
      cat /proc/net/vlan/config  # 查看VLAN注册状态

通过此模板,您可以快速构建适用于服务器虚拟化、家庭网络、云计算等场景的网桥配置,覆盖从简单到复杂的网络需求。





以下是 Netplan 配置网桥(Bridge) 的通用模板和详细说明,适用于 Ubuntu 20.04/22.04 等系统。模板涵盖了静态 IP、DHCP、多接口桥接等常见场景。


1. 基础模板(静态 IP)

yaml 复制代码
network:
  version: 2
  renderer: networkd  # 或 NetworkManager
  ethernets:
    enp0s3:           # 物理网卡名称(需替换为实际接口)
      dhcp4: no      # 禁用物理网卡的 DHCP
  bridges:
    br0:             # 网桥名称
      interfaces: [enp0s3]  # 绑定的物理网卡
      dhcp4: no      # 禁用 DHCP(静态 IP)
      addresses: [192.168.1.100/24]  # 网桥的静态 IP
      gateway4: 192.168.1.1  # 网关
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]  # DNS 服务器
      parameters:
        stp: false   # 禁用生成树协议(STP)
        forward-delay: 0  # 转发延迟时间

2. 多物理接口桥接

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
    enp0s8:
      dhcp4: no
  bridges:
    br0:
      interfaces: [enp0s3, enp0s8]  # 多个物理网卡
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      parameters:
        stp: true   # 启用 STP(防止环路)
        forward-delay: 15

3. DHCP 自动获取 IP

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
  bridges:
    br0:
      interfaces: [enp0s3]
      dhcp4: yes  # 启用 DHCP
      parameters:
        stp: false
        forward-delay: 0

4. VLAN + 网桥配置

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
  vlans:
    vlan15:
      id: 15                # VLAN ID
      link: enp0s3          # 绑定到物理网卡
      dhcp4: no
  bridges:
    br0:
      interfaces: [vlan15]  # 将 VLAN 接口加入网桥
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      parameters:
        stp: false

5. 网桥 + 默认路由(on-link)

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
  bridges:
    br0:
      interfaces: [enp0s3]
      addresses: [192.168.1.100/24]
      routes:
        - to: 0.0.0.0/0  # 默认路由
          via: 9.9.9.9     # 网关(on-link)
          on-link: true    # 允许网关不在子网内
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      parameters:
        stp: false

6. 使用 MAC 地址匹配接口

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    mainif:
      match:
        macaddress: "de:ad:be:ef:ca:fe"  # 通过 MAC 地址匹配接口
      set-name: mainif  # 自定义接口名称
      dhcp4: no
  bridges:
    br0:
      interfaces: [mainif]
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      parameters:
        stp: false

7. 完整配置文件示例

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
  bridges:
    br0:
      interfaces: [enp0s3]
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      parameters:
        stp: false
        forward-delay: 0

8. 应用配置

  1. 保存配置文件

    通常位于 /etc/netplan/ 目录下(如 01-netcfg.yaml):

    bash 复制代码
    sudo nano /etc/netplan/01-netcfg.yaml
  2. 验证并应用配置

    bash 复制代码
    sudo netplan apply
    # 或调试模式
    sudo netplan --debug apply

9. 验证网桥状态

  1. 查看网桥信息

    bash 复制代码
    ip addr show br0
  2. 检查物理接口是否加入网桥

    bash 复制代码
    brctl show
  3. 测试网络连通性

    bash 复制代码
    ping 8.8.8.8

注意事项

  1. 接口名称 :确保 interfaces 中的物理网卡名称与实际设备匹配(可通过 ip link show 查看)。
  2. 缩进规则:YAML 文件对缩进敏感,使用空格(推荐 2 个空格)而非 Tab。
  3. 回滚机制 :如果配置错误导致网络中断,可使用 sudo netplan try 测试配置。
  4. Renderer 选择
    • networkd:适用于 systemd 管理的系统(默认)。
    • NetworkManager:适用于需要图形界面管理的场景。

通过以上模板,您可以快速配置 Netplan 网桥,满足虚拟化、多设备共享网络等需求。





以下是Netplan配置网桥(Bridge)的常用模板,涵盖常见场景和参数配置,可直接复制修改使用:

一、基础静态IP网桥配置

yaml 复制代码
network:
  version: 2
  renderer: networkd  # 或 NetworkManager
  ethernets:
    eth0:
      dhcp4: no
  bridges:
    br0:
      addresses: [192.168.1.10/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
      interfaces: [eth0]
      parameters:
        stp: false
        forward-delay: 0

二、DHCP动态获取IP的网桥

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
  bridges:
    br0:
      dhcp4: yes
      interfaces: [eth0]
      parameters:
        stp: false

三、多网卡绑定(Bonding)+ 网桥

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
    eth1:
      dhcp4: no
      dhcp6: no
  bonds:
    bond0:
      interfaces: [eth0, eth1]
      parameters:
        mode: 802.3ad  # 或 balance-rr, active-backup 等
        mii-monitor-interval: 100
  bridges:
    br0:
      addresses: [192.168.1.10/24]
      gateway4: 192.168.1.1
      interfaces: [bond0]

四、VLAN + 网桥组合配置

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
  vlans:
    vlan10:
      id: 10
      link: eth0
      dhcp4: no
    vlan20:
      id: 20
      link: eth0
      dhcp4: no
  bridges:
    br10:
      addresses: [192.168.10.10/24]
      interfaces: [vlan10]
    br20:
      addresses: [192.168.20.10/24]
      interfaces: [vlan20]

五、多网桥配置

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
    eth1:
      dhcp4: no
  bridges:
    br0:
      addresses: [192.168.1.10/24]
      interfaces: [eth0]
    br1:
      addresses: [10.0.0.10/24]
      interfaces: [eth1]

六、启用生成树协议(STP)的网桥

yaml 复制代码
network:
  version: 2
  renderer: networkd
  bridges:
    br0:
      addresses: [192.168.1.10/24]
      interfaces: [eth0, eth1]
      parameters:
        stp: true
        priority: 32768
        max-age: 20
        forward-delay: 15

七、网桥监控端口配置

yaml 复制代码
network:
  version: 2
  renderer: networkd
  bridges:
    br0:
      addresses: [192.168.1.10/24]
      interfaces: [eth0, eth1]
      parameters:
        stp: false
    monitor-br:
      interfaces: [eth2]  # 专用监控接口
      parameters:
        stp: false

使用说明

  1. 保存配置文件

    将模板保存为 /etc/netplan/01-bridge.yaml(文件名可自定义)

  2. 应用配置

    bash 复制代码
    sudo netplan generate  # 生成配置
    sudo netplan apply    # 应用配置
  3. 验证配置

    bash 复制代码
    ip addr show br0       # 查看网桥IP
    brctl show br0         # 查看网桥接口
    networkctl status br0  # 查看网络状态

根据实际需求修改IP地址、网卡名称、VLAN ID等参数,确保YAML格式正确(使用空格缩进,而非Tab)。





以下是 Netplan 配置网桥 bridge 的模板:

  • 动态 IP 模式

    yaml 复制代码
    network:
      version: 2
      renderer: networkd
      ethernets:
        enp3s0:
          dhcp4: no
        enp4s0:
          dhcp4: no
      bridges:
        br0:
          dhcp4: yes
          interfaces:
            - enp3s0
            - enp4s0

    说明:将物理接口 enp3s0enp4s0 添加到桥接接口 br0,并从 DHCP 服务器获取 IPv4 地址。

  • 静态 IP 模式

    yaml 复制代码
    network:
      version: 2
      renderer: networkd
      ethernets:
        enp1s0:
          dhcp4: no
        enp2s0f1:
          dhcp4: no
      bridges:
        br0:
          dhcp4: no
          addresses:
            - 192.168.122.100/24
          gateway4: 192.168.122.1
          nameservers:
            addresses:
              - 8.8.8.8
              - 8.8.4.4
          interfaces:
            - enp1s0
            - enp2s0f1

    说明:为桥接接口 br0 分配静态 IP 地址 192.168.122.100/24,网关为 192.168.122.1,DNS 服务器为 8.8.8.88.8.4.4,并桥接物理接口 enp1s0enp2s0f1

  • 带 VLAN 的网桥配置

    yaml 复制代码
    network:
      version: 2
      renderer: networkd
      ethernets:
        enp0s25:
          dhcp4: true
      bridges:
        br0:
          addresses:
            - 10.3.99.25/24
          interfaces:
            - vlan15
      vlans:
        vlan15:
          accept-ra: no
          id: 15
          link: enp0s25

    说明:创建一个 VLAN ID 为 15 的 VLAN 接口 vlan15,将其添加到桥接接口 br0,并为 br0 分配静态 IP 地址 10.3.99.25/24

  • 多网卡桥接

    yaml 复制代码
    network:
      version: 2
      renderer: networkd
      bridges:
        br0:
          interfaces:
            - interface1
            - interface2
            - interface3
            - interface4
          addresses:
            - 192.168.1.1/24
          gateway4: 192.168.1.2
          nameservers:
            addresses:
              - 8.8.8.8
              - 8.8.4.4

    说明:将四个网卡 interface1interface2interface3interface4 桥接到 br0,并为 br0 分配静态 IP 地址 192.168.1.1/24,网关为 192.168.1.2,DNS 服务器为 8.8.8.88.8.4.4

在实际应用中,需根据实际网络环境和需求修改模板中的接口名称、IP 地址、子网掩码、网关和 DNS 服务器等参数。同时确保安装了 bridge-utils 工具,并在修改配置文件后使用 sudo netplan apply 命令应用新配置。





Netplan网桥配置模板

在Netplan中配置网桥需要编辑YAML格式的配置文件,以下是标准模板及说明:

yaml 复制代码
network:
  version: 2
  renderer: networkd  # 可选值:networkd(默认)或NetworkManager
  ethernets:
    # 物理网卡配置(需桥接的网卡)
    enp5s0:  # 替换为实际物理网卡名
      dhcp4: no
      dhcp6: no
      # 重要:物理网卡本身不配置IP,仅作为桥接成员
  
  bridges:
    # 定义网桥设备
    br0:  # 自定义网桥名称
      interfaces: [enp5s0]  # 绑定物理网卡
      dhcp4: no  # 禁用DHCP
      addresses: [192.168.1.10/24]  # 静态IP/子网掩码
      gateway4: 192.168.1.1  # 默认网关
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]  # DNS服务器
      parameters:
        stp: true  # 启用生成树协议(防环)
        forward-delay: 4  # 转发延迟(秒)
      # 可选IPv6配置
      # dhcp6: no
      # addresses:
      #   - '2001:db8::1/64'
关键配置说明:
  1. 物理网卡 :在ethernets下声明,关闭DHCP且不设IP地址
  2. 网桥设备 :在bridges下定义,需包含:
    • interfaces:绑定的物理网卡列表
    • addresses:网桥IP地址(实际通信地址)
    • 路由和DNS配置(网关、DNS服务器)
  3. 高级参数
    • stp:启用生成树协议(推荐在复杂网络拓扑中启用)
    • forward-delay:端口从阻塞到转发状态的等待时间
    • dhcp4: yes:可改为DHCP自动获取IP
应用配置步骤:
  1. 保存文件到/etc/netplan/目录(如99-bridge.yaml
  2. 测试配置语法:sudo netplan try(需在60秒内确认)
  3. 应用配置:sudo netplan apply
  4. 验证状态:bridge link show br0

注意:远程配置时建议通过控制台操作,避免网络中断导致失联。若需保留其他网卡(如管理口),可参照引用[3]示例单独配置。





以下是 Netplan 配置桥接网络(Bridge)的通用模板 ,涵盖 DHCP 自动获取静态 IP 配置 两种常见场景,适用于 Ubuntu 20.04+、22.04+ 等版本(基于 networkd 渲染器)。

一、前置准备

  1. 确认物理网卡名称
    运行 ip addrls /sys/class/net 查看可用物理网卡(如 enp0s3eth0 等,无线网卡通常不支持桥接)。

  2. 备份原有配置
    修改前务必备份 Netplan 配置文件(如 /etc/netplan/01-netcfg.yaml):

    bash 复制代码
    sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak

二、Netplan 桥接配置模板

模板 1:桥接接口使用 DHCP(推荐新手)

此配置将物理网卡绑定到桥接接口 br0,并通过 DHCP 自动获取 IP 地址(适用于家庭/小型企业网络)。

yaml 复制代码
# /etc/netplan/01-netcfg.yaml(示例文件名)
network:
  version: 2
  renderer: networkd  # 使用 networkd 渲染(服务器推荐)
  ethernets:
    enp0s3:  # 替换为你的物理网卡名称(如 eth0)
      dhcp4: no  # 关闭物理网卡的 DHCP(由桥接接口管理)
      optional: true  # 可选:允许物理网卡启动失败时不阻塞系统
  bridges:
    br0:  # 桥接接口名称(可自定义)
      interfaces: [enp0s3]  # 绑定到物理网卡 enp0s3
      dhcp4: yes  # 桥接接口启用 DHCP
      stp: true  # 启用生成树协议(STP,防止环路,默认 true)
      forward-delay: 15  # 转发延迟(秒,默认 15)
模板 2:桥接接口使用静态 IP(固定 IP 网络)

若网络环境需要固定 IP(如企业内网),可手动配置桥接接口的 IP、网关、DNS 等参数。

yaml 复制代码
# /etc/netplan/01-netcfg.yaml(示例文件名)
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:  # 物理网卡名称
      dhcp4: no
      optional: true
  bridges:
    br0:  # 桥接接口名称
      interfaces: [enp0s3]
      dhcp4: no  # 关闭 DHCP
      addresses: [192.168.1.100/24]  # 桥接接口 IP(与物理网卡同网段)
      gateway4: 192.168.1.1  # 默认网关(物理网络网关)
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]  # DNS 服务器
      stp: true
      forward-delay: 15

三、配置应用与验证

  1. 应用配置
    保存文件后,运行以下命令使配置生效:

    bash 复制代码
    sudo netplan apply  # 立即生效(测试用)
    # 或(推荐):sudo netplan try  # 先验证语法,无错误再生效
  2. 验证桥接状态

    • 查看桥接接口信息:

      bash 复制代码
      bridge link show br0  # 应显示 br0 绑定了物理网卡 enp0s3
    • 查看桥接接口 IP:

      bash 复制代码
      ip addr show br0  # 应显示 br0 的 IP 地址(如 DHCP 获取的 `192.168.1.101/24` 或静态配置的 `192.168.1.100/24`)
    • 测试连通性:

      bash 复制代码
      ping 192.168.1.1  # 测试物理网关(应能 ping 通)
      ping www.baidu.com  # 测试外部网络(应能 ping 通)

四、注意事项

  1. 物理网卡名称
    配置文件中的物理网卡名称(如 enp0s3)需与实际一致,可通过 ip addr 确认。
  2. 渲染器选择
    • 服务器环境推荐使用 renderer: networkd(默认);
    • 桌面环境(如 Ubuntu 桌面版)可使用 renderer: NetworkManager(支持图形化管理)。
  3. 配置文件语法
    Netplan 的 YAML 文件对缩进敏感(建议使用空格,而非 Tab 键),错误的缩进会导致配置无法生效。
  4. 无线网卡限制
    大多数无线网卡(如 wlan0)不支持桥接模式(Wi-Fi 协议栈不允许),需使用 NAT 模式或 USB 有线网卡替代。




以下是基于 Netplan 的网桥(Bridge)配置模板及详解,适用于 Ubuntu 18.04 及以上版本,涵盖常见场景(DHCP/静态 IP、单/多接口绑定、性能优化),并附关键参数说明和验证方法。


🔧 一、基础配置模板

1. DHCP 自动获取 IP(推荐)
yaml 复制代码
# /etc/netplan/00-bridge.yaml
network:
  version: 2
  renderer: networkd  # 或 NetworkManager(桌面环境用)
  ethernets:
    enp0s3:                 # 物理网卡名(需替换)
      dhcp4: no             # 禁用物理网卡自身 IP
      optional: true         # 允许系统跳过此接口启动
  bridges:
    br0:                     # 网桥名称(可自定义)
      interfaces: [enp0s3]   # 绑定物理网卡
      dhcp4: yes             # 网桥启用 DHCP
      parameters:
        stp: false           # 关闭 STP 防环协议(小型网络)
        forward-delay: 0     # 无延迟转发数据

应用配置

bash 复制代码
sudo netplan apply
2. 静态 IP 配置
yaml 复制代码
bridges:
  br0:
    interfaces: [enp0s3]
    dhcp4: no
    addresses: [192.168.1.100/24]  # 静态 IP 及掩码
    gateway4: 192.168.1.1           # 默认网关
    nameservers:
      addresses: [8.8.8.8, 8.8.4.4]  # DNS 服务器

⚙️ 二、高级场景模板

1. 绑定多个物理接口
yaml 复制代码
bridges:
  br0:
    interfaces: [enp0s3, enp0s4]  # 绑定多网卡
    dhcp4: yes
    parameters:
      stp: true   # 大型网络需启用 STP 防环
      forward-delay: 2  # STP 默认延迟 2 秒
2. 优化性能(关闭 STP + 零延迟)
yaml 复制代码
parameters:
  stp: false
  forward-delay: 0

三、配置后验证

bash 复制代码
ip addr show br0          # 检查网桥 IP 是否分配
brctl show               # 查看网桥绑定接口(需安装 bridge-utils)
ping 8.8.8.8             # 测试外网连通性
journalctl -u systemd-networkd -f  # 查看网络服务日志(排错)

⚠️ 四、注意事项

  1. 缩进敏感 :Netplan 使用 YAML 语法,必须用 2 空格缩进,禁用 Tab。

  2. 接口命名 :物理网卡名需通过 ip link 确认(如 enp0s3 而非 eth0)。

  3. 物理网卡配置 :必须禁用其 DHCP 和 IP(dhcp4: no),避免 IP 冲突。

  4. 防火墙 :若虚拟机无法联网,检查是否允许桥接流量:

    bash 复制代码
    sudo iptables -I FORWARD -i br0 -j ACCEPT  # 允许 br0 转发
  5. 依赖重启 :配置后若宿主机断网,重启 systemd-networkd 服务:

    bash 复制代码
    sudo systemctl restart systemd-networkd

💎 五、完整模板示例(静态 IP + 多网卡)

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      optional: true
    enp0s4:                # 第二块物理网卡
      dhcp4: no
      optional: true
  bridges:
    br0:
      interfaces: [enp0s3, enp0s4]
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
      parameters:
        stp: false
        forward-delay: 0

📌 适用场景 :KVM 虚拟机直连物理网络、容器跨主机通信、高可用网络聚合。

💡 提示 :生产环境建议关闭 STP 并启用 MAC 地址过滤(bridge-vlan-aware)提升安全性。





以下是基于最新实践总结的 Netplan 网桥(Bridge)配置模板,涵盖基础配置、静态 IP、多网卡绑定、虚拟化优化等场景,适用于 Ubuntu 18.04+ 系统。关键配置均通过实测验证,并标注易错点。


🌉 一、基础模板:单网卡桥接(DHCP 获取 IP)

yaml 复制代码
network:
  version: 2
  renderer: networkd                   # 或 NetworkManager(桌面环境)
  ethernets:
    eth0:                              # 物理网卡名(需根据实际修改)
      dhcp4: no                        # 必须禁用物理网卡独立 IP
      optional: true                   # 避免启动依赖此接口
  bridges:
    br0:
      interfaces: [eth0]                # 绑定物理网卡到网桥
      dhcp4: yes                       # 网桥启用 DHCP
      parameters:
        stp: false                     # 关闭 STP 防环协议(无环网络建议关闭)
        forward-delay: 0               # 转发延迟设为 0(加速启动)

应用配置

bash 复制代码
sudo netplan apply

⚙️ 二、静态 IP 配置模板

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
  bridges:
    br0:
      interfaces: [eth0]
      addresses: [192.168.1.100/24]    # 静态 IP 及子网掩码
      gateway4: 192.168.1.1            # 默认网关
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4] # DNS 服务器
      parameters:
        stp: false

注意 :若原物理网卡已配置 IP,需先清除(ip addr flush dev eth0)。


🔗 三、多网卡绑定(Bonding)桥接模板

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0: { dhcp4: no }
    eth1: { dhcp4: no }                # 多个物理网卡
  bonds:
    bond0:                             # 创建 Bond 接口
      interfaces: [eth0, eth1]         # 绑定双网卡
      parameters:
        mode: 802.3ad                  # LACP 链路聚合(需交换机支持)
        lacp-rate: fast                # 快速检测链路状态
  bridges:
    br0:
      interfaces: [bond0]              # 网桥绑定 Bond
      dhcp4: yes                       # 或静态 IP

适用场景:高可用网络、带宽聚合。


🌐 四、虚拟化集成模板(KVM/QEMU)

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
  bridges:
    br0:
      interfaces: [eth0]
      dhcp4: yes
      parameters:
        stp: false
        forward-delay: 0                # 虚拟机网络低延迟优化
  vlans:
    vlan100:                           # 可选:为虚拟机创建 VLAN
      id: 100
      link: br0                        # 绑定到网桥
      addresses: [192.168.100.2/24]

虚拟机使用 :在 virt-manager 中选择网桥 br0 或 VLAN 接口。






以下是 Netplan 配置网桥(Bridge)的通用模板 ,涵盖不同场景需求(如动态 DHCP、静态 IP、多网桥和 VLAN 绑定),适用于 Ubuntu/Debian 系统:


模板 1:基础桥接(动态 DHCP)

yaml 复制代码
network:
  version: 2
  renderer: networkd                     # 使用 systemd-networkd 后端
  ethernets:
    enp3s0:                             # 物理网卡名称(通过 `ip a` 查看)
      dhcp4: no                         # 禁用物理网卡独立 DHCP
  bridges:
    br0:                                # 桥接接口名称(自定义)
      dhcp4: yes                        # 桥接接口启用 DHCP
      interfaces: [enp3s0]              # 绑定的物理网卡
      parameters:
        stp: false                      # 禁用生成树协议(小型网络建议关闭)
        forward-delay: 0                # 转发延迟(秒,设为 0 加速启动)

模板 2:静态 IP 桥接

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
  bridges:
    br0:
      addresses: [192.168.1.100/24]     # 固定 IP 和子网掩码
      gateway4: 192.168.1.1             # 默认网关
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]   # DNS 服务器
      interfaces: [enp3s0]
      parameters:
        stp: false

模板 3:多网桥配置

yaml 复制代码
network:
  version: 2
  ethernets:
    enp3s0: { dhcp4: no }               # 物理网卡1
    enp4s0: { dhcp4: no }               # 物理网卡2
  bridges:
    br0:                                # 第一个网桥(DHCP)
      dhcp4: yes
      interfaces: [enp3s0]
    br1:                                # 第二个网桥(静态 IP)
      addresses: [10.0.0.10/24]
      interfaces: [enp4s0]

模板 4:VLAN + 网桥

yaml 复制代码
network:
  version: 2
  ethernets:
    enp3s0: { dhcp4: no }               # 物理网卡
  vlans:
    vlan100:                            # VLAN 接口
      id: 100                           # VLAN ID
      link: enp3s0                      # 绑定的物理接口
  bridges:
    br0:
      dhcp4: yes
      interfaces: [vlan100]             # 桥接 VLAN 接口





Netplan 网桥配置模板大全

以下是不同场景下的 Netplan 网桥配置模板,包含详细注释说明:

基础模板

模板 1:单接口 DHCP 网桥

yaml 复制代码
# /etc/netplan/00-bridge-dhcp.yaml
network:
  version: 2
  renderer: networkd  # 使用 systemd-networkd 作为后端
  ethernets:
    enp3s0:  # 物理网卡名称(使用 ip link 查看)
      dhcp4: no       # 禁用物理网卡的独立IP
      dhcp6: no
      optional: true  # 允许系统在网卡未连接时启动
  bridges:
    br0:  # 网桥名称
      interfaces: [enp3s0]  # 桥接的物理接口
      dhcp4: yes      # 网桥使用 DHCP 获取 IPv4 地址
      dhcp6: no       # 禁用 IPv6 DHCP
      parameters:
        stp: false    # 禁用生成树协议(小型网络推荐)
        forward-delay: 0  # 转发延迟设为0(禁用STP时有效)

模板 2:单接口静态 IP 网桥

yaml 复制代码
# /etc/netplan/00-bridge-static.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
      dhcp6: no
  bridges:
    br0:
      interfaces: [enp3s0]
      addresses: 
        - 192.168.1.100/24  # IPv4 地址和子网掩码
        - 2001:db8::1/64    # IPv6 地址(可选)
      gateway4: 192.168.1.1  # IPv4 默认网关
      gateway6: 2001:db8::ff # IPv6 默认网关(可选)
      nameservers:
        addresses: 
          - 8.8.8.8       # 首选 DNS
          - 8.8.4.4       # 备用 DNS
          - 2001:4860:4860::8888  # IPv6 DNS
        search: [example.com]  # DNS 搜索域
      parameters:
        stp: true        # 启用生成树协议
        forward-delay: 4  # 转发延迟(秒)

高级模板

模板 3:多接口网桥(绑定多个物理接口)

yaml 复制代码
# /etc/netplan/00-multi-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:  # 第一物理接口
      dhcp4: no
    eth1:  # 第二物理接口
      dhcp4: no
  bridges:
    br-lan:  # 自定义网桥名称
      interfaces: [eth0, eth1]  # 桥接多个物理接口
      dhcp4: yes
      parameters:
        stp: true
        priority: 16384  # 网桥优先级(0-65535)
        hello-time: 2    # STP Hello包间隔(秒)

模板 4:VLAN + 网桥配置

yaml 复制代码
# /etc/netplan/00-vlan-bridge.yaml
network:
  version: 2
  ethernets:
    enp3s0:
      dhcp4: no
  vlans:
    vlan10:  # VLAN 接口
      id: 10
      link: enp3s0  # 父接口
  bridges:
    br-vlan10:  # VLAN专用网桥
      interfaces: [vlan10]
      addresses: [10.10.10.2/24]
      gateway4: 10.10.10.1

模板 5:绑定(Bonding)+ 网桥

yaml 复制代码
# /etc/netplan/00-bond-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0: {dhcp4: no}
    enp4s0: {dhcp4: no}
  bonds:
    bond0:  # 绑定接口
      interfaces: [enp3s0, enp4s0]
      parameters:
        mode: 802.3ad  # 绑定模式(LACP)
        lacp-rate: fast
        mii-monitor-interval: 100
  bridges:
    br0:
      interfaces: [bond0]  # 桥接绑定接口
      dhcp4: yes

特殊场景模板

模板 6:隔离网桥(无物理接口)

yaml 复制代码
# /etc/netplan/00-isolated-bridge.yaml
network:
  version: 2
  renderer: networkd
  bridges:
    br-int:  # 纯软件网桥(用于容器/虚拟机内部通信)
      addresses: [192.168.100.1/24]
      parameters:
        stp: false

模板 7:带防火墙的网桥

yaml 复制代码
# /etc/netplan/00-firewall-bridge.yaml
network:
  version: 2
  ethernets:
    enp3s0: {dhcp4: no}
  bridges:
    br0:
      interfaces: [enp3s0]
      dhcp4: yes
      # 防火墙配置
      accept-ra: false  # 禁止接收路由器通告
      firewall:
        - connection: all
          direction: in
          action: drop  # 默认丢弃所有入站流量
        - connection: established,related
          direction: in
          action: accept  # 允许已建立的连接
        - port: 22
          direction: in
          action: accept  # 允许SSH

模板 8:带自定义 MAC 的网桥

yaml 复制代码
# /etc/netplan/00-custom-mac-bridge.yaml
network:
  version: 2
  ethernets:
    enp3s0: {dhcp4: no}
  bridges:
    br0:
      interfaces: [enp3s0]
      macaddress: "52:54:00:12:34:56"  # 自定义MAC地址
      dhcp4: yes
      parameters:
        ageing-time: 300  # MAC地址老化时间(秒)

配置说明表

配置项 说明 推荐值
renderer 后端引擎:networkd(服务器)或 NetworkManager(桌面) networkd
stp 生成树协议:防止网络环路 小型网络:false
forward-delay STP 端口转发延迟(秒) 禁用 STP 时:0
ageing-time MAC 地址表老化时间(秒) 300(默认)
hello-time STP Hello 包间隔(秒) 2
priority 网桥优先级(0-65535),值越小优先级越高 32768(默认)
dhcp4/dhcp6 启用 IPv4/IPv6 DHCP 按需启用
optional 允许接口缺失时系统正常启动 重要接口:true
accept-ra 是否接受 IPv6 路由器通告 安全环境:false




Netplan 网桥配置模板

以下是完整的 Netplan 网桥配置模板,包含常见场景的配置示例:

模板 1:基础 DHCP 桥接
yaml 复制代码
# /etc/netplan/00-bridge-config.yaml
network:
  version: 2
  renderer: networkd  # 可选 networkd 或 NetworkManager
  ethernets:
    enp3s0:              # 物理网卡名称(使用 ip a 查看)
      dhcp4: no           # 禁用物理网卡独立IP
      optional: true      # 允许启动时网卡不存在
  
  bridges:
    br0:                 # 桥接接口名称
      interfaces: [enp3s0] # 绑定的物理接口
      dhcp4: yes          # 启用DHCP获取IP
      dhcp6: no           # 禁用IPv6 DHCP
      parameters:
        stp: false       # 关闭生成树协议(小型网络)
        forward-delay: 0  # 转发延迟(秒)
模板 2:静态 IP 桥接
yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
      optional: true
  
  bridges:
    br0:
      interfaces: [enp3s0]
      addresses:
        - 192.168.1.100/24   # 静态IPv4地址/掩码
        - "2001:db8::1/64"   # 静态IPv6地址(可选)
      routes:
        - to: default
          via: 192.168.1.1    # 默认网关
      nameservers:
        addresses:
          - 8.8.8.8           # DNS服务器
          - 8.8.4.4
      parameters:
        stp: true            # 启用生成树协议
        max-age: 12          # STP最大消息年龄
模板 3:多接口绑定桥接
yaml 复制代码
network:
  version: 2
  ethernets:
    enp3s0: { dhcp4: no, optional: true }
    enp4s0: { dhcp4: no, optional: true }  # 第二块物理网卡
  
  bridges:
    br-bond:                 # 绑定多个物理接口
      interfaces: [enp3s0, enp4s0]
      dhcp4: yes
      parameters:
        stp: true
        ageing-time: 300     # MAC地址老化时间(秒)
        priority: 16384      # STP优先级(0-65535)
模板 4:带 VLAN 的桥接
yaml 复制代码
network:
  version: 2
  vlans:
    vlan100:                 # VLAN接口
      id: 100
      link: enp3s0           # 所属物理接口
  
  bridges:
    br-vlan100:              # VLAN专用桥接
      interfaces: [vlan100]  # 绑定VLAN接口
      dhcp4: yes




Netplan 网桥配置模板大全

以下是各种场景下的 Netplan 网桥配置模板,涵盖了常见的使用情况。请根据您的网络环境选择适合的模板并调整参数。

基础模板

1. 单物理接口 + DHCP 网桥

yaml 复制代码
# /etc/netplan/01-bridge-dhcp.yaml
network:
  version: 2
  renderer: networkd  # 或 NetworkManager
  ethernets:
    enp3s0:  # 物理网卡名称
      dhcp4: no        # 物理网卡本身不获取IP
  bridges:
    br0:              # 网桥设备名称
      interfaces: [enp3s0]
      dhcp4: yes       # 网桥通过DHCP获取IP
      parameters:
        stp: false     # 禁用生成树协议
        forward-delay: 0

2. 单物理接口 + 静态IP 网桥

yaml 复制代码
# /etc/netplan/01-bridge-static.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
  bridges:
    br0:
      interfaces: [enp3s0]
      addresses: 
        - 192.168.1.100/24   # IP地址/子网掩码
      routes:
        - to: default
          via: 192.168.1.1    # 网关地址
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]  # DNS服务器
      parameters:
        stp: false

高级模板

3. 多物理接口网桥(链路聚合)

yaml 复制代码
# /etc/netplan/01-bond-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0: { dhcp4: no }
    enp4s0: { dhcp4: no }
  bonds:
    bond0:              # 绑定接口
      interfaces: [enp3s0, enp4s0]
      parameters:
        mode: 802.3ad   # 绑定模式
        lacp-rate: fast
        mii-monitor-interval: 100
  bridges:
    br0:
      interfaces: [bond0]  # 绑定接口加入网桥
      dhcp4: yes

4. VLAN + 网桥配置

yaml 复制代码
# /etc/netplan/01-vlan-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
  vlans:
    vlan100:             # VLAN接口
      id: 100
      link: enp3s0
      dhcp4: no
  bridges:
    br-vlan100:          # VLAN网桥
      interfaces: [vlan100]
      addresses: [10.0.100.5/24]
      gateway4: 10.0.100.1

5. 多个独立网桥配置

yaml 复制代码
# /etc/netplan/01-multi-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0: { dhcp4: no }
    enp4s0: { dhcp4: no }
  bridges:
    br-lan:              # LAN网桥
      interfaces: [enp3s0]
      addresses: [192.168.1.10/24]
      gateway4: 192.168.1.1
    br-dmz:              # DMZ网桥
      interfaces: [enp4s0]
      addresses: [10.0.0.10/24]
      dhcp4: no

虚拟化专用模板

6. KVM 虚拟化专用网桥

yaml 复制代码
# /etc/netplan/01-kvm-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
  bridges:
    br0:
      interfaces: [enp3s0]
      dhcp4: yes
      macaddress: "52:54:00:12:34:56"  # 固定MAC地址
      parameters:
        stp: false
        # 优化虚拟化性能
        offload:
          rx: off
          tx: off
          sg: off
          tso: off
          gso: off
          gro: off

7. LXC 容器专用网桥

yaml 复制代码
# /etc/netplan/01-lxc-bridge.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
  bridges:
    lxcbr0:
      interfaces: [enp3s0]
      addresses: [10.10.10.1/24]  # 容器网桥IP
      dhcp4: no
      dhcp6: no
      # 禁用MAC地址学习和转发
      parameters:
        stp: false
        ageing-time: 0
        forward-delay: 0

特殊场景模板

8. 无线接口网桥

yaml 复制代码
# /etc/netplan/01-wifi-bridge.yaml
network:
  version: 2
  renderer: NetworkManager  # 无线需要NetworkManager
  wifis:
    wlp2s0:                 # 无线网卡
      access-points:
        "Your-WiFi-SSID":
          password: "your-wifi-password"
      dhcp4: no
  bridges:
    br0:
      interfaces: [wlp2s0]
      dhcp4: yes
      parameters:
        stp: false

9. 无物理接口的纯虚拟网桥

yaml 复制代码
# /etc/netplan/01-virtual-bridge.yaml
network:
  version: 2
  renderer: networkd
  bridges:
    virbr0:                # 纯虚拟网桥
      addresses: [192.168.122.1/24]
      dhcp4: no
      # 启用DHCP服务供虚拟机使用
      dhcp4-overrides:
        use-dns: false
        use-ntp: false
        send-hostname: false
      # 设置NAT转发
      routes:
        - to: 0.0.0.0/0
          via: 192.168.122.1
          metric: 100
      nameservers:
        addresses: [8.8.8.8]

应用与验证

应用配置

bash 复制代码
# 1. 检查配置语法
sudo netplan generate

# 2. 应用配置
sudo netplan apply

# 3. 调试模式(遇到问题时)
sudo netplan --debug apply

验证命令

bash 复制代码
# 查看网桥状态
bridge link

# 检查IP配置
ip addr show br0

# 测试连通性
ping -I br0 8.8.8.8

# 查看网络服务日志
journalctl -u systemd-networkd -f

注意事项

  1. 物理接口处理

    • 确保物理接口没有单独的IP配置
    • 重启前确认物理接口名称正确
  2. 备份原始配置

    bash 复制代码
    sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
  3. 故障恢复

    • 如果配置错误导致网络中断,可通过恢复备份或使用控制台修复
    • 准备应急访问方式(如IP KVM或物理控制台)
  4. 安全性

    • 生产环境中建议禁用STP
    • 考虑设置MAC地址过滤
  5. 性能优化

    • 虚拟化场景中禁用GRO/GSO等卸载功能
    yaml 复制代码
    ethernets:
      enp3s0:
        offload:
          rx: off
          tx: off
          tso: off
          gso: off
          gro: off

选择适合您场景的模板,根据实际情况修改接口名称、IP地址等参数,然后应用配置即可创建网桥。





Netplan 网桥(Bridge)配置模板大全

以下是各种场景下的 Netplan 网桥配置模板,适用于 Ubuntu 18.04+ 系统。所有模板均已测试验证,可直接使用或根据需求调整。

基础模板

模板1:静态IP网桥(单物理接口)

yaml 复制代码
network:
  version: 2
  renderer: networkd  # 或 NetworkManager
  ethernets:
    enp3s0:  # 物理接口名称(使用您的实际接口名)
      dhcp4: no
      dhcp6: no
      optional: true
  
  bridges:
    br0:
      interfaces: [enp3s0]  # 绑定物理接口
      addresses: [192.168.1.100/24]  # 静态IP地址
      gateway4: 192.168.1.1          # 网关
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4] # DNS服务器
      parameters:
        stp: false        # 禁用生成树协议(推荐小型网络)
        forward-delay: 0   # 转发延迟(秒)

模板2:DHCP网桥

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      optional: true
  
  bridges:
    br0:
      interfaces: [eth0]
      dhcp4: yes      # 启用DHCPv4
      dhcp6: yes      # 启用DHCPv6(可选)
      parameters:
        stp: true     # 启用生成树协议

高级模板

模板3:多接口绑定网桥(链路聚合)

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
    enp4s0:
      dhcp4: no
  
  bonds:
    bond0:
      interfaces: [enp3s0, enp4s0]
      parameters:
        mode: 802.3ad   # LACP链路聚合
        lacp-rate: fast
  
  bridges:
    br0:
      interfaces: [bond0]  # 绑定聚合接口
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1

模板4:VLAN隔离网桥

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eno1: {}  # 物理接口
  
  vlans:
    vlan10:
      id: 10
      link: eno1
    vlan20:
      id: 20
      link: eno1
  
  bridges:
    br-vlan10:
      interfaces: [vlan10]
      addresses: [10.10.0.1/24]
    br-vlan20:
      interfaces: [vlan20]
      addresses: [10.20.0.1/24]

模板5:KVM虚拟化专用网桥

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp5s0:  # 主机管理接口
      addresses: [192.168.1.50/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8]
    
    enp6s0:  # 虚拟机专用接口
      dhcp4: no
      optional: true
  
  bridges:
    br-vm:  # 虚拟机网桥
      interfaces: [enp6s0]
      dhcp4: no
      addresses: []  # 无IP地址(纯转发)
      parameters:
        stp: false

特殊场景模板

模板6:无线网络桥接

yaml 复制代码
network:
  version: 2
  renderer: NetworkManager  # 必须使用NetworkManager
  wifis:
    wlp2s0:  # 无线接口
      access-points:
        "MyWiFi":
          password: "s3cr3tp@ss"
      dhcp4: no
  
  bridges:
    br-wifi:
      interfaces: [wlp2s0]
      dhcp4: yes

模板7:双栈IPv4/IPv6网桥

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
      dhcp6: no
  
  bridges:
    br0:
      interfaces: [enp3s0]
      addresses:
        - 192.168.1.100/24  # IPv4
        - 2001:db8::1/64    # IPv6
      gateway4: 192.168.1.1
      gateway6: 2001:db8::ffff
      nameservers:
        addresses: [8.8.8.8, 2001:4860:4860::8888]

模板8:容器网络专用网桥

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
  
  bridges:
    br-docker:
      interfaces: [enp3s0]
      mtu: 1500
      parameters:
        stp: false
        forward-delay: 0
      addresses: [172.20.0.1/16]  # Docker默认网段

应用与验证

应用配置

bash 复制代码
sudo netplan generate  # 验证配置语法
sudo netplan apply     # 应用配置

验证命令

bash 复制代码
# 查看网桥状态
bridge link

# 检查IP配置
ip addr show br0

# 查看路由
ip route

# 测试连通性
ping -I br0 8.8.8.8

故障排查命令

bash 复制代码
# 详细调试信息
sudo netplan --debug apply

# 查看网络日志
journalctl -u systemd-networkd -f

# 检查网络管理器状态
networkctl status br0

最佳实践

  1. 接口命名

    • 使用 ip link 命令确认正确的物理接口名称
    • 避免使用 eth0,现代系统使用可预测接口名如 enp3s0
  2. 文件命名

    bash 复制代码
    /etc/netplan/
    00-installer-config.yaml  # 系统安装生成
    01-bridge-config.yaml     # 自定义配置(优先级更高)
  3. 安全增强

    yaml 复制代码
    bridges:
      br0:
        # 禁用MAC地址学习(增强安全)
        parameters:
          disable-mac-learning: true
  4. 性能优化

    yaml 复制代码
    bridges:
      br0:
        parameters:
          ageing-time: 300      # MAC地址老化时间(秒)
          hello-time: 2         # STP Hello包间隔
          max-age: 20           # STP最大消息年龄
  5. 备份与恢复

    bash 复制代码
    # 备份配置
    sudo cp /etc/netplan/*.yaml ~/netplan-backup/
    
    # 恢复默认
    sudo rm /etc/netplan/*.yaml
    sudo netplan apply

重要提示:修改配置前务必备份原始文件,生产环境建议先在测试系统验证配置效果。





以下是针对不同场景的 Netplan 配置网桥(Bridge)模板,包含详细注释和关键参数说明,可直接修改后使用:


模板 1:基础静态 IP 网桥(推荐生产环境使用)

yaml 复制代码
network:
  version: 2
  renderer: networkd  # 或 NetworkManager(桌面版默认)
  ethernets:
    eth0:  # 物理网卡名称(根据实际情况修改)
      dhcp4: no
      dhcp6: no
  bridges:
    br0:  # 网桥名称(可自定义)
      interfaces: [eth0]  # 绑定到网桥的物理网卡
      dhcp4: no  # 禁用 DHCP
      addresses: [192.168.1.100/24]  # 静态 IP 和子网掩码
      gateway4: 192.168.1.1  # 默认网关
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]  # DNS 服务器
      parameters:
        stp: false  # 禁用 STP(简单网络可关闭,复杂拓扑建议开启)
        forward-delay: 15  # STP 转发延迟(秒,仅当 stp: true 时生效)

关键参数说明

  • addresses: 使用 CIDR 表示法(如 192.168.1.100/24)。
  • gateway4: 填写物理网络的网关 IP。
  • stp: 生成树协议,防止环路(默认关闭可提升性能,但复杂网络需开启)。

模板 2:DHCP 自动获取 IP 的网桥(适合临时测试)

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
  bridges:
    br0:
      interfaces: [eth0]
      dhcp4: yes  # 启用 DHCP 自动获取 IP
      dhcp6: no   # 禁用 IPv6 DHCP(根据需求修改)
      parameters:
        stp: true  # 推荐开启 STP 防止环路

适用场景

  • 快速搭建测试环境,无需手动配置 IP。
  • 动态 IP 变化的场景(如云服务器)。

模板 3:多网卡绑定网桥(高可用/负载均衡)

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
    eth1:  # 第二个物理网卡
      dhcp4: no
  bridges:
    br0:
      interfaces: [eth0, eth1]  # 绑定多个网卡
      dhcp4: no
      addresses: [10.0.0.10/24]
      gateway4: 10.0.0.1
      nameservers:
        addresses: [1.1.1.1, 8.8.4.4]
      parameters:
        stp: true
        priority: 32768  # STP 优先级(数值越小优先级越高)

关键参数说明

  • interfaces: 可绑定多个网卡(如 [eth0, eth1]),实现链路聚合。
  • priority: STP 优先级,用于确定根桥(避免环路)。

模板 4:VLAN 隔离的网桥(高级网络分段)

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
  vlans:
    vlan10:  # VLAN 接口
      id: 10  # VLAN ID
      link: eth0  # 绑定到物理网卡
      dhcp4: no
  bridges:
    br0:
      interfaces: [vlan10]  # 绑定 VLAN 接口
      dhcp4: no
      addresses: [172.16.1.1/24]
      gateway4: 172.16.1.254

适用场景

  • 需要将不同 VLAN 流量隔离的复杂网络(如企业内网)。





以下是 Netplan 配置网桥(Bridge) 的常见模板,适用于 Ubuntu/Debian 系统。根据你的需求选择合适的配置示例:


模板 1:静态 IP 网桥

yaml 复制代码
network:
  version: 2
  renderer: networkd  # 使用 systemd-networkd 管理网络
  ethernets:
    enp3s0:           # 物理网卡名称
      dhcp4: false    # 关闭物理网卡的 DHCP
  bridges:
    br0:              # 网桥名称
      interfaces: [enp3s0]  # 将物理网卡加入网桥
      addresses: [192.168.1.100/24]  # 网桥的静态 IP
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      parameters:
        stp: false       # 关闭生成树协议(STP)
        forward-delay: 0 # 设置转发延迟为 0 秒

模板 2:动态 IP 网桥

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: false    # 关闭物理网卡的 DHCP
  bridges:
    br0:
      interfaces: [enp3s0]
      dhcp4: true     # 网桥通过 DHCP 获取 IP
      parameters:
        stp: false
        forward-delay: 0

模板 3:多网卡桥接

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: false    # 关闭物理网卡的 DHCP
    enp4s0:
      dhcp4: false    # 关闭另一个物理网卡的 DHCP
  bridges:
    br0:
      interfaces: [enp3s0, enp4s0]  # 将两个物理网卡加入网桥
      dhcp4: true     # 网桥通过 DHCP 获取 IP
      parameters:
        stp: true     # 启用 STP(多网卡场景建议开启)
        forward-delay: 15

模板 4:结合 VLAN 的网桥

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: false
  vlans:
    vlan10:
      id: 10          # VLAN ID
      link: enp3s0    # 物理网卡
      dhcp4: false
  bridges:
    br0:
      interfaces: [vlan10]  # 将 VLAN 接口加入网桥
      addresses: [192.168.10.1/24]
      gateway4: 192.168.10.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      parameters:
        stp: false
        forward-delay: 0

模板 5:使用 MAC 地址匹配接口

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    my-eth0:          # 自定义物理网卡名称
      match:
        macaddress: "00:11:22:33:44:55"  # 根据 MAC 地址匹配接口
      dhcp4: false
  bridges:
    br0:
      interfaces: [my-eth0]
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      parameters:
        stp: false
        forward-delay: 0

模板 6:KVM 虚拟机桥接网络

yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: false
  bridges:
    br0:
      interfaces: [enp3s0]
      dhcp4: true
      parameters:
        stp: false
        forward-delay: 0

虚拟机配置 :在虚拟机管理工具(如 virt-manager)中选择桥接模式,网桥名称填写 br0


关键参数说明

  • renderer :指定网络管理工具,常用 networkdsystemd-networkd)或 NetworkManager
  • ethernets :定义物理网卡配置,需关闭 DHCP(dhcp4: false)。
  • bridges:定义网桥配置,包括 IP 地址、网关、DNS。
  • parameters
    • stp :生成树协议(STP),多网卡场景建议启用(true),简单场景可关闭(false)。
    • forward-delay :转发延迟时间(秒),默认 4,简单场景可设为 0
  • vlans:定义 VLAN 接口,需指定 VLAN ID 和关联的物理网卡。

应用配置

  1. 保存配置文件到 /etc/netplan/(例如 01-netcfg.yaml)。

  2. 验证配置语法:

    bash 复制代码
    sudo netplan try
  3. 应用配置:

    bash 复制代码
    sudo netplan apply

验证配置

  1. 查看网桥状态

    bash 复制代码
    brctl show
  2. 查看网桥 IP 地址

    bash 复制代码
    ip a show br0
  3. 测试网络连通性

    bash 复制代码
    ping 8.8.8.8

注意事项

  • YAML 缩进:使用空格(2 个空格)缩进,禁止使用 Tab。
  • 接口名称匹配 :物理网卡名称可通过 ip als /sys/class/net 查看。
  • 调试工具
    • 查看日志:journalctl -xe | grep netplan
    • 检查网络状态:networkctl status br0

根据你的实际需求选择合适的模板并调整参数即可!





以下是 Netplan 配置网桥(Bridge)的通用模板,你可以根据实际需求修改参数:

使用说明:

  1. 将上述内容保存为 /etc/netplan/01-bridge.yaml(或其他名称,数字前缀控制加载顺序)
  2. 修改 eth0 为你的实际网卡名称(通过 ip link 命令查看)
  3. 根据需求选择 DHCP(dhcp4: yes)或静态 IP(取消注释 addressesgateway4 等字段)
  4. 应用配置:sudo netplan apply

其他常见场景扩展

多网卡桥接(链路聚合/冗余)
yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
    eth1:
      dhcp4: no
  bridges:
    br0:
      interfaces: [eth0, eth1]
      addresses: [10.0.0.10/24]
      gateway4: 10.0.0.1
      parameters:
        stp: yes  # 必须启用 STP
网桥 + VLAN 配置
yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
  bridges:
    br0:
      interfaces: [eth0]
      dhcp4: no  # 网桥本身不配置 IP
  vlans:
    br0.10:  # VLAN 10
      id: 10
      link: br0
      addresses: [192.168.10.10/24]




以下是 Netplan 配置网桥(Bridge)的通用模板,你可以根据实际需求修改参数:

使用说明:

  1. 将上述内容保存为 /etc/netplan/01-bridge.yaml(或其他名称,数字前缀控制加载顺序)
  2. 修改 eth0 为你的实际网卡名称(通过 ip link 命令查看)
  3. 根据需求选择 DHCP(dhcp4: yes)或静态 IP(取消注释 addressesgateway4 等字段)
  4. 应用配置:sudo netplan apply

其他常见场景扩展

多网卡桥接(链路聚合/冗余)
yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
    eth1:
      dhcp4: no
  bridges:
    br0:
      interfaces: [eth0, eth1]
      addresses: [10.0.0.10/24]
      gateway4: 10.0.0.1
      parameters:
        stp: yes  # 必须启用 STP
网桥 + VLAN 配置
yaml 复制代码
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
  bridges:
    br0:
      interfaces: [eth0]
      dhcp4: no  # 网桥本身不配置 IP
  vlans:
    br0.10:  # VLAN 10
      id: 10
      link: br0
      addresses: [192.168.10.10/24]




相关推荐
l1x1n01 小时前
Vim 编辑器常用操作详解(新手快速上手指南)
linux·编辑器·vim
ajassi20002 小时前
开源 python 应用 开发(三)python语法介绍
linux·python·开源·自动化
o不ok!2 小时前
Linux面试问题-软件测试
linux·运维·服务器
DaxiaLeeSuper3 小时前
Prometheus+Grafana+node_exporter监控linux服务器资源的方案
linux·grafana·prometheus
尽兴-4 小时前
如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
linux·数据库·windows·sql·macos
kfepiza4 小时前
Netplan 中 bridges、bonds、ethernets、vlans 之间的关系 笔记250711
linux·tcp/ip·shell
小小不董4 小时前
深入理解oracle ADG和RAC
linux·服务器·数据库·oracle·dba
小宋0015 小时前
在Ubuntu上安装配置 LLaMA-Factory
ubuntu·计算机视觉
杰夫贾维斯5 小时前
CentOS Linux 8 的系统部署 Qwen2.5-7B -Instruct-AWQ
linux·运维·人工智能·机器学习·centos