8

偷网指南和一些网络心得

 3 years ago
source link: https://grapeot.me/network-proejct.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

偷网指南和一些网络心得

Sun 28 February 2021 , by grapeot | 0 Comments Network

最近网络服务商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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK