Zhang Tai | 张泰

pfSense to OPNsense

April 15, 2020

背景概述

4月初家里装了第二条宽带,联通。之前一直拒绝联通客服提出的免费送宽带福利,但是在过年回东北隔离在家上班的时候,发现家里的联通网络连接 VPN 的速度和稳定性明显好于电信,所以一回到广州就主动找联通联系安装了,实测有200M+的速度,虽然客服说100M。不过速度什么的不那么重要了,因为之前的500M电信宽带也完全够用了,不过联通的致命缺点是,没有公网IP。接下来就是想怎么把两条宽带完美结合起来了。

当时家里的网络设备情况是:

  • 电信光猫
  • 联通光猫
  • 华硕 GT-AC5300 路由器
  • H3M 无线路由器
  • pfSense(虚拟机,跑在 Dell R720 服务器上)

客户端太多了,主要分以下几类:

  • 电视、机顶盒:电信,因为所有观看的内容都是国内资源,联通无法很流畅的看 4K 视频
  • 智能家居设备:无所谓
  • 个人电脑、手机、平板:联通,经常浏览学习外网资源
  • 服务器、虚拟机、NAS:
    • 联通,访问 Docker、Github 等资源
    • 电信,Port Forward 访问内网 NAS/服务器等设备,联通不行

第一阶段配置

pfSense 肯定是支持多宽带连接的,甚至我的路由器GT-AC5300(Merlin系统)也是原生支持多宽带接入,而且都有Load Balance和Fail Over选项,但是两个都在简单的尝试后放弃了:

  • 在虚拟机上跑软路由太累心了,首先虚拟机关闭或者重启的时候连接服务器就是很大问题,曾经有一次虚拟机没有设置自动启动搞得焦头烂额。而且一调试起来,家里人都不能上网... 这些经历虽然让我更了解了 ESXi 系统和虚拟机的运行逻辑,但是真的不想在经历了。
  • GB-AC5300 太简单了,两个模式都是都无法让我随心所欲的设置设备和网关的关联。毕竟只是路由器软件,防火墙的功能太弱了。

于是,我选择了,放弃。用最简单粗暴的方法:继续用 pfSense 做路由器连接电信网络,GT-AC5300做AP(虽然有点浪费),H3M 路由器连接联通网络,子设备根据自己需求选择要连接的网络。就这样,虽然宽带资源和硬件资源都没有充分发挥到作用,不过不折腾。

最大的缺点是服务器的网络连接,连接电信的话安装软件太慢,难受;连接联通的话,外网又访问不到,于是...

第二阶段配置

所以我想弄一台独立的软路由服务器,并且换个防火墙系统,pfSense 的更新太慢了,2.5版本都开发一年了还没出来,所以我决定试试 OPNsense,而且它还是开源的。翻出一个旧的台式机,i7-7500, 16GB DDR4,256GB NVMe,再加一个闲置的双网口显卡,正好三个网口,两个 WAN 一个 LAN。根据官方文档很快就设置好了 Load Balance 和 Fail Over。后来才发现这两个功能我都不需要,直接在防火墙规则里面设置就可以了。这是我的配置。

觉得可行后,我买了台软路由服务器。1000元,配置:3965u处理器,8GB内存,120GB SSD。这配置有点过剩,但是低一半的配置才便宜几十块钱,所以还是选它了,性能比我现在的 NAS 服务器(Synology DS216+II)强很多(CPU 对比)。最主要的是有6个网口,功耗又低,12V 2A的电源都够用了。

Return to blog