V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
thereone
V2EX  ›  宽带症候群

复杂组网软件 Softether VPN 传输性能测试

  •  
  •   thereone · 2 天前 · 1410 次点击
    https://www.v2ex.com/t/1100777?p=1
    在发的这个帖子里面有人说道了 softether 性能不足,我对 softether 支持多大流量也有兴趣,就用我现有环境搭了一个测试环境,具体测试拓扑图和方法和结果如下,IPv6 实现底层互联全程加密,测试结果仅代表我的环境具体你的可以自行测试。这个组网可以实现非侵入式组网,openwrt 作为旁路就行只需要拿到 ipv6 地址,当然有公网 ipv4 也是一样的不过我是没有 ipv4 的公网。几个位置都用的 v6 做的组网。由于 L2 互通所以可以做复杂的组网,同时 softether 自带 acl 和各种策略,你可以同一个 l2 广播域然后在 acl 里面限制只让你要的 mac 地址通过,所以即使是同一个局域网也可以只让你自己设置的设备互访。同时还可以针对这个用户限速,比如跨城市 iptv 我就限制成 10mbps 防止 iptv 占用过多的上传。

    这个是我笔记本和台式电脑直连 iperf3 打流测试的结果,单线程可以跑满千兆,多线程就不测试了。测试设备只有 1G 的网卡

    测试方法和拓扑图如图,测试 L3 和 L2 以及 L2 带 vlan 标签的流量支持情况,拓扑图里面 OpenWRT-2 写的有点问题忘记更改了,L3 是 br-200 地址是 192.168.200.1/24 VPN 地址是 10.0.0.2/30

    下面是 Softether 配置截图,东西不是很多,配置一次就可以了。下面测试环境所有配置均在图形化界面配置,没有任何的命令行配置。十分的方便,只要 ipv6 可通和 5555 端口开放了,可以在任何地点进行图形化界面管理




    1 、L3 测试结果和部分配置截图
    1.1 、L3 测试环境的 OpenWRT-1 部分配置

    1.2 、L3 打流测试结果如下



    2 、L2 桥接测试结果和部分配置截图
    2.1 、OpenWRT 部分配置截图

    2.2 、L2 打流测试结果如下



    3 、L2 带 vlan 标签桥接测试结果和部分配置截图
    3.1 、OpenWRT 部分配置截图

    3.2 、L2 带 vlan2 标签打流测试结果如下



    最终结论如下
    单线程 多线程
    L3 组网测试速度 >500Mpbs >1000Mbps
    L2 组网测试速度 >500Mpbs >1000Mbps
    L2 带 vlan 标签组网测试速度 >500Mpbs >1000Mbps

    只要你有复杂组网需求我是推荐使用 softether 进行组网,在普通人上传都是 100M 左右的情况下是完全可以满足复杂组网需求的,如果你的网络上下行大于 1G 同时要单线程速度也大于 1G 那我就只能推荐你用其它性能高的 vpn 或者硬件 vpn 设备来做组网,具体软件实现单线程大于 1Gbps 加解密的 VPN 有哪些我没有测试过不太清楚。其它人有做别的 VPN 协议速度测试的也建议发一下,一起看看各个 vpn 软件的性能非翻墙的这种。

    PS:在 github 上面有人做过测试多线程是可以达到 1.5Gbps 的不过这是个 issue 反馈速度低,链接如下 https://github.com/SoftEtherVPN/SoftEtherVPN/issues/1944

    softether 支持的 vpn 协议如图
    第 1 条附言  ·  2 天前
    由于 OpenWRT 采用旁路部署 clash passwall 等都可以部署使用,这样异地打通同一个二层后你在 OpenWRT 上面新建一个这个二层的三层接口同时配置 IP ,然后下面设备通过修改网关指向这个三层接口的 IP 地址,既可实现通过这个 OpenWRT 设备实现出墙,同时两地都部署了 clash 和 passwall 等,可以修改接入设备的网关走不同城市的出口同时分流出墙。对于使用二层发现的应用也是可以正常使用。OpenVPN 通过拨入不同的 hub 可以获取不同的内网地址具体看你的二层是怎么做的,出墙分流也没有问题。
    15 条回复    2024-12-30 01:39:07 +08:00
    alect
        1
    alect  
       2 天前
    感谢科普。十多年前用过 softether ,后面觉得太过于复杂就放弃了。(也可能是因为当时太年轻不懂)
    MFWT
        2
    MFWT  
       2 天前
    看着不错
    OP 有尝试跨协议测试吗,比如说设备互联用 SE 自带的 SSL-VPN ,拨入的时候用 OpenVPN/L2TP 什么的,差别会大吗
    thereone
        3
    thereone  
    OP
       2 天前
    @MFWT #2 OpenVPN 不太好测试有些麻烦环境要重新修改,OpenVPN 软件我也要重新安装就直接说我现在实际再用的吧。异地宽带 100Mbps 上传我用 OpenVPN 拨入采用 tcp 协议接入跑满 100Mbps 没有任何问题。L2TP 我懒得搞了还要开放 1701 4500 500 这些端口同时由于使用 udp 协议在实际使用中会遇到运营商 qos 导致速度低下,我都是用的 OpenVPN 来移动接入。
    ltkun
        4
    ltkun  
       2 天前 via Android
    openvpn ?单节点用都觉得重,还是 wireguard 方便
    thereone
        5
    thereone  
    OP
       2 天前 via Android
    @ltkun wireguard 如果遇上运营商 qos 速度根本上不去不是没有使用过,这类 udp 协议的在国内最容易被 qos ,特别是现在这种开启了省间结算的环境。
    miemie666
        6
    miemie666  
       2 天前
    日常用 softether 组网,之前测试过同城两地 10G 光纤内网环境下,iperf3 打流,多线程、单线程都在 1.2gbps 左右。
    thereone
        7
    thereone  
    OP
       2 天前 via Android
    @miemie666 不错,你的环境能单线程多线程都 1.2Gbps 不知道是物理机装的吗?还是虚拟机做的啊,我这里都用的 esxi 的虚拟网卡没有用屋里网卡做。
    miemie666
        8
    miemie666  
       2 天前
    @thereone 两边都是虚拟机,在不丢包机延迟稳定的网络环境下建议关掉 udp 加速,可以跑到 1.5Gbps 。
    thereone
        9
    thereone  
    OP
       2 天前 via Android
    @miemie666 那你的物理机性能应该很好,udp 我实际使用中都是关闭的,防止运营商针对做 qos 。
    COW
        10
    COW  
       2 天前 via Android
    这玩意太复杂了,折腾半天都看不懂,可能我智商不够吧,openvpn 简单多了,半天就搞完了
    thereone
        11
    thereone  
    OP
       2 天前 via Android
    @COW 真不复杂,全部都是图形化界面操作没有任何命令行操作,各种功能自己做些实验就可以摸清楚了。当然如果是简单组网哪个用的顺手用哪个就是的了。
    MYDB
        12
    MYDB  
       2 天前 via iPhone
    搭个 trojan 这种支持 udp in tcp 的,比传统组网方式香多了,而且还可以用来给手机免流
    thereone
        13
    thereone  
    OP
       2 天前 via Android
    @MYDB 问题这个不支持 L2 组网啊,免流我没有需求每个月 200G 流量根本用不完而且每个地方都有 wifi 。轻量化使用的话你说的这个是没有问题。
    ranaanna
        14
    ranaanna  
       2 天前
    @thereone 20 年前出 softether 1.0 的时候用过客户端。10 年前 softether VPN 正式推出的时候就只是了解过没有用过。实现 ethernet over IP 隧道看起来似乎非常吸引人,但是看其文档 https://www.softether.org/4-docs/1-manual/3._SoftEther_VPN_Server_Manual/3.6_Local_Bridges ,似乎将 virtual hub 接入局域网的物理网卡最好是单独的,而且最好是不载入任何协议栈,否则会大大增加 CPU 负荷和减慢网络速度(见 3.6.3 ),而且原则上需要网卡和网卡驱动支持混杂模式(见 3.6.6 ,当然,一般是支持的,但比如 hyper-v 虚拟机的网卡默认是不支持的)。另外不知道在虚拟环境下的性能和开销如何,比如虚拟两张网卡分别用于 LAN 和 local bridge 是否可以提高性能,等等。总之在 wireguard 用得很好的情况下,并不太敢用这个
    thereone
        15
    thereone  
    OP
       2 天前
    @ranaanna 测试拓扑图看完你应该能看到我使用的就是虚拟网卡的且都是虚拟机除了测试设备,性能方面我没有记录不过 cpu 是 E3 1260Lv5 虚机给的 4 核 4G 我在打流的时候通过 top 简单观察过 cpu 占用没有超过 30%。性能占用不大,不过你既然 wg 用的好好的那就继续用就行,除非需求变复杂了或者有其他因素。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2709 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 07:33 · PVG 15:33 · LAX 23:33 · JFK 02:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.