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

264 天前
 thereone
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 协议如图
2975 次点击
所在节点    宽带症候群
19 条回复
alect
263 天前
感谢科普。十多年前用过 softether ,后面觉得太过于复杂就放弃了。(也可能是因为当时太年轻不懂)
MFWT
263 天前
看着不错
OP 有尝试跨协议测试吗,比如说设备互联用 SE 自带的 SSL-VPN ,拨入的时候用 OpenVPN/L2TP 什么的,差别会大吗
thereone
263 天前
@MFWT #2 OpenVPN 不太好测试有些麻烦环境要重新修改,OpenVPN 软件我也要重新安装就直接说我现在实际再用的吧。异地宽带 100Mbps 上传我用 OpenVPN 拨入采用 tcp 协议接入跑满 100Mbps 没有任何问题。L2TP 我懒得搞了还要开放 1701 4500 500 这些端口同时由于使用 udp 协议在实际使用中会遇到运营商 qos 导致速度低下,我都是用的 OpenVPN 来移动接入。
ltkun
263 天前
openvpn ?单节点用都觉得重,还是 wireguard 方便
thereone
263 天前
@ltkun wireguard 如果遇上运营商 qos 速度根本上不去不是没有使用过,这类 udp 协议的在国内最容易被 qos ,特别是现在这种开启了省间结算的环境。
miemie666
263 天前
日常用 softether 组网,之前测试过同城两地 10G 光纤内网环境下,iperf3 打流,多线程、单线程都在 1.2gbps 左右。
thereone
263 天前
@miemie666 不错,你的环境能单线程多线程都 1.2Gbps 不知道是物理机装的吗?还是虚拟机做的啊,我这里都用的 esxi 的虚拟网卡没有用屋里网卡做。
miemie666
263 天前
@thereone 两边都是虚拟机,在不丢包机延迟稳定的网络环境下建议关掉 udp 加速,可以跑到 1.5Gbps 。
thereone
263 天前
@miemie666 那你的物理机性能应该很好,udp 我实际使用中都是关闭的,防止运营商针对做 qos 。
COW
263 天前
这玩意太复杂了,折腾半天都看不懂,可能我智商不够吧,openvpn 简单多了,半天就搞完了
thereone
263 天前
@COW 真不复杂,全部都是图形化界面操作没有任何命令行操作,各种功能自己做些实验就可以摸清楚了。当然如果是简单组网哪个用的顺手用哪个就是的了。
MYDB
263 天前
搭个 trojan 这种支持 udp in tcp 的,比传统组网方式香多了,而且还可以用来给手机免流
thereone
263 天前
@MYDB 问题这个不支持 L2 组网啊,免流我没有需求每个月 200G 流量根本用不完而且每个地方都有 wifi 。轻量化使用的话你说的这个是没有问题。
ranaanna
263 天前
@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
263 天前
@ranaanna 测试拓扑图看完你应该能看到我使用的就是虚拟网卡的且都是虚拟机除了测试设备,性能方面我没有记录不过 cpu 是 E3 1260Lv5 虚机给的 4 核 4G 我在打流的时候通过 top 简单观察过 cpu 占用没有超过 30%。性能占用不大,不过你既然 wg 用的好好的那就继续用就行,除非需求变复杂了或者有其他因素。
mikaelson
57 天前
是不是两端的服务器都要装 vpnserver 端。不能装 client
thereone
57 天前
@mikaelson 是的,不需要装 client 因为 server 包涵了 client 的所有功能。
mikaelson
57 天前
@thereone #17 好的,我在一端装了 server ,配了 hub ,我试试另一段装一个看看怎么连。。。
mikaelson
56 天前
@thereone #17 有点懵,感觉哪里没捋对,搞不成功。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1101054

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX