跨 6 个屏幕点击 26 次,即可在 OPNsense 中添加一个 VLAN
在 OPNsense 防火墙上添加一个新的 VLAN(虚拟局域网)需要多少次点击?
没什么花哨的。就是一个普通的、基础的 VLAN,配上自己的 IPv4 地址段。
这应该需要多少次点击?也许两三次?要是我们够疯狂的话,五次?
每次我在 OPNsense 中添加新的 VLAN,这个过程都让我觉得莫名地繁琐,所以我决定精确测量一下在我的防火墙上添加一个简单 VLAN 到底需要多少次点击。
结果是:
- 26 次点击
- 71 次按键
- 6 个不同的屏幕 / 对话框
- 3 个不同的工作流程
而这还是在我还没配置任何防火墙规则之前!
我本可以用 Tab 键把其中一些点击换成按键操作,但我尽量贴近自己日常的操作习惯。
为什么这么繁琐?
这个过程中有太多步骤让我想问 OPNsense:“你就不能自己把这些搞定吗?”
每次我给 OPNsense 路由器添加 VLAN 时,我都得说:“其实,我想把它放在我的LAN 接口上,而不是你默认随机选中的那个断开连接的接口——就因为它的名字按字母顺序排在最前面”:

别逼我替你输入前缀
如果我胆敢输入一个任意的 VLAN 名称,OPNsense 就会抱怨,坚持要求我在名称前加上 vlan 前缀:

是你给了我一个任意输入框啊,OPNsense!如果你想要特殊前缀,就在你自己那端加上。别拉我来替你敲前缀。
说到替你敲前缀这件事,到了 DHCP 分配这一步,如果我试着把起始和结束地址段留空,你会给我四个单独的错误提示:

而且又一次,“from”和“to”两个字段里,我都得完整敲出 192.168.10.,尽管 OPNsense 明明知道这是我唯一能输入的有效前缀。你为什么不能帮我做这件事,OPNsense?更好的做法是,默认使用整个子网地址段,这样我就什么都不用敲了。
为什么这要分成三个独立的工作流程?
如果你没耐心看完整个视频,我告诉你:创建一个标准 VLAN,我实际上要走三个独立的工作流程:
- 创建 VLAN 设备。
- 为该设备创建一个 VLAN接口分配。
- 为该接口配置 DHCP。
可这不都是同一个 VLAN 吗?为什么不能就一个屏幕搞定?或者退一步说,至少做成一个连续的流程,而不是逼着我去翻遍整个 OPNsense 设置树去找下一个工作流程。
我心目中理想的 VLAN 创建流程是什么样的?
为什么 VLAN 创建流程就不能只是一个包含两个问题的对话框呢?

然后 OPNsense 可以:
- 默认我要启用刚创建的这个 VLAN。
- 默认这个 VLAN 是给我的 LAN 端口用的。
- 默认我要为它创建一个静态 IP 地址段,其中 tag 编号就是第三个八位组(例如 192.168.10.0/24)。
- 默认我要启用 DHCP,并使用该 /24 网段中所有可用的 IP。
其他所有选项都可以放到“高级”部分里,我很乐意,但为什么不直接用合理的默认值呢?
我能找到的每一篇关于在 OPNsense 中设置 VLAN 的指南用的都是这些设置,那为什么不干脆把它们设为默认值呢?
到这个地步,网页 UI 还有帮助吗?
OPNsense 本质上是 FreeBSD 工具的一层友好 UI 封装,其中最著名的是 pf 防火墙和 Unbound DNS 服务器。
我很感谢 OPNsense 帮我摆脱了 Linksys 出品的那些闭源、漏洞百出的家用防火墙生态,而且我已经当了四年的付费授权用户。
但我觉得,也许是时候离巢了:直接运行 OpenBSD 或 FreeBSD,再写一些简单的脚本来实现我想要的功能。运行这些操作系统并写一个这样的脚本似乎并不太难:
$ ./add-vlan --name='guest' --tag=10
Created VLAN "guest" with tag 10 and IP range 192.168.10.1 to 192.168.10.254随机一篇博客