在去年年底,FreeBSD 引入了一个 WireGuard 内核模块。最初的 WireGuard 移植到 FreeBSD 是由防火墙公司 Netgate 赞助的, 但代码质量很差, 而且没有上游 WireGuard 开发者的参与。如今,那个 FreeBSD 的 WireGuard 内核代码正准备被一个更好的实现所取代。
WireGuard 的主要开发者 Jason Donenfeld 在一封电子邮件中解释了这一情况:"前段时间,一家知名的防火墙厂商委托一位开发者为 FreeBSD 编写 WireGuard。他们没有费心去查看这个项目,之后,所有的代码都被合并到了 FreeBSD 中"。
最近,Donenfeld 与 FreeBSD 的上游开发者,以及曾参与 WireGuard 向 OpenBSD 移植的 Matt Dunwoodie 开始合作,就一个改进的实现进行合作,这个实现也将与用户空间的 WireGuard 上游 工具 兼容。
Donenfeld 继续补充道:"我们三个人从头到尾地对实现进行了彻底的重构,我们每个人都推动提交,并通过代码来确保正确性。结果就是此次全新的 Wireguard-Freebsd 项目。这是一次不可思议的努力。合作的节奏非常快,也非常激动人心。Matt 和 Kyle 是了不起的程序员,而且和他们一起工作也很有趣"。
所以 FreeBSD 从现在开始有了全新的 WireGuard 内核实现。新的 WireGuard 的代码可维护性更强了,而且运行状态更好,与其他平台上的 WireGuard 相吻合。
不过,FreeBSD 13.0 已预定于本月底发布,由于时间上的原因,这个新的 WireGuard 模块似乎不会随 FreeBSD 13.0 一同在发布时启用。同样,考虑到之前的 WireGuard 模块的问题,它很可能在 FreeBSD 13.0 中被禁用。这个新的 WireGuard 模块可能会在 FreeBSD 13.1 中大放异彩, 但感兴趣的开发者如果愿意的话, 应该可以在 13.0 中反向移植它。
猜你喜欢: