要说Homelab的话,能说个一天一夜还停不下来。作为系列里的第一篇文章,竟然是一个排错文。
Homelab和和普通数据中心一样,硬件部分也分三大件:计算、存储、网络。在计算机硬件极其便宜、存储极其便宜、家用宽带也极其便宜的情况下,家庭数据中心的主要成本还是运营成本,即人的维护成本。
这不,家庭的主路由器又出问题了。
为了测试Nessus的扫描能力,又不想在公司的管控环境中做这个事情,于是在家庭的PVE中克隆了一个虚拟机装上Nessus,一扫描发现不对了。竟然所有的端口都是开放的!
太长不看版
关掉爱快的 开启增强分流功能即可
背景
家里在之前使用的是 R4S,一个比较热门的国产软路由,刷了openwrt固件,但是有一天晚上,回家之后竟然不能上网!
具体表现为LAN-LAN可通,LAN->WAN不可通,路由器到WAN可通。
遇上第二天又有ddl,当晚又得恢复网络又得赶工作进度,真是十分心塞。于是紧急下单了一台iKuai的企业级路由器。
机器本身不错,做工也结实,各种有用没用的功能也很齐全,但是竟然出现了端口全开的故障,TCP通信被劫持了。
回到家,抓包分析之。
问题复现/排错
测试方式:在LAN口的机器(192.168.11.8)上使用nc 连接 1.1.1.2 的1112端口,同时在爱快路由器上抓包。
从iKuai的WAN口数据看,一切正常,公网的出口尝试连接1.1.1.2 的1112端口(一肯定不开放的端口),对方无响应之后触发重传。
对iKuai的LAN口进行抓包,这个抓包数据看就不正常了,如下图,竟然返回了Syn+ACK。
百思不得其解,从爱快后台中找各种开关,也没有思路。就在差点要放弃的时候。发现一个隐蔽开关,开启增强分流。没错,关掉这个就好了。
这个增强分流的方式,我估计是:路由器LAN口劫持TCP流量,在WAN口自己维护一个流量状态机,然后按需转发给对应的LAN地址。
这种破坏TCP协议栈的东西,显然存在应用的兼容性问题:LAN口TCP握手成功之后,会尝试发送数据包,进行TCP重传等一系列行为,影响程序性能,造成网络内无用的数据包传输。
结语
Homelab极致的成本优化带来了很多的维护成本。后续我也抛弃了性能赢弱的爱快路由器,换上了更为纯粹的TPLink企业级一款企业级路由器。我在下篇文章再来聊这个新的路由器,好不好,以及为什么好。