Ubuntu下利用MWAN+LFTP解除单mac速度限制
起因
公司网络限制了单个mac地址的速度, 而日常经常需要从线上环境下载几个G的数据到本地, 通过FileZilla每次需要一个多小时, 非常不方便
解决方案
WAN聚合
本地网口连接OpenWRT路由器, 在上面配置MWAN创建多WAN口, 这样LAN口连接的设备可以得到聚合后的带宽
客户端
线上的服务器只有内网IP, 需要通过openvpn连接, 而后在FileZilla中通过SFTP连接下载, 这种方式只会使用单个连接, 最高速度依然受到单个mac地址的速度限制.
找到支持segmented sftp download的LFTP, 先执行 lftp sftp://user@ip:port 后在命令行下通过pget -n [分段数量] file进行下载, 但是速度依然没有提升, 因为连接是通过openvpn创建的, 而openvpn连接只有一个, LFTP的"多线程分段"其实都是在这一个连接中产生的, 无法达到利用多个WAN口的效果.
通过检查在FileZilla中并行下载多个文件的速度证实了上面的想法, 在一个openvpn连接下多进程下载是不能利用多WAN口带宽的, 流量都会固定在同一个VWAN上.
分别测试了TCP和UDP协议的openvpn连接, 情况是一样的, UDP协议的连接也会固定在一个VWAN口上.
将内网服务器的ssh端口映射到外网后, 绕过了openvpn, 此时通过lftp下载就将多个WAN口的带宽都用上了
尝试让lftp通过socks5 proxy连入内网服务器, 但是lftp需要重新编译, Ubuntu20.04下没有找到对应的lsocks5库作罢.