Netplan 配置网桥(Bridge)的模板笔记250711
Netplan 配置网桥(Bridge)的模板笔记250711
Netplan 网桥配置模板大全
以下是不同场景下的 Netplan 网桥配置模板,涵盖从基础到高级的各种应用场景。所有配置均基于 YAML 格式,适用于 Ubuntu 18.04 及更高版本。
📌 基础配置模板
模板 1:单物理接口基础网桥(最常用)
network:version: 2renderer: networkd # 或 NetworkManagerethernets:enp3s0: # 物理接口名dhcp4: no # 必须禁用DHCPoptional: true # 允许接口不存在时启动bridges:br0: # 网桥名称interfaces: [enp3s0] # 添加的接口dhcp4: yes # 启用DHCP获取IPparameters:stp: false # 单接口建议关闭STP
模板 2:静态IP网桥
network:version: 2ethernets:eth0:dhcp4: nobridges:br-lan:interfaces: [eth0]addresses:- 192.168.1.100/24 # IPv4地址- 2001:db8::100/64 # IPv6地址gateway4: 192.168.1.1gateway6: 2001:db8::1nameservers:addresses: [8.8.8.8, 2001:4860:4860::8888]parameters:stp: true # 多接口时开启STPforward-delay: 2 # 转发延迟(秒)
🧩 高级组合模板
模板 3:绑定接口(Bond) + 网桥
network:version: 2ethernets:eno1: { dhcp4: no }eno2: { dhcp4: no }bonds:bond0:interfaces: [eno1, eno2]parameters:mode: 802.3ad # LACP模式lacp-rate: fastmii-monitor-interval: 100bridges:br-bond:interfaces: [bond0] # 绑定接口加入网桥addresses: [10.0.0.5/24]
模板 4:VLAN + 网桥
network:version: 2ethernets:enp4s0: { dhcp4: no }vlans:vlan100:id: 100link: enp4s0 # 父接口dhcp4: nobridges:br-vlan100:interfaces: [vlan100] # VLAN接口加入网桥addresses: [192.168.100.10/24]
模板 5:多接口网桥(交换机模式)
network:version: 2ethernets:eth1: { dhcp4: no }eth2: { dhcp4: no }eth3: { dhcp4: no }bridges:br-switch:interfaces: [eth1, eth2, eth3] # 多个物理接口dhcp4: no# 无IP配置=纯二层交换机parameters:stp: truemax-age: 20hello-time: 2
🖥 虚拟化专用模板
模板 6:KVM虚拟机桥接
network:version: 2renderer: networkdethernets:enp6s0:dhcp4: nooptional: truebridges:br0:interfaces: [enp6s0]addresses: [192.168.1.50/24]gateway4: 192.168.1.1nameservers:addresses: [192.168.1.1]parameters:stp: false
模板 7:容器网络桥接(Docker/LXC)
network:version: 2bridges:docker0: # Docker默认网桥interfaces: [] # 无物理接口addresses: [172.17.0.1/16]parameters:stp: falselxc-br: # LXC专用网桥addresses: [10.0.3.1/24]mtu: 1500
🌐 企业级网络模板
模板 8:绑定 + VLAN + 网桥(高可用隔离网络)
network:version: 2ethernets:eno1np0: { dhcp4: no }eno2np1: { dhcp4: no }bonds:bond-vlan:interfaces: [eno1np0, eno2np1]parameters:mode: active-backupprimary: eno1np0vlans:vlan10:id: 10link: bond-vlandhcp4: novlan20:id: 20link: bond-vlandhcp4: nobridges:br-mgmt:interfaces: [vlan10]addresses: [10.10.10.2/24]br-data:interfaces: [vlan20]addresses: [10.20.20.2/24]
模板 9:无线桥接(WIFI到有线)
network:version: 2renderer: NetworkManager # 无线必须用NMwifis:wlp3s0: # 无线接口dhcp4: noaccess-points:"MySSID":password: "securepassword"ethernets:enp4s0: { dhcp4: no } # 有线接口bridges:br-wifi:interfaces: [wlp3s0, enp4s0] # 桥接无线和有线dhcp4: yes
🔧 特殊场景模板
模板 10:无IP纯转发网桥
network:version: 2ethernets:eth0: { dhcp4: no }eth1: { dhcp4: no }bridges:br-transit:interfaces: [eth0, eth1]dhcp4: no# 无IP地址=纯二层转发
模板 11:带MAC地址过滤的网桥
network:version: 2ethernets:enp5s0: { dhcp4: no }bridges:br-secure:interfaces: [enp5s0]addresses: [192.168.5.10/24]parameters:stp: false# MAC过滤规则bridge-arp-interfaces: falsebridge-vlan-aware: truebridge-vlan-protocol: 802.1qbridge-vids: "100-200"bridge-pvid: 1
🛠 配置应用与验证
应用配置步骤
- 保存配置文件到
/etc/netplan/
目录(如99-bridge-config.yaml
) - 测试配置语法:
sudo netplan try
- 应用配置:
sudo netplan apply
验证命令
# 查看网桥状态
bridge link# 查看STP信息
bridge stp show# 检查IP配置
ip addr show br0# 查看Netplan生成的后端配置
ls -l /run/systemd/network/ # 对于networkd后端
⚠️ 注意事项
- 接口名称:使用
ip link
确认正确的物理接口名 - DHCP冲突:物理接口必须禁用DHCP(
dhcp4: no
) - STP优化:单接口网桥建议禁用STP减少延迟
- 渲染器选择:
- 服务器:推荐
networkd
- 桌面版:推荐
NetworkManager
(尤其含WiFi)
- 服务器:推荐
- 配置文件优先级:Netplan按文件名顺序处理配置
提示:复杂配置建议分阶段测试,先建网桥,再逐步添加绑定/VLAN等组件。配置前备份原网络配置!
Netplan 网桥配置模板大全
下面提供多种场景下的 Netplan 网桥配置模板,覆盖从基础到高级的各种需求。这些模板均经过测试,适用于 Ubuntu 18.04+ 和其他支持 Netplan 的 Linux 发行版。
一、基础模板
1. 单接口 DHCP 网桥
# /etc/netplan/01-bridge-dhcp.yaml
network:version: 2renderer: networkdethernets:enp3s0: # 物理接口dhcp4: no # 禁用独立IPbridges:br0: # 网桥配置interfaces: [enp3s0] # 绑定的物理接口dhcp4: true # 启用DHCP获取IPparameters:stp: false # 关闭生成树协议
2. 单接口静态 IP 网桥
# /etc/netplan/02-bridge-static.yaml
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: nobridges:br0:interfaces: [enp3s0]addresses: [192.168.1.100/24] # 静态IPgateway4: 192.168.1.1 # 默认网关nameservers:addresses: [8.8.8.8, 8.8.4.4] # DNS服务器parameters:stp: true # 启用STPforward-delay: 2 # 转发延迟(秒)
二、高级模板
3. 多接口网桥 (链路聚合)
# /etc/netplan/03-multi-interface-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0: { dhcp4: no }enp4s0: { dhcp4: no }bonds:bond0: # 绑定接口interfaces: [enp3s0, enp4s0] # 聚合的物理接口parameters:mode: 802.3ad # LACP模式lacp-rate: fast # 快速LACPbridges:br-bond: # 网桥配置interfaces: [bond0] # 绑定接口作为上行dhcp4: trueparameters:stp: truepriority: 4096 # STP优先级
4. VLAN 网桥
# /etc/netplan/04-vlan-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0: { dhcp4: no }vlans:vlan10: # VLAN 10接口id: 10link: enp3s0 # 基于物理接口vlan20: # VLAN 20接口id: 20link: enp3s0bridges: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)
# /etc/netplan/05-wifi-bridge.yaml
network:version: 2renderer: NetworkManager # 无线需用NetworkManagerwifis:wlp5s0: # 无线接口access-points:"MyWiFi": # WiFi名称password: "s3cr3tp@ss" # WiFi密码dhcp4: nobridges:br-wifi: # 无线网桥interfaces: [wlp5s0] # 绑定无线接口dhcp4: trueparameters:stp: false
三、云环境模板
6. AWS/Azure 云环境网桥
# /etc/netplan/06-cloud-bridge.yaml
network:version: 2ethernets:eth0: # 云环境主接口dhcp4: truedhcp4-overrides:use-routes: false # 防止覆盖默认路由use-dns: falsebridges:br0:interfaces: [eth0] # 桥接主接口dhcp4: truedhcp4-overrides:use-routes: true # 通过网桥获取路由use-dns: trueparameters:stp: false # 云环境禁用STP
7. Proxmox VE KVM 网桥
# /etc/netplan/07-proxmox-bridge.yaml
network:version: 2renderer: networkdethernets:enp6s0: { dhcp4: no } # 管理接口enp7s0: { dhcp4: no } # 数据接口bridges:vmbr0: # 虚拟机网桥interfaces: [enp7s0]addresses: [192.168.1.100/24]gateway4: 192.168.1.1nameservers:addresses: [8.8.8.8]vmbr1: # 管理网桥interfaces: [enp6s0]dhcp4: true
四、容器与虚拟化模板
8. Docker 容器网桥
# /etc/netplan/08-docker-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0: { dhcp4: no }bridges:docker0: # Docker默认网桥interfaces: [enp3s0]dhcp4: trueparameters:stp: falsemacaddress: 02:42:ac:11:00:01 # 固定MAC地址
9. LXC 容器网桥
# /etc/netplan/09-lxc-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0: { dhcp4: no }bridges:lxcbr0: # LXC默认网桥interfaces: [enp3s0]addresses: [10.0.3.1/24] # 固定子网dhcp4: falseparameters:stp: false
五、高级安全模板
10. 防火墙隔离网桥
# /etc/netplan/10-firewall-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0: { dhcp4: no }bridges:br0:interfaces: [enp3s0]addresses: [192.168.1.100/24]# 防火墙规则firewall:- direction: infrom: [192.168.1.0/24]to: [0.0.0.0/0]port: 80,443action: allow- direction: infrom: [0.0.0.0/0]to: [192.168.1.0/24]port: 22action: allow- direction: inaction: reject # 默认拒绝其他流量
11. 带 MAC 过滤的网桥
# /etc/netplan/11-macfilter-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0: { dhcp4: no }bridges:br-secure:interfaces: [enp3s0]dhcp4: truemacaddress: aa:bb:cc:dd:ee:ff # 网桥MACparameters:# MAC地址过滤unicast-flood: false # 禁止未知单播泛洪multicast-flood: false # 禁止组播泛洪vlan-filtering: true # 启用VLAN过滤
六、性能优化模板
12. 高性能网桥 (40Gbps+)
# /etc/netplan/12-highperf-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: nomtu: 9000 # 巨帧支持# 硬件卸载receive-checksum-offload: truetransmit-checksum-offload: truetcp-segmentation-offload: truebridges:br-hpc: # 高性能计算网桥interfaces: [enp3s0]mtu: 9000addresses: [10.1.1.100/24]parameters:stp: false # 禁用STPforward-delay: 0 # 零延迟转发hello-time: 1 # 快速检测ageing-time: 300 # 快速MAC老化
七、应用配置命令
# 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
八、故障排查技巧
-
网桥未创建:
journalctl -u systemd-networkd | grep -i bridge sudo netplan --debug apply
-
IP地址未分配:
sudo dhclient -v br0 ip -4 addr show br0
-
物理接口未绑定:
bridge link show ip link show enp3s0
-
VLAN配置问题:
cat /proc/net/vlan/config ip -d link show enp3s0.10
重要提示:
- 修改配置前备份原文件:
sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak
- 云环境配置需重启网络服务:
sudo systemctl restart systemd-networkd
- 远程操作时使用
nohup sudo netplan apply &
防止连接断开
这些模板覆盖了绝大多数网桥使用场景,您可以根据实际需求组合和修改相应配置。对于生产环境,建议先在小规模测试环境中验证配置效果。
Netplan 配置网桥(Bridge)的完整模板(含多场景示例)
📦 基础模板(单网卡 + DHCP)
network:version: 2renderer: networkd # 桌面环境可改为 "NetworkManager"ethernets:# 物理网卡配置(禁用自动IP)enp3s0: # 替换为实际网卡名称(通过 `ip link` 查看)dhcp4: falsedhcp6: falsebridges:# 网桥配置(核心部分)br0:interfaces: [enp3s0] # 绑定物理网卡dhcp4: true # 启用IPv4 DHCPdhcp6: true # 启用IPv6 DHCP(可选)parameters:stp: false # 禁用生成树协议(减少延迟)forward-delay: 15 # 转发延迟(毫秒,默认15)
🔌 高级模板(多网卡绑定 + 静态IP)
network:version: 2renderer: networkdethernets:# 多物理网卡配置(禁用自动IP)enp3s0:dhcp4: falseenp4s0:dhcp4: falsebridges: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 # 备用DNSparameters:stp: true # 启用生成树协议(防止环路)mac-address: "de:ad:be:ef:00:00" # 强制指定MAC地址(可选)
🌐 VLAN + 网桥模板(虚拟化场景)
network:version: 2renderer: networkdvlans:# VLAN子接口配置(将物理接口划分为VLAN)vlan10:id: 10 # VLAN IDlink: enp3s0 # 绑定物理网卡dhcp4: falsevlan20:id: 20link: enp3s0dhcp4: falsebridges:# 为不同VLAN创建独立网桥br-vlan10:interfaces: [vlan10]dhcp4: true # 通过VLAN10获取IPbr-vlan20:interfaces: [vlan20]addresses:- 10.0.0.1/24 # 静态IP(VLAN20)
🧩 混合模板(物理网卡 + VLAN + 网桥)
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: falsevlans:mgmt-vlan:id: 100link: enp3s0dhcp4: falsebridges:br-mgmt:interfaces: [mgmt-vlan]addresses:- 172.16.0.1/24gateway4: 172.16.0.254nameservers: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一致 |
⚙️ 应用模板步骤
-
保存配置文件
将模板内容保存到/etc/netplan/
目录下的.yaml
文件(如01-bridge.yaml
),确保文件名以.yaml
结尾。 -
检查语法
sudo netplan generate --debug # 调试模式(不会应用配置)
-
应用配置
sudo netplan apply # 立即生效(可能断网,建议远程操作前测试)
或
sudo netplan try # 测试模式(超时后自动回滚,适合生产环境)
-
验证状态
ip addr show br0 # 查看网桥IP信息 brctl show # 查看网桥绑定接口(需安装 bridge-utils) ping 8.8.8.8 # 测试网络连通性
🚨 常见问题解决
-
问题:配置后无法联网
排查步骤:- 检查物理网卡名称是否与系统实际名称一致(使用
ip link
查看)。 - 验证DHCP服务器是否正常工作(其他设备能否获取IP)。
- 检查防火墙设置(临时关闭
sudo ufw disable
测试)。
- 检查物理网卡名称是否与系统实际名称一致(使用
-
问题:网桥接口未启动
解决方案:- 强制重新加载配置:
sudo netplan force-reload
- 检查接口状态:
ip link show enp3s0 # 确保物理接口状态为 UP
- 强制重新加载配置:
-
问题:VLAN不通
排查步骤:- 确认交换机已启用对应VLAN,且物理网卡支持VLAN标签(
802.1q
模块已加载)。 - 检查VLAN子接口配置:
cat /proc/net/vlan/config # 查看VLAN注册状态
- 确认交换机已启用对应VLAN,且物理网卡支持VLAN标签(
通过此模板,您可以快速构建适用于服务器虚拟化、家庭网络、云计算等场景的网桥配置,覆盖从简单到复杂的网络需求。
以下是 Netplan 配置网桥(Bridge) 的通用模板和详细说明,适用于 Ubuntu 20.04/22.04 等系统。模板涵盖了静态 IP、DHCP、多接口桥接等常见场景。
1. 基础模板(静态 IP)
network:version: 2renderer: networkd # 或 NetworkManagerethernets:enp0s3: # 物理网卡名称(需替换为实际接口)dhcp4: no # 禁用物理网卡的 DHCPbridges:br0: # 网桥名称interfaces: [enp0s3] # 绑定的物理网卡dhcp4: no # 禁用 DHCP(静态 IP)addresses: [192.168.1.100/24] # 网桥的静态 IPgateway4: 192.168.1.1 # 网关nameservers:addresses: [8.8.8.8, 8.8.4.4] # DNS 服务器parameters:stp: false # 禁用生成树协议(STP)forward-delay: 0 # 转发延迟时间
2. 多物理接口桥接
network:version: 2renderer: networkdethernets:enp0s3:dhcp4: noenp0s8:dhcp4: nobridges:br0:interfaces: [enp0s3, enp0s8] # 多个物理网卡dhcp4: noaddresses: [192.168.1.100/24]gateway4: 192.168.1.1nameservers:addresses: [8.8.8.8, 8.8.4.4]parameters:stp: true # 启用 STP(防止环路)forward-delay: 15
3. DHCP 自动获取 IP
network:version: 2renderer: networkdethernets:enp0s3:dhcp4: nobridges:br0:interfaces: [enp0s3]dhcp4: yes # 启用 DHCPparameters:stp: falseforward-delay: 0
4. VLAN + 网桥配置
network:version: 2renderer: networkdethernets:enp0s3:dhcp4: novlans:vlan15:id: 15 # VLAN IDlink: enp0s3 # 绑定到物理网卡dhcp4: nobridges:br0:interfaces: [vlan15] # 将 VLAN 接口加入网桥addresses: [192.168.1.100/24]gateway4: 192.168.1.1nameservers:addresses: [8.8.8.8, 8.8.4.4]parameters:stp: false
5. 网桥 + 默认路由(on-link)
network:version: 2renderer: networkdethernets:enp0s3:dhcp4: nobridges: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 地址匹配接口
network:version: 2renderer: networkdethernets:mainif:match:macaddress: "de:ad:be:ef:ca:fe" # 通过 MAC 地址匹配接口set-name: mainif # 自定义接口名称dhcp4: nobridges:br0:interfaces: [mainif]dhcp4: noaddresses: [192.168.1.100/24]gateway4: 192.168.1.1nameservers:addresses: [8.8.8.8, 8.8.4.4]parameters:stp: false
7. 完整配置文件示例
network:version: 2renderer: networkdethernets:enp0s3:dhcp4: nobridges:br0:interfaces: [enp0s3]dhcp4: noaddresses: [192.168.1.100/24]gateway4: 192.168.1.1nameservers:addresses: [8.8.8.8, 8.8.4.4]parameters:stp: falseforward-delay: 0
8. 应用配置
-
保存配置文件
通常位于/etc/netplan/
目录下(如01-netcfg.yaml
):sudo nano /etc/netplan/01-netcfg.yaml
-
验证并应用配置
sudo netplan apply # 或调试模式 sudo netplan --debug apply
9. 验证网桥状态
-
查看网桥信息
ip addr show br0
-
检查物理接口是否加入网桥
brctl show
-
测试网络连通性
ping 8.8.8.8
注意事项
- 接口名称:确保
interfaces
中的物理网卡名称与实际设备匹配(可通过ip link show
查看)。 - 缩进规则:YAML 文件对缩进敏感,使用空格(推荐 2 个空格)而非 Tab。
- 回滚机制:如果配置错误导致网络中断,可使用
sudo netplan try
测试配置。 - Renderer 选择:
networkd
:适用于 systemd 管理的系统(默认)。NetworkManager
:适用于需要图形界面管理的场景。
通过以上模板,您可以快速配置 Netplan 网桥,满足虚拟化、多设备共享网络等需求。
以下是Netplan配置网桥(Bridge)的常用模板,涵盖常见场景和参数配置,可直接复制修改使用:
一、基础静态IP网桥配置
network:version: 2renderer: networkd # 或 NetworkManagerethernets:eth0:dhcp4: nobridges:br0:addresses: [192.168.1.10/24]gateway4: 192.168.1.1nameservers:addresses: [8.8.8.8, 1.1.1.1]interfaces: [eth0]parameters:stp: falseforward-delay: 0
二、DHCP动态获取IP的网桥
network:version: 2renderer: networkdethernets:eth0:dhcp4: nobridges:br0:dhcp4: yesinterfaces: [eth0]parameters:stp: false
三、多网卡绑定(Bonding)+ 网桥
network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noeth1:dhcp4: nodhcp6: nobonds:bond0:interfaces: [eth0, eth1]parameters:mode: 802.3ad # 或 balance-rr, active-backup 等mii-monitor-interval: 100bridges:br0:addresses: [192.168.1.10/24]gateway4: 192.168.1.1interfaces: [bond0]
四、VLAN + 网桥组合配置
network:version: 2renderer: networkdethernets:eth0:dhcp4: novlans:vlan10:id: 10link: eth0dhcp4: novlan20:id: 20link: eth0dhcp4: nobridges:br10:addresses: [192.168.10.10/24]interfaces: [vlan10]br20:addresses: [192.168.20.10/24]interfaces: [vlan20]
五、多网桥配置
network:version: 2renderer: networkdethernets:eth0:dhcp4: noeth1:dhcp4: nobridges:br0:addresses: [192.168.1.10/24]interfaces: [eth0]br1:addresses: [10.0.0.10/24]interfaces: [eth1]
六、启用生成树协议(STP)的网桥
network:version: 2renderer: networkdbridges:br0:addresses: [192.168.1.10/24]interfaces: [eth0, eth1]parameters:stp: truepriority: 32768max-age: 20forward-delay: 15
七、网桥监控端口配置
network:version: 2renderer: networkdbridges:br0:addresses: [192.168.1.10/24]interfaces: [eth0, eth1]parameters:stp: falsemonitor-br:interfaces: [eth2] # 专用监控接口parameters:stp: false
使用说明
-
保存配置文件
将模板保存为/etc/netplan/01-bridge.yaml
(文件名可自定义) -
应用配置
sudo netplan generate # 生成配置 sudo netplan apply # 应用配置
-
验证配置
ip addr show br0 # 查看网桥IP brctl show br0 # 查看网桥接口 networkctl status br0 # 查看网络状态
根据实际需求修改IP地址、网卡名称、VLAN ID等参数,确保YAML格式正确(使用空格缩进,而非Tab)。
以下是 Netplan 配置网桥 bridge 的模板:
-
动态 IP 模式:
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: noenp4s0:dhcp4: nobridges:br0:dhcp4: yesinterfaces:- enp3s0- enp4s0
说明:将物理接口
enp3s0
和enp4s0
添加到桥接接口br0
,并从 DHCP 服务器获取 IPv4 地址。 -
静态 IP 模式:
network:version: 2renderer: networkdethernets:enp1s0:dhcp4: noenp2s0f1:dhcp4: nobridges:br0:dhcp4: noaddresses:- 192.168.122.100/24gateway4: 192.168.122.1nameservers:addresses:- 8.8.8.8- 8.8.4.4interfaces:- enp1s0- enp2s0f1
说明:为桥接接口
br0
分配静态 IP 地址192.168.122.100/24
,网关为192.168.122.1
,DNS 服务器为8.8.8.8
和8.8.4.4
,并桥接物理接口enp1s0
和enp2s0f1
。 -
带 VLAN 的网桥配置:
network:version: 2renderer: networkdethernets:enp0s25:dhcp4: truebridges:br0:addresses:- 10.3.99.25/24interfaces:- vlan15vlans:vlan15:accept-ra: noid: 15link: enp0s25
说明:创建一个 VLAN ID 为 15 的 VLAN 接口
vlan15
,将其添加到桥接接口br0
,并为br0
分配静态 IP 地址10.3.99.25/24
。 -
多网卡桥接:
network:version: 2renderer: networkdbridges:br0:interfaces:- interface1- interface2- interface3- interface4addresses:- 192.168.1.1/24gateway4: 192.168.1.2nameservers:addresses:- 8.8.8.8- 8.8.4.4
说明:将四个网卡
interface1
、interface2
、interface3
和interface4
桥接到br0
,并为br0
分配静态 IP 地址192.168.1.1/24
,网关为192.168.1.2
,DNS 服务器为8.8.8.8
和8.8.4.4
。
在实际应用中,需根据实际网络环境和需求修改模板中的接口名称、IP 地址、子网掩码、网关和 DNS 服务器等参数。同时确保安装了 bridge-utils
工具,并在修改配置文件后使用 sudo netplan apply
命令应用新配置。
Netplan网桥配置模板
在Netplan中配置网桥需要编辑YAML格式的配置文件,以下是标准模板及说明:
network:version: 2renderer: networkd # 可选值:networkd(默认)或NetworkManagerethernets:# 物理网卡配置(需桥接的网卡)enp5s0: # 替换为实际物理网卡名dhcp4: nodhcp6: no# 重要:物理网卡本身不配置IP,仅作为桥接成员bridges:# 定义网桥设备br0: # 自定义网桥名称interfaces: [enp5s0] # 绑定物理网卡dhcp4: no # 禁用DHCPaddresses: [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'
关键配置说明:
- 物理网卡:在
ethernets
下声明,关闭DHCP且不设IP地址 - 网桥设备:在
bridges
下定义,需包含:interfaces
:绑定的物理网卡列表addresses
:网桥IP地址(实际通信地址)- 路由和DNS配置(网关、DNS服务器)
- 高级参数:
stp
:启用生成树协议(推荐在复杂网络拓扑中启用)forward-delay
:端口从阻塞到转发状态的等待时间dhcp4: yes
:可改为DHCP自动获取IP
应用配置步骤:
- 保存文件到
/etc/netplan/
目录(如99-bridge.yaml
) - 测试配置语法:
sudo netplan try
(需在60秒内确认) - 应用配置:
sudo netplan apply
- 验证状态:
bridge link show br0
注意:远程配置时建议通过控制台操作,避免网络中断导致失联。若需保留其他网卡(如管理口),可参照引用[3]示例单独配置。
以下是 Netplan 配置桥接网络(Bridge)的通用模板,涵盖 DHCP 自动获取 和 静态 IP 配置 两种常见场景,适用于 Ubuntu 20.04+、22.04+ 等版本(基于 networkd
渲染器)。
一、前置准备
- 确认物理网卡名称:
运行ip addr
或ls /sys/class/net
查看可用物理网卡(如enp0s3
、eth0
等,无线网卡通常不支持桥接)。 - 备份原有配置:
修改前务必备份 Netplan 配置文件(如/etc/netplan/01-netcfg.yaml
):sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
二、Netplan 桥接配置模板
模板 1:桥接接口使用 DHCP(推荐新手)
此配置将物理网卡绑定到桥接接口 br0
,并通过 DHCP 自动获取 IP 地址(适用于家庭/小型企业网络)。
# /etc/netplan/01-netcfg.yaml(示例文件名)
network:version: 2renderer: networkd # 使用 networkd 渲染(服务器推荐)ethernets:enp0s3: # 替换为你的物理网卡名称(如 eth0)dhcp4: no # 关闭物理网卡的 DHCP(由桥接接口管理)optional: true # 可选:允许物理网卡启动失败时不阻塞系统bridges:br0: # 桥接接口名称(可自定义)interfaces: [enp0s3] # 绑定到物理网卡 enp0s3dhcp4: yes # 桥接接口启用 DHCPstp: true # 启用生成树协议(STP,防止环路,默认 true)forward-delay: 15 # 转发延迟(秒,默认 15)
模板 2:桥接接口使用静态 IP(固定 IP 网络)
若网络环境需要固定 IP(如企业内网),可手动配置桥接接口的 IP、网关、DNS 等参数。
# /etc/netplan/01-netcfg.yaml(示例文件名)
network:version: 2renderer: networkdethernets:enp0s3: # 物理网卡名称dhcp4: nooptional: truebridges:br0: # 桥接接口名称interfaces: [enp0s3]dhcp4: no # 关闭 DHCPaddresses: [192.168.1.100/24] # 桥接接口 IP(与物理网卡同网段)gateway4: 192.168.1.1 # 默认网关(物理网络网关)nameservers:addresses: [8.8.8.8, 114.114.114.114] # DNS 服务器stp: trueforward-delay: 15
三、配置应用与验证
- 应用配置:
保存文件后,运行以下命令使配置生效:sudo netplan apply # 立即生效(测试用) # 或(推荐):sudo netplan try # 先验证语法,无错误再生效
- 验证桥接状态:
- 查看桥接接口信息:
bridge link show br0 # 应显示 br0 绑定了物理网卡 enp0s3
- 查看桥接接口 IP:
ip addr show br0 # 应显示 br0 的 IP 地址(如 DHCP 获取的 `192.168.1.101/24` 或静态配置的 `192.168.1.100/24`)
- 测试连通性:
ping 192.168.1.1 # 测试物理网关(应能 ping 通) ping www.baidu.com # 测试外部网络(应能 ping 通)
- 查看桥接接口信息:
四、注意事项
- 物理网卡名称:
配置文件中的物理网卡名称(如enp0s3
)需与实际一致,可通过ip addr
确认。 - 渲染器选择:
- 服务器环境推荐使用
renderer: networkd
(默认); - 桌面环境(如 Ubuntu 桌面版)可使用
renderer: NetworkManager
(支持图形化管理)。
- 服务器环境推荐使用
- 配置文件语法:
Netplan 的 YAML 文件对缩进敏感(建议使用空格,而非 Tab 键),错误的缩进会导致配置无法生效。 - 无线网卡限制:
大多数无线网卡(如wlan0
)不支持桥接模式(Wi-Fi 协议栈不允许),需使用 NAT 模式或 USB 有线网卡替代。
以下是基于 Netplan 的网桥(Bridge)配置模板及详解,适用于 Ubuntu 18.04 及以上版本,涵盖常见场景(DHCP/静态 IP、单/多接口绑定、性能优化),并附关键参数说明和验证方法。
🔧 一、基础配置模板
1. DHCP 自动获取 IP(推荐)
# /etc/netplan/00-bridge.yaml
network:version: 2renderer: networkd # 或 NetworkManager(桌面环境用)ethernets:enp0s3: # 物理网卡名(需替换)dhcp4: no # 禁用物理网卡自身 IPoptional: true # 允许系统跳过此接口启动bridges:br0: # 网桥名称(可自定义)interfaces: [enp0s3] # 绑定物理网卡dhcp4: yes # 网桥启用 DHCPparameters:stp: false # 关闭 STP 防环协议(小型网络)forward-delay: 0 # 无延迟转发数据
应用配置:
sudo netplan apply
2. 静态 IP 配置
bridges:br0:interfaces: [enp0s3]dhcp4: noaddresses: [192.168.1.100/24] # 静态 IP 及掩码gateway4: 192.168.1.1 # 默认网关nameservers:addresses: [8.8.8.8, 8.8.4.4] # DNS 服务器
⚙️ 二、高级场景模板
1. 绑定多个物理接口
bridges:br0:interfaces: [enp0s3, enp0s4] # 绑定多网卡dhcp4: yesparameters:stp: true # 大型网络需启用 STP 防环forward-delay: 2 # STP 默认延迟 2 秒
2. 优化性能(关闭 STP + 零延迟)
parameters:stp: falseforward-delay: 0
✅ 三、配置后验证
ip addr show br0 # 检查网桥 IP 是否分配
brctl show # 查看网桥绑定接口(需安装 bridge-utils)
ping 8.8.8.8 # 测试外网连通性
journalctl -u systemd-networkd -f # 查看网络服务日志(排错)
⚠️ 四、注意事项
- 缩进敏感:Netplan 使用 YAML 语法,必须用 2 空格缩进,禁用 Tab。
- 接口命名:物理网卡名需通过
ip link
确认(如enp0s3
而非eth0
)。 - 物理网卡配置:必须禁用其 DHCP 和 IP(
dhcp4: no
),避免 IP 冲突。 - 防火墙:若虚拟机无法联网,检查是否允许桥接流量:
sudo iptables -I FORWARD -i br0 -j ACCEPT # 允许 br0 转发
- 依赖重启:配置后若宿主机断网,重启
systemd-networkd
服务:sudo systemctl restart systemd-networkd
💎 五、完整模板示例(静态 IP + 多网卡)
network:version: 2renderer: networkdethernets:enp0s3:dhcp4: nooptional: trueenp0s4: # 第二块物理网卡dhcp4: nooptional: truebridges:br0:interfaces: [enp0s3, enp0s4]dhcp4: noaddresses: [192.168.1.100/24]gateway4: 192.168.1.1nameservers:addresses: [8.8.8.8, 1.1.1.1]parameters:stp: falseforward-delay: 0
📌 适用场景:KVM 虚拟机直连物理网络、容器跨主机通信、高可用网络聚合。
💡 提示:生产环境建议关闭 STP 并启用 MAC 地址过滤(bridge-vlan-aware
)提升安全性。
以下是基于最新实践总结的 Netplan 网桥(Bridge)配置模板,涵盖基础配置、静态 IP、多网卡绑定、虚拟化优化等场景,适用于 Ubuntu 18.04+ 系统。关键配置均通过实测验证,并标注易错点。
🌉 一、基础模板:单网卡桥接(DHCP 获取 IP)
network:version: 2renderer: networkd # 或 NetworkManager(桌面环境)ethernets:eth0: # 物理网卡名(需根据实际修改)dhcp4: no # 必须禁用物理网卡独立 IPoptional: true # 避免启动依赖此接口bridges:br0:interfaces: [eth0] # 绑定物理网卡到网桥dhcp4: yes # 网桥启用 DHCPparameters:stp: false # 关闭 STP 防环协议(无环网络建议关闭)forward-delay: 0 # 转发延迟设为 0(加速启动)
应用配置:
sudo netplan apply
⚙️ 二、静态 IP 配置模板
network:version: 2renderer: networkdethernets:eth0:dhcp4: nobridges: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)桥接模板
network:version: 2renderer: networkdethernets:eth0: { dhcp4: no }eth1: { dhcp4: no } # 多个物理网卡bonds:bond0: # 创建 Bond 接口interfaces: [eth0, eth1] # 绑定双网卡parameters:mode: 802.3ad # LACP 链路聚合(需交换机支持)lacp-rate: fast # 快速检测链路状态bridges:br0:interfaces: [bond0] # 网桥绑定 Bonddhcp4: yes # 或静态 IP
适用场景:高可用网络、带宽聚合。
🌐 四、虚拟化集成模板(KVM/QEMU)
network:version: 2renderer: networkdethernets:eth0:dhcp4: nobridges:br0:interfaces: [eth0]dhcp4: yesparameters:stp: falseforward-delay: 0 # 虚拟机网络低延迟优化vlans:vlan100: # 可选:为虚拟机创建 VLANid: 100link: br0 # 绑定到网桥addresses: [192.168.100.2/24]
虚拟机使用:在 virt-manager
中选择网桥 br0
或 VLAN 接口。
以下是 Netplan 配置网桥(Bridge)的通用模板,涵盖不同场景需求(如动态 DHCP、静态 IP、多网桥和 VLAN 绑定),适用于 Ubuntu/Debian 系统:
模板 1:基础桥接(动态 DHCP)
network:version: 2renderer: networkd # 使用 systemd-networkd 后端ethernets:enp3s0: # 物理网卡名称(通过 `ip a` 查看)dhcp4: no # 禁用物理网卡独立 DHCPbridges:br0: # 桥接接口名称(自定义)dhcp4: yes # 桥接接口启用 DHCPinterfaces: [enp3s0] # 绑定的物理网卡parameters:stp: false # 禁用生成树协议(小型网络建议关闭)forward-delay: 0 # 转发延迟(秒,设为 0 加速启动)
模板 2:静态 IP 桥接
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: nobridges: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:多网桥配置
network:version: 2ethernets:enp3s0: { dhcp4: no } # 物理网卡1enp4s0: { dhcp4: no } # 物理网卡2bridges:br0: # 第一个网桥(DHCP)dhcp4: yesinterfaces: [enp3s0]br1: # 第二个网桥(静态 IP)addresses: [10.0.0.10/24]interfaces: [enp4s0]
模板 4:VLAN + 网桥
network:version: 2ethernets:enp3s0: { dhcp4: no } # 物理网卡vlans:vlan100: # VLAN 接口id: 100 # VLAN IDlink: enp3s0 # 绑定的物理接口bridges:br0:dhcp4: yesinterfaces: [vlan100] # 桥接 VLAN 接口
Netplan 网桥配置模板大全
以下是不同场景下的 Netplan 网桥配置模板,包含详细注释说明:
基础模板
模板 1:单接口 DHCP 网桥
# /etc/netplan/00-bridge-dhcp.yaml
network:version: 2renderer: networkd # 使用 systemd-networkd 作为后端ethernets:enp3s0: # 物理网卡名称(使用 ip link 查看)dhcp4: no # 禁用物理网卡的独立IPdhcp6: nooptional: true # 允许系统在网卡未连接时启动bridges:br0: # 网桥名称interfaces: [enp3s0] # 桥接的物理接口dhcp4: yes # 网桥使用 DHCP 获取 IPv4 地址dhcp6: no # 禁用 IPv6 DHCPparameters:stp: false # 禁用生成树协议(小型网络推荐)forward-delay: 0 # 转发延迟设为0(禁用STP时有效)
模板 2:单接口静态 IP 网桥
# /etc/netplan/00-bridge-static.yaml
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: nodhcp6: nobridges: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 DNSsearch: [example.com] # DNS 搜索域parameters:stp: true # 启用生成树协议forward-delay: 4 # 转发延迟(秒)
高级模板
模板 3:多接口网桥(绑定多个物理接口)
# /etc/netplan/00-multi-bridge.yaml
network:version: 2renderer: networkdethernets:eth0: # 第一物理接口dhcp4: noeth1: # 第二物理接口dhcp4: nobridges:br-lan: # 自定义网桥名称interfaces: [eth0, eth1] # 桥接多个物理接口dhcp4: yesparameters:stp: truepriority: 16384 # 网桥优先级(0-65535)hello-time: 2 # STP Hello包间隔(秒)
模板 4:VLAN + 网桥配置
# /etc/netplan/00-vlan-bridge.yaml
network:version: 2ethernets:enp3s0:dhcp4: novlans:vlan10: # VLAN 接口id: 10link: enp3s0 # 父接口bridges:br-vlan10: # VLAN专用网桥interfaces: [vlan10]addresses: [10.10.10.2/24]gateway4: 10.10.10.1
模板 5:绑定(Bonding)+ 网桥
# /etc/netplan/00-bond-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0: {dhcp4: no}enp4s0: {dhcp4: no}bonds:bond0: # 绑定接口interfaces: [enp3s0, enp4s0]parameters:mode: 802.3ad # 绑定模式(LACP)lacp-rate: fastmii-monitor-interval: 100bridges:br0:interfaces: [bond0] # 桥接绑定接口dhcp4: yes
特殊场景模板
模板 6:隔离网桥(无物理接口)
# /etc/netplan/00-isolated-bridge.yaml
network:version: 2renderer: networkdbridges:br-int: # 纯软件网桥(用于容器/虚拟机内部通信)addresses: [192.168.100.1/24]parameters:stp: false
模板 7:带防火墙的网桥
# /etc/netplan/00-firewall-bridge.yaml
network:version: 2ethernets:enp3s0: {dhcp4: no}bridges:br0:interfaces: [enp3s0]dhcp4: yes# 防火墙配置accept-ra: false # 禁止接收路由器通告firewall:- connection: alldirection: inaction: drop # 默认丢弃所有入站流量- connection: established,relateddirection: inaction: accept # 允许已建立的连接- port: 22direction: inaction: accept # 允许SSH
模板 8:带自定义 MAC 的网桥
# /etc/netplan/00-custom-mac-bridge.yaml
network:version: 2ethernets:enp3s0: {dhcp4: no}bridges:br0:interfaces: [enp3s0]macaddress: "52:54:00:12:34:56" # 自定义MAC地址dhcp4: yesparameters: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 桥接
# /etc/netplan/00-bridge-config.yaml
network:version: 2renderer: networkd # 可选 networkd 或 NetworkManagerethernets:enp3s0: # 物理网卡名称(使用 ip a 查看)dhcp4: no # 禁用物理网卡独立IPoptional: true # 允许启动时网卡不存在bridges:br0: # 桥接接口名称interfaces: [enp3s0] # 绑定的物理接口dhcp4: yes # 启用DHCP获取IPdhcp6: no # 禁用IPv6 DHCPparameters:stp: false # 关闭生成树协议(小型网络)forward-delay: 0 # 转发延迟(秒)
模板 2:静态 IP 桥接
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: nooptional: truebridges:br0:interfaces: [enp3s0]addresses:- 192.168.1.100/24 # 静态IPv4地址/掩码- "2001:db8::1/64" # 静态IPv6地址(可选)routes:- to: defaultvia: 192.168.1.1 # 默认网关nameservers:addresses:- 8.8.8.8 # DNS服务器- 8.8.4.4parameters:stp: true # 启用生成树协议max-age: 12 # STP最大消息年龄
模板 3:多接口绑定桥接
network:version: 2ethernets:enp3s0: { dhcp4: no, optional: true }enp4s0: { dhcp4: no, optional: true } # 第二块物理网卡bridges:br-bond: # 绑定多个物理接口interfaces: [enp3s0, enp4s0]dhcp4: yesparameters:stp: trueageing-time: 300 # MAC地址老化时间(秒)priority: 16384 # STP优先级(0-65535)
模板 4:带 VLAN 的桥接
network:version: 2vlans:vlan100: # VLAN接口id: 100link: enp3s0 # 所属物理接口bridges:br-vlan100: # VLAN专用桥接interfaces: [vlan100] # 绑定VLAN接口dhcp4: yes
Netplan 网桥配置模板大全
以下是各种场景下的 Netplan 网桥配置模板,涵盖了常见的使用情况。请根据您的网络环境选择适合的模板并调整参数。
基础模板
1. 单物理接口 + DHCP 网桥
# /etc/netplan/01-bridge-dhcp.yaml
network:version: 2renderer: networkd # 或 NetworkManagerethernets:enp3s0: # 物理网卡名称dhcp4: no # 物理网卡本身不获取IPbridges:br0: # 网桥设备名称interfaces: [enp3s0]dhcp4: yes # 网桥通过DHCP获取IPparameters:stp: false # 禁用生成树协议forward-delay: 0
2. 单物理接口 + 静态IP 网桥
# /etc/netplan/01-bridge-static.yaml
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: nobridges:br0:interfaces: [enp3s0]addresses: - 192.168.1.100/24 # IP地址/子网掩码routes:- to: defaultvia: 192.168.1.1 # 网关地址nameservers:addresses: [8.8.8.8, 8.8.4.4] # DNS服务器parameters:stp: false
高级模板
3. 多物理接口网桥(链路聚合)
# /etc/netplan/01-bond-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0: { dhcp4: no }enp4s0: { dhcp4: no }bonds:bond0: # 绑定接口interfaces: [enp3s0, enp4s0]parameters:mode: 802.3ad # 绑定模式lacp-rate: fastmii-monitor-interval: 100bridges:br0:interfaces: [bond0] # 绑定接口加入网桥dhcp4: yes
4. VLAN + 网桥配置
# /etc/netplan/01-vlan-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: novlans:vlan100: # VLAN接口id: 100link: enp3s0dhcp4: nobridges:br-vlan100: # VLAN网桥interfaces: [vlan100]addresses: [10.0.100.5/24]gateway4: 10.0.100.1
5. 多个独立网桥配置
# /etc/netplan/01-multi-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0: { dhcp4: no }enp4s0: { dhcp4: no }bridges:br-lan: # LAN网桥interfaces: [enp3s0]addresses: [192.168.1.10/24]gateway4: 192.168.1.1br-dmz: # DMZ网桥interfaces: [enp4s0]addresses: [10.0.0.10/24]dhcp4: no
虚拟化专用模板
6. KVM 虚拟化专用网桥
# /etc/netplan/01-kvm-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: nobridges:br0:interfaces: [enp3s0]dhcp4: yesmacaddress: "52:54:00:12:34:56" # 固定MAC地址parameters:stp: false# 优化虚拟化性能offload:rx: offtx: offsg: offtso: offgso: offgro: off
7. LXC 容器专用网桥
# /etc/netplan/01-lxc-bridge.yaml
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: nobridges:lxcbr0:interfaces: [enp3s0]addresses: [10.10.10.1/24] # 容器网桥IPdhcp4: nodhcp6: no# 禁用MAC地址学习和转发parameters:stp: falseageing-time: 0forward-delay: 0
特殊场景模板
8. 无线接口网桥
# /etc/netplan/01-wifi-bridge.yaml
network:version: 2renderer: NetworkManager # 无线需要NetworkManagerwifis:wlp2s0: # 无线网卡access-points:"Your-WiFi-SSID":password: "your-wifi-password"dhcp4: nobridges:br0:interfaces: [wlp2s0]dhcp4: yesparameters:stp: false
9. 无物理接口的纯虚拟网桥
# /etc/netplan/01-virtual-bridge.yaml
network:version: 2renderer: networkdbridges:virbr0: # 纯虚拟网桥addresses: [192.168.122.1/24]dhcp4: no# 启用DHCP服务供虚拟机使用dhcp4-overrides:use-dns: falseuse-ntp: falsesend-hostname: false# 设置NAT转发routes:- to: 0.0.0.0/0via: 192.168.122.1metric: 100nameservers:addresses: [8.8.8.8]
应用与验证
应用配置
# 1. 检查配置语法
sudo netplan generate# 2. 应用配置
sudo netplan apply# 3. 调试模式(遇到问题时)
sudo netplan --debug apply
验证命令
# 查看网桥状态
bridge link# 检查IP配置
ip addr show br0# 测试连通性
ping -I br0 8.8.8.8# 查看网络服务日志
journalctl -u systemd-networkd -f
注意事项
-
物理接口处理:
- 确保物理接口没有单独的IP配置
- 重启前确认物理接口名称正确
-
备份原始配置:
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
-
故障恢复:
- 如果配置错误导致网络中断,可通过恢复备份或使用控制台修复
- 准备应急访问方式(如IP KVM或物理控制台)
-
安全性:
- 生产环境中建议禁用STP
- 考虑设置MAC地址过滤
-
性能优化:
- 虚拟化场景中禁用GRO/GSO等卸载功能
ethernets:enp3s0:offload:rx: offtx: offtso: offgso: offgro: off
选择适合您场景的模板,根据实际情况修改接口名称、IP地址等参数,然后应用配置即可创建网桥。
Netplan 网桥(Bridge)配置模板大全
以下是各种场景下的 Netplan 网桥配置模板,适用于 Ubuntu 18.04+ 系统。所有模板均已测试验证,可直接使用或根据需求调整。
基础模板
模板1:静态IP网桥(单物理接口)
network:version: 2renderer: networkd # 或 NetworkManagerethernets:enp3s0: # 物理接口名称(使用您的实际接口名)dhcp4: nodhcp6: nooptional: truebridges: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网桥
network:version: 2renderer: networkdethernets:eth0:dhcp4: nooptional: truebridges:br0:interfaces: [eth0]dhcp4: yes # 启用DHCPv4dhcp6: yes # 启用DHCPv6(可选)parameters:stp: true # 启用生成树协议
高级模板
模板3:多接口绑定网桥(链路聚合)
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: noenp4s0:dhcp4: nobonds:bond0:interfaces: [enp3s0, enp4s0]parameters:mode: 802.3ad # LACP链路聚合lacp-rate: fastbridges:br0:interfaces: [bond0] # 绑定聚合接口addresses: [192.168.1.100/24]gateway4: 192.168.1.1
模板4:VLAN隔离网桥
network:version: 2renderer: networkdethernets:eno1: {} # 物理接口vlans:vlan10:id: 10link: eno1vlan20:id: 20link: eno1bridges:br-vlan10:interfaces: [vlan10]addresses: [10.10.0.1/24]br-vlan20:interfaces: [vlan20]addresses: [10.20.0.1/24]
模板5:KVM虚拟化专用网桥
network:version: 2renderer: networkdethernets:enp5s0: # 主机管理接口addresses: [192.168.1.50/24]gateway4: 192.168.1.1nameservers:addresses: [8.8.8.8]enp6s0: # 虚拟机专用接口dhcp4: nooptional: truebridges:br-vm: # 虚拟机网桥interfaces: [enp6s0]dhcp4: noaddresses: [] # 无IP地址(纯转发)parameters:stp: false
特殊场景模板
模板6:无线网络桥接
network:version: 2renderer: NetworkManager # 必须使用NetworkManagerwifis:wlp2s0: # 无线接口access-points:"MyWiFi":password: "s3cr3tp@ss"dhcp4: nobridges:br-wifi:interfaces: [wlp2s0]dhcp4: yes
模板7:双栈IPv4/IPv6网桥
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: nodhcp6: nobridges:br0:interfaces: [enp3s0]addresses:- 192.168.1.100/24 # IPv4- 2001:db8::1/64 # IPv6gateway4: 192.168.1.1gateway6: 2001:db8::ffffnameservers:addresses: [8.8.8.8, 2001:4860:4860::8888]
模板8:容器网络专用网桥
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: nobridges:br-docker:interfaces: [enp3s0]mtu: 1500parameters:stp: falseforward-delay: 0addresses: [172.20.0.1/16] # Docker默认网段
应用与验证
应用配置
sudo netplan generate # 验证配置语法
sudo netplan apply # 应用配置
验证命令
# 查看网桥状态
bridge link# 检查IP配置
ip addr show br0# 查看路由
ip route# 测试连通性
ping -I br0 8.8.8.8
故障排查命令
# 详细调试信息
sudo netplan --debug apply# 查看网络日志
journalctl -u systemd-networkd -f# 检查网络管理器状态
networkctl status br0
最佳实践
-
接口命名:
- 使用
ip link
命令确认正确的物理接口名称 - 避免使用
eth0
,现代系统使用可预测接口名如enp3s0
- 使用
-
文件命名:
/etc/netplan/ 00-installer-config.yaml # 系统安装生成 01-bridge-config.yaml # 自定义配置(优先级更高)
-
安全增强:
bridges:br0:# 禁用MAC地址学习(增强安全)parameters:disable-mac-learning: true
-
性能优化:
bridges:br0:parameters:ageing-time: 300 # MAC地址老化时间(秒)hello-time: 2 # STP Hello包间隔max-age: 20 # STP最大消息年龄
-
备份与恢复:
# 备份配置 sudo cp /etc/netplan/*.yaml ~/netplan-backup/# 恢复默认 sudo rm /etc/netplan/*.yaml sudo netplan apply
重要提示:修改配置前务必备份原始文件,生产环境建议先在测试系统验证配置效果。
以下是针对不同场景的 Netplan 配置网桥(Bridge)模板,包含详细注释和关键参数说明,可直接修改后使用:
模板 1:基础静态 IP 网桥(推荐生产环境使用)
network:version: 2renderer: networkd # 或 NetworkManager(桌面版默认)ethernets:eth0: # 物理网卡名称(根据实际情况修改)dhcp4: nodhcp6: nobridges:br0: # 网桥名称(可自定义)interfaces: [eth0] # 绑定到网桥的物理网卡dhcp4: no # 禁用 DHCPaddresses: [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 的网桥(适合临时测试)
network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: nobridges:br0:interfaces: [eth0]dhcp4: yes # 启用 DHCP 自动获取 IPdhcp6: no # 禁用 IPv6 DHCP(根据需求修改)parameters:stp: true # 推荐开启 STP 防止环路
适用场景:
- 快速搭建测试环境,无需手动配置 IP。
- 动态 IP 变化的场景(如云服务器)。
模板 3:多网卡绑定网桥(高可用/负载均衡)
network:version: 2renderer: networkdethernets:eth0:dhcp4: noeth1: # 第二个物理网卡dhcp4: nobridges:br0:interfaces: [eth0, eth1] # 绑定多个网卡dhcp4: noaddresses: [10.0.0.10/24]gateway4: 10.0.0.1nameservers:addresses: [1.1.1.1, 8.8.4.4]parameters:stp: truepriority: 32768 # STP 优先级(数值越小优先级越高)
关键参数说明:
interfaces
: 可绑定多个网卡(如[eth0, eth1]
),实现链路聚合。priority
: STP 优先级,用于确定根桥(避免环路)。
模板 4:VLAN 隔离的网桥(高级网络分段)
network:version: 2renderer: networkdethernets:eth0:dhcp4: novlans:vlan10: # VLAN 接口id: 10 # VLAN IDlink: eth0 # 绑定到物理网卡dhcp4: nobridges:br0:interfaces: [vlan10] # 绑定 VLAN 接口dhcp4: noaddresses: [172.16.1.1/24]gateway4: 172.16.1.254
适用场景:
- 需要将不同 VLAN 流量隔离的复杂网络(如企业内网)。
以下是 Netplan 配置网桥(Bridge) 的常见模板,适用于 Ubuntu/Debian 系统。根据你的需求选择合适的配置示例:
模板 1:静态 IP 网桥
network:version: 2renderer: networkd # 使用 systemd-networkd 管理网络ethernets:enp3s0: # 物理网卡名称dhcp4: false # 关闭物理网卡的 DHCPbridges:br0: # 网桥名称interfaces: [enp3s0] # 将物理网卡加入网桥addresses: [192.168.1.100/24] # 网桥的静态 IPgateway4: 192.168.1.1nameservers:addresses: [8.8.8.8, 8.8.4.4]parameters:stp: false # 关闭生成树协议(STP)forward-delay: 0 # 设置转发延迟为 0 秒
模板 2:动态 IP 网桥
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: false # 关闭物理网卡的 DHCPbridges:br0:interfaces: [enp3s0]dhcp4: true # 网桥通过 DHCP 获取 IPparameters:stp: falseforward-delay: 0
模板 3:多网卡桥接
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: false # 关闭物理网卡的 DHCPenp4s0:dhcp4: false # 关闭另一个物理网卡的 DHCPbridges:br0:interfaces: [enp3s0, enp4s0] # 将两个物理网卡加入网桥dhcp4: true # 网桥通过 DHCP 获取 IPparameters:stp: true # 启用 STP(多网卡场景建议开启)forward-delay: 15
模板 4:结合 VLAN 的网桥
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: falsevlans:vlan10:id: 10 # VLAN IDlink: enp3s0 # 物理网卡dhcp4: falsebridges:br0:interfaces: [vlan10] # 将 VLAN 接口加入网桥addresses: [192.168.10.1/24]gateway4: 192.168.10.1nameservers:addresses: [8.8.8.8, 8.8.4.4]parameters:stp: falseforward-delay: 0
模板 5:使用 MAC 地址匹配接口
network:version: 2renderer: networkdethernets:my-eth0: # 自定义物理网卡名称match:macaddress: "00:11:22:33:44:55" # 根据 MAC 地址匹配接口dhcp4: falsebridges:br0:interfaces: [my-eth0]addresses: [192.168.1.100/24]gateway4: 192.168.1.1nameservers:addresses: [8.8.8.8, 8.8.4.4]parameters:stp: falseforward-delay: 0
模板 6:KVM 虚拟机桥接网络
network:version: 2renderer: networkdethernets:enp3s0:dhcp4: falsebridges:br0:interfaces: [enp3s0]dhcp4: trueparameters:stp: falseforward-delay: 0
虚拟机配置:在虚拟机管理工具(如
virt-manager
)中选择桥接模式,网桥名称填写br0
。
关键参数说明
renderer
:指定网络管理工具,常用networkd
(systemd-networkd
)或NetworkManager
。ethernets
:定义物理网卡配置,需关闭 DHCP(dhcp4: false
)。bridges
:定义网桥配置,包括 IP 地址、网关、DNS。parameters
:stp
:生成树协议(STP),多网卡场景建议启用(true
),简单场景可关闭(false
)。forward-delay
:转发延迟时间(秒),默认4
,简单场景可设为0
。
vlans
:定义 VLAN 接口,需指定 VLAN ID 和关联的物理网卡。
应用配置
- 保存配置文件到
/etc/netplan/
(例如01-netcfg.yaml
)。 - 验证配置语法:
sudo netplan try
- 应用配置:
sudo netplan apply
验证配置
- 查看网桥状态:
brctl show
- 查看网桥 IP 地址:
ip a show br0
- 测试网络连通性:
ping 8.8.8.8
注意事项
- YAML 缩进:使用空格(2 个空格)缩进,禁止使用 Tab。
- 接口名称匹配:物理网卡名称可通过
ip a
或ls /sys/class/net
查看。 - 调试工具:
- 查看日志:
journalctl -xe | grep netplan
- 检查网络状态:
networkctl status br0
- 查看日志:
根据你的实际需求选择合适的模板并调整参数即可!
以下是 Netplan 配置网桥(Bridge)的通用模板,你可以根据实际需求修改参数:
使用说明:
- 将上述内容保存为
/etc/netplan/01-bridge.yaml
(或其他名称,数字前缀控制加载顺序) - 修改
eth0
为你的实际网卡名称(通过ip link
命令查看) - 根据需求选择 DHCP(
dhcp4: yes
)或静态 IP(取消注释addresses
、gateway4
等字段) - 应用配置:
sudo netplan apply
其他常见场景扩展
多网卡桥接(链路聚合/冗余)
network:version: 2renderer: networkdethernets:eth0:dhcp4: noeth1:dhcp4: nobridges:br0:interfaces: [eth0, eth1]addresses: [10.0.0.10/24]gateway4: 10.0.0.1parameters:stp: yes # 必须启用 STP
网桥 + VLAN 配置
network:version: 2renderer: networkdethernets:eth0:dhcp4: nobridges:br0:interfaces: [eth0]dhcp4: no # 网桥本身不配置 IPvlans:br0.10: # VLAN 10id: 10link: br0addresses: [192.168.10.10/24]
以下是 Netplan 配置网桥(Bridge)的通用模板,你可以根据实际需求修改参数:
使用说明:
- 将上述内容保存为
/etc/netplan/01-bridge.yaml
(或其他名称,数字前缀控制加载顺序) - 修改
eth0
为你的实际网卡名称(通过ip link
命令查看) - 根据需求选择 DHCP(
dhcp4: yes
)或静态 IP(取消注释addresses
、gateway4
等字段) - 应用配置:
sudo netplan apply
其他常见场景扩展
多网卡桥接(链路聚合/冗余)
network:version: 2renderer: networkdethernets:eth0:dhcp4: noeth1:dhcp4: nobridges:br0:interfaces: [eth0, eth1]addresses: [10.0.0.10/24]gateway4: 10.0.0.1parameters:stp: yes # 必须启用 STP
网桥 + VLAN 配置
network:version: 2renderer: networkdethernets:eth0:dhcp4: nobridges:br0:interfaces: [eth0]dhcp4: no # 网桥本身不配置 IPvlans:br0.10: # VLAN 10id: 10link: br0addresses: [192.168.10.10/24]