LVS内网穿透测试

简介

给朋友家用树莓派做了一个小web页,用来让他在外边用手机访问家里的移动硬盘,但是发现他家的光猫wan口虽然是公网IP,但却没有端口映射/DMZ功能,就想找找内网穿透的方案,花生壳之前用过,垃圾的一比,又得花钱,作为一个程序员,怎么能用这么low的方案呢?
找来找去,内网穿透的开源方案倒是不少(如ngrok,frp等),但都有性能瓶颈,也就是说:

如果在光猫可以正常映射的情况下,直接访问家里的服务器,理论带宽应该为家中网络的上传带宽
而如果用内网穿透,理论带宽就是公网服务器的上传带宽

再加上国内的服务器带宽实在太贵,所以想找个合适的方案,最终看到了lvs/tun模式,理论上讲,lvs搭配ddns,应该能实现我想要的功能,所以折腾一下,哪怕不成功,记录一下失败的原因也好。
lvs一般是作为负载均衡服务来使用的,但我看了看它的TUN模式,就是IP隧道模式,这个模式提到了三角通信的概念,就是说,

用户将请求发到公网服务器,经过服务器封装,发到业务服务器(这里的业务服务器就是家中的树莓派)
业务服务器收到请求,将响应直接发送给用户

这样做的好处就是:公网服务器只作为转发请求的通道,而请求数据一般都不会太大,1M的小水管感觉就够了,而响应则是家里的树莓派发出,无需走公网服务器,这样的话,理论带宽就是家中的上传带宽,很完美不是么。

声明

此文参考了以下内容
负载均衡之LVS TUN模式(IP隧道)
10. LVS: You can’t map (or rewrite) ports with LVS-DR, LVS-Tun or localnode (but you can with iptables)
LVS TUN
LVS负载均衡之LVS-TUN实例部署(案例篇)
LVS-TUN(Virtual Server via IP Tunneling)原理说明与配置用例
LVS负载均衡之基本介绍(介绍篇)
使用LVS+TUN搭建集群实现负载均衡
感谢以上作者提供的帮助,想看原文请自行跳转

您的支持将鼓励我继续创作!