偷网指南和一些网络心得

最近网络服务商comcast地下的线缆有问题导致上不了网。报修说the fix could be as quick as two months. 因为要申请许可,然后用工程机械在路面下面施工。只能自救了。做了很多尝试,折腾了很多东西,把心得记录一下。

  1. 在发现Starlink排队要排到下半年以后,我们尝试的第一个方案是手机tether。技术框架就是 手机 <--Wifi--> 电脑。这里发现各家运营商差异巨大,att在室内可以到8mbps,comcast mobile和tmobile就只能2mbps,会都开不了。但即使是att也不是很稳定,经常出现延时巨大甚至卡顿的情况。我们后来选择了tmobile的50刀100G的套餐,最便宜。下面主要就是改善信号。
  2. 第二个方案是LTE modem。技术框架是 LTE Modem <--网线--> 电脑。这里LTE Modem自己也是个路由器,带路由和DHCP功能。这里的问题是单纯的LTE modem在室内信号也不好,显示0-1格信号,网速和手机相差不大。但购入大约11db的外置定向天线以后,可以在室内把信号撑到3格,网速涨到5mbps。器材结构变成了 定向天线 <--TS9连线--> LTE Model <--网线--> 电脑。
  3. 接下来我们发现室内外对信号影响还是蛮大的。在室外的话信号可以到4格,网速可以到10-15mbps。定量测量之后更是惊人。同样的天线朝向和位置,就单纯的从窗外移到窗内,位置变动1cm,LTE的信号可以变化20dB之巨。所以天线必须要放在室外了。但室外没有网线插口,又不想在墙上打洞传网线。所以就只能先把LTE Modem在室外接到一个老无线路由上,然后在家里用另一个无线路由桥接组网。器材的结构一下复杂了好多,变成了 定向天线 <--TS9连线--> LTE Model <--网线--> 无线路由 <--Wifi--> 无线路由当repeater用 <--网线--> 路由器 <--网线--> 电脑。这里为什么电脑端用了两层路由,是因为只用一层路由做客户端网桥的话,后面交换机连的家里的内网其他设备往往拿不到IP,还不知道是什么原因。因为LTE Modem不是专门的室外设备,所以要用个塑料袋套起来。用的是买的夏威夷面包的袋子,充满了热带风情。

Hawaiian rolls

  1. 但这样用了一段时间发现流量可能还是不够。我们已经办了3个unlimited套餐,每个月230G的tether流量,不想继续花钱了。所以就买了个偷网神器(tplink cpe710,BTW做工极差,但架不住便宜),用23db的定向天线对准200m外的xfinity wifi,根据信号强度精确调整指向。这下网速涨到了25mbps,流量焦虑也解决了,这个偷网设备本身就是防水的所以也不用特殊处理了。网络结构是 CPE710 <--网线--> 无线路由当AP用 <--Wifi--> 无线路由当repeater用 <--网线--> 路由器 <--网线--> 电脑。不同于LTE Modem,这里电脑端的路由器是必须的。这是因为公共Wifi桥接的话,设备直接就暴露在公开的网络里面,所以用了一个路由器+防火墙隔离内外网。
  2. 这样用了一段时间,发现公共Wifi的稳定性仍然不是很好。平时上网也许可以,但用来开会的话基本上5分钟要断一次。所以还是得需要两个网一起使用。但这样就带来一个问题,家里的无线设备不够用了,网桥弄不起来。于是我就把电脑端的无线路由刷成了OpenWRT,在上面用软件的方法实现了无线桥接,从而省出来一个无线路由在外面当AP。家庭内网因为隐私和可靠性的考虑连LTE网络,需要看视频,同步OneDrive的电脑连偷的Wifi,从而大致解决了用网的需求。也是考虑到可靠性的原因,也给器材们打印了一个盒子防雨,不用躲在塑料袋里面了。
  3. 又用了一段时间,发现OpenWRT无线网桥的稳定还是有问题。刚开始两天用的比较好,后面就需要不断重启,到最后甚至重启一次只能保10分钟平安,然后网桥就断开了。调研显示无线网桥就是没有什么稳定的软件方案。尝试了比如WDS透明网桥,Ubuntu的网络共享,手动配路由表转发等等,没有一个能用的。最靠谱的方法还是得用repeater。于是被迫上亚麻花了13块钱巨款买了个repeater。

Final solution

在整个过程中踩了很多很多的坑,折腾了一段时间,对网络设备的理解感觉更深刻了。以前玩的都是家用路由,其实是个交换机+AP+路由器+DHCP服务器+网关+防火墙的合体。这段时间对每个设备干的事情都有了更深的认识。比如每种设备拿来干什么,以及不再局限于设备本身来看待问题,而是会根据实际需求来组合硬件。比如现在回头看第5步的网络,其实室外可以用一台家用无线路由就解决问题。LTE Modem插LAN 1口,配成DHCP client;CPE710插WAN口,配成WAN,提供DHCP server服务。然后在系统里把LAN 1设成一个VLAN,和2.4G radio桥接。WAN设成另一个VLAN,和5G radio桥接。这样就可以一把提供所有功能。也就是这个家用路由器不再是“无线路由”一个东西,而是5个网口,2个radio,一个CPU。CPU可以干很多软件上的事情,比如桥接,路由,网段隔离,DHCP,防火墙等等。观念上改变以后,结合一些比较开放的系统比如OpenWRT,就可以做很多有意思的东西了。另一个例子是Multi WAN,也就是LTE和Wifi之间load balancing来同时使用增加网速,这个往往是比较高端的企业路由器才会提供的功能,但其实我们用家用路由通过合理编写路由表,或者直接使用一些库比如mwan3,也可以轻松实现这样的功能。

玩到了这一层以后下一步就会自然提出问题:家用路由器的硬件其实都比较弱鸡,就算用OpenWRT的话,不久也会碰到性能瓶颈。有没有可能自己攒机做路由器/网关呢?那是肯定的。我这里也没有什么经验,但有很多人自己组fanless机器装pfsense或者OPNSense来实现非常灵活的网络功能的。我自己因为时间限制不能折腾得过深,用了firewalla的菜鸟版路由也还行。

嘛,总之希望网络尽快修好吧。

Comments