起因

公司网络限制了单个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库作罢.

Ubuntu下利用MWAN+LFTP解除单mac速度限制的更多相关文章

  1. 在ubuntu下利用minicom实现串口通信

    windos有串口调试助手,linux下也有这样的工具——minicom.不过,minicom和linux下的许多工具都一样,也是命令行模式,没有图形化界面供我们享受.作为一款串口调试工具,虽然难看但 ...

  2. 在Ubuntu下利用Eclipse开发FFmpeg配置小结

    首先需要编译FFmpeg得到头文件和lib文件,参见:在Ubuntu下编译FFmpeg 选择File-New-C Project 选择Executable下的Empty Project,右侧选择Lin ...

  3. Ubuntu下利用Apache转发模块实现反向代理

    Apache的反向代理主要利用转发模块,proxy和proxy_http 先配置 Apache 支持proxy 和 proxy_http 在Ubuntu系统下,Apache的配置文件在目录/etc/a ...

  4. Ubuntu下利用Mono,Jexus搭建Asp.Net(MVC) Web服务器

    最近在Ubuntu上搭建了Asp.Net的Web服务器,其中遇到很多问题,整理一下思路,以备后用. 搭建环境以及配套软件 Ubuntu: 11.10 Mono:3.0.6 下载地址(http://do ...

  5. 在 Windows 環境下利用 VNC 遠端控管 Mac OS X Server

    Mac OS Server 可以使用 VNC 來遠端控管.不過,在 Mac 上打開這個功能很簡單,要讓 Windows 的 VNC Viewer 連上卻很難,原來是有原因的. 首先我們來看怎麼在 Ma ...

  6. 在Ubuntu下利用Eclipse调试FFmpeg《转》

    参考原贴,其中编译命令有略微改动. 第一步:准备编译环境 #sudoapt-get update #-dev libspeex-dev libtheora-dev libtool libva-dev ...

  7. 在Ubuntu下利用Eclipse调试FFmpeg

    [编辑]第一步:准备编译环境 .tar.bz2 -2245/ ./configure -linux-i586.tar.gz 解压后得到jre1.7.0_17目录 最后通过java -version检查 ...

  8. ubuntu下利用docker搭建gitloab手记

    0.环境信息 ubuntu server 14.04 lts 64位版本 Docker version 17.05.0-ce, build 89658be 1.从阿里加速站下载gitlab sudo ...

  9. Ubuntu下利用vim搭建python开发环境

    1. 安装vim $ sudo apt-get install vim 2. 安装ctags,ctags用于支持taglist,必需! $ sudo apt-get install ctags 3. ...

  10. Ubuntu下用NdisWrapper安装网卡驱动

    下面是一个简单全面的使用NdisWrapper的指南.这是从Beginning Ubuntu Linux, Second Edition中提炼出来的. 这份指南是第8章的一部分.该章给出了在Ubunt ...

随机推荐

  1. Python学习之十六_virsh批量获取虚拟机IP地址的方法

    Python学习之十六_virsh批量获取虚拟机IP地址的方法 Linux命令说明 for j in \ $(for i in `virsh list |grep -v Id |grep runnin ...

  2. [转帖]Dockerfile中CMD和ENTRYPOINT命令详解

    https://www.jb51.net/article/136264.htm   Dockerfile中的ENTRYPOINT指令和CMD指令都可以设置容器启动时要执行的命令,但用途是有略微不同的. ...

  3. docker -- images镜像消失问题排查

    1. 问题描叙 安装model-serving组件时,错误日志输出push时对应的tag不存在,导致镜像推送失败 2. 问题排查 # 找到对应镜像,尝试手动推送 docker images|grep ...

  4. 大数据从业者必知必会的Hive SQL调优技巧 | 京东云技术团队

    摘要:在大数据领域中,Hive SQL被广泛应用于数据仓库的数据查询和分析.然而,由于数据量庞大和复杂的查询需求,Hive SQL查询的性能往往不尽人意.本文针对Hive SQL的性能优化进行深入研究 ...

  5. elemntui-tab添加图标

    <el-tabs :before-leave="moreState" v-model="activeName" @tab-click="hand ...

  6. 【解决了一个小问题】terraform apply 的时候出现访问 localhost 出错

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 有这样一段 terraform 的部署脚本: provid ...

  7. 【JS 逆向百例】WebSocket 协议爬虫,智慧树扫码登录案例分析

    关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后 ...

  8. C# MVC+NHibernate 分页

    一.页面代码,分为三部分,一是查询条件部分,二是数据部分,二是页码条 <div id="ticketoutquery"> <table> <tr> ...

  9. Windows10磁盘占用100%和内存占用高

    前言 公司配备了两台电脑,两台电脑都是安装的win10系统,一台是磁盘占用高,另一台是内存可用低. 具体情况如下: 一台外网机 8g内存,安装win10 专业版,开机一天后经常出现内存不够用,但其实都 ...

  10. TienChin 项目改造完善&项目结构分析

    项目改造完善 更改 Banner Banner 生成网站:https://bootschool.net/ascii 更改启动类中的 Banner !> 如果不生效,需要重新编译一下项目工程(出现 ...