Hacker News 中文摘要

RSS订阅

利用FreeBSD 15的新桥梁 -- Using the new bridges of FreeBSD 15

文章摘要

FreeBSD 15引入了新的网桥实现,原生支持VLAN并禁止成员接口使用三层地址,使其更像硬件交换机。新版本优化了数据包处理,支持单一网桥管理所有流量,解决了旧版随成员接口增加性能下降的问题。旧版需为每个VLAN创建独立网桥,新设计简化了配置流程。

文章总结

FreeBSD 15全新网桥功能解析

FreeBSD 15引入了一套全新的网桥实现方案,其核心特性包括原生VLAN支持和更接近真实硬件交换机的行为模式。新系统通过net.link.bridge.member_ifaddrs参数控制是否允许成员接口保留三层地址,该参数将在FreeBSD 16.0-RELEASE中被彻底移除。

新旧方案对比

传统方案需要为每个VLAN创建独立网桥: 1. 为特定VLAN创建网桥 2. 在物理接口上创建VLAN虚拟接口 3. 将VLAN接口加入网桥 4. 所有成员通过该网桥访问对应VLAN

这种方案在管理多VLAN环境时配置繁琐,示例配置需要为每个VLAN编写大量重复代码。

创新方案则实现了单网桥管理多VLAN: shell ifconfig_bridge0="vlanfilter addm ix1 tagged 2,3,128" 关键点在于必须启用vlanfilter标志,否则添加带标签VLAN时会报错。

虚拟网络应用

VNET监狱系统的配置获得显著简化: - 传统依赖的jib脚本不再必要 - 新方案通过ether_gen_addr内核功能自动生成稳定MAC地址 - 作者开发了新脚本自动创建epair设备并加入网桥

Bhyve虚拟机的解决方案仍在完善中: - 当前通过预创建tap接口并手动加入网桥 - 需要在/etc/rc.local中添加配置语句 - 稳定MAC地址需在创建tap接口时指定

注:使用epair设备时需要设置-vlanhwfilter参数

新网桥方案显著提升了管理效率,特别是在多VLAN环境中。虽然部分功能(如路由器单臂模式支持)仍需完善,但整体上为FreeBSD网络管理带来了更接近专业网络设备的体验。

(注:原文中关于具体配置细节和错误处理的部分技术内容已作简化处理,保留了核心功能说明)

评论总结

没有有效评论