网络透传软件
远程办公第三周,网络我盯着屏幕上那个死活连不上的透传内网数据库,终于忍不住砸了下键盘。软件公司VPN的网络延迟飙到800毫秒,每敲一条查询都要等上十几秒,透传这活儿没法干了。软件隔壁工位的网络老王探过头来,扔给我一个不到2MB的透传小工具:“试试这个,透传的软件,比VPN快十倍。网络”三分钟后,透传我通过一个加密隧道直接连上了深圳机房的软件MySQL,响应时间稳定在40毫秒以内。网络那一刻我才意识到,透传网络透传软件这东西,软件远比我想象的要野蛮生长。 透传,说白了就是“透明传输”。它不像VPN那样在系统层面虚拟出一块网卡,也不像代理那样需要应用层配合。透传软件通常工作在内核态或驱动层,把原始数据包原封不动地从一个网口搬到另一个网口,或者从物理网卡搬到虚拟隧道里。中间不做协议解析,不搞NAT转换,连TCP/IP栈都绕过去了。你在这头插上网线,那头就像直接插在同一个交换机上——物理隔离的网络被硬生生拉到了一起。 我最早接触透传是在2016年,一家做工业控制的朋友需要远程调试PLC。厂区在昆山,工程师在上海,中间隔着三层防火墙。他们试过端口映射、试过VPN、试过TeamViewer,全都不稳定。后来用了一款叫“NetTrans”的透传工具,直接把PLC的串口数据封装成以太网帧,通过UDP隧道扔到公网服务器上,上海那边再解包还原成串口信号。延迟不到5毫秒,连续跑了三年没掉过线。那套系统至今还在用,界面丑得像Windows 98,但稳得让人无话可说。 透传软件的分类其实挺乱的。按工作层级分,有链路层透传(比如ARP代理、MAC-in-MAC)、网络层透传(IP-in-IP、GRE)、传输层透传(TCP隧道、UDP打洞)。按部署方式分,有软件客户端、硬件盒子、甚至FPGA加速卡。我见过最野的方案,是有人用树莓派刷OpenWrt,配了个叫“socat”的命令行工具,硬是把两个不同城市的局域网桥接在了一起。成本不到300块,延迟比某些商用SD-WAN还低。 但透传不是没有代价。它最大的问题是“透明”本身带来的安全黑洞。VPN至少还有认证和加密,透传如果配置不当,等于把内网直接暴露在公网上。去年有个做医疗影像的客户,为了图省事,用透传软件把PACS系统映射到了公网,结果被勒索病毒加密了全部病历。后来查日志发现,攻击者就是通过透传隧道直接扫描到了内网的SMB端口。透传软件通常不处理应用层协议,防火墙规则也管不到隧道内部,一旦隧道建立,内网就完全裸奔了。 另一个坑是MTU。透传封装会增加额外的包头,如果隧道两端MTU不一致,大包就会被丢弃。表现就是小文件传输正常,一传大文件就卡死。我调试过最诡异的一次,ping通、SSH通、HTTP小页面能打开,但一上传超过1400字节的数据就断流。折腾了一下午才发现是中间某台路由器的MTU被改成了1400,而透传软件没有做分片处理。这种问题在VPN里很少见,因为VPN协议栈会自动协商MSS。 现在市面上透传软件越来越多,开源的如WireGuard(虽然它更接近VPN)、frp、n2n,商用的如ZeroTier、Tailscale(底层用了WireGuard但做了透传优化)。我个人的判断是:如果你需要低延迟、点对点、不关心加密强度的场景,透传是首选;如果你需要跨平台、多用户、审计日志,还是老老实实上VPN。透传软件就像一把没护手的匕首——快,但容易割到自己。 老王那个工具我后来查了下,叫“UDPspeeder”,配合“udp2raw”做伪装,能把丢包率30%的线路优化到几乎无感。他现在用它来打外服游戏,延迟从200毫秒降到了80毫秒。我问他不怕被封号吗,他嘿嘿一笑:“透传嘛,运营商根本看不出来是游戏流量。”这大概就是透传软件最真实的写照——在规则的缝隙里,用最粗暴的方式解决最实际的问题。