请教软路由相关问题

2017-08-27 22:09:40 +08:00
 unidentifiedme

主要需求是目前的 R6300v2 跑不满 200Mbps 的众所周知的某种服务,所以想考虑上软路由+NAS (不是强需求)。 考虑的解决方案是 ESXi 虚拟一个路由器和一个黑群晖,然后软路由连光猫,R6300v2 只作为 AP。

目前纠结在两种方案:

  1. 淘宝 N3700 (半)成品。优点是不用折腾,自带多个网卡,但是感觉扩展性略弱,并且是山寨主板(据称是工控板)。
  2. 自己 DIY N3150。华擎的 BGA 板子。优点是能硬解 HEVC,缺点是折腾和略贵。

方案 2,主要是多个 HEVC 硬解,我也有偶尔看 HEVC 的视频的需求,不过大部分时间也就是弄个 Plex 在 iPad 上看看。

主要是来这想问问玩过软路由的 dalao:

  1. 方案 1 靠谱么?感觉性价比很高的样子,但是比较担心山寨板子的质量。
  2. 有必要上个小的 SSD 作为系统盘嘛?
  3. 咨询了一下方案 1 的卖家,N3700 是可以满足 200Mbps 的 AES-256-CFB 加密的。N3150 应该也可以吧?

3150 方案主要参考这篇文章 https://saier.me/n3150-router/

9182 次点击
所在节点    路由器
36 条回复
xspoco
2017-08-27 23:47:15 +08:00
上小马 V5 吧
songdezu
2017-08-28 06:54:10 +08:00
@xspoco 这是什么?路由器和 nas 合体的产物?有没有更好的选择
waltcow
2017-08-28 08:37:47 +08:00
我现在用的是 华擎 n3150 + Ubuntu 16.04 + KVM + lede x64
lan894734188
2017-08-28 08:53:13 +08:00
RE6500 padavab 500m 测试通过 原生千兆跑满
carrionlee
2017-08-28 08:57:41 +08:00
我是 n3150 + 2012 server + hyper-v 方案
hyper-v 跑 openwrt,ubuntu server 和 黑群。
AES-256-CFB 性能没问题,plex 服务器转码性能倒是不够
gstqc
2017-08-28 09:20:14 +08:00
1. 稳定性还行,芯片集成度极高,其实主板主要是供电和 IO 了。
2. mSATA 之类的内部接口可以考虑上,SATA SSD 就算了。
3. N3150 支持 AES-NI,如果软件支持,跑几百 MB 肯定没问题

ESXi 并不支持 broadwell 的集显,如果出故障无法远程,只能摸黑处理。
另外 N3150, N3700 都不支持 VT-D,硬解在 ESXi 下毫无用处。
建议用 Proxmox,最起码有途径可以解决上面两点问题。
unidentifiedme
2017-08-28 13:54:39 +08:00
@gstqc 虚拟化一个路由和一个黑群晖的话,内存 4GB 够吗,还是要上 8GB ?
xspoco
2017-08-28 15:34:44 +08:00
@songdezu #2 可以单独做,软路由或 NAS,也可以合在一起。不过 nas 的话要换机箱吧。不然塞不下几个硬盘。
gstqc
2017-08-28 16:22:11 +08:00
@unidentifiedme 4G 足够了
Proxmox 本身要占 700M 左右内存
路由器 128-256M,黑群晖 1-2G,群晖的中端型号好像极少 2G 以上的内存
如果你还想跑一下解码、虚拟机、lxc 容器等,8G 当然更好

我的配置:
N3700 四核
8G 内存
4 千兆
16G mSATA+机械 SATA

主要用途:
1. 虚拟机跑软路由 LEDE,还有 SS
2. lxc 的容器跑 PT 下载,下载完需要保存的手动挪到 Gen8 的存储中,不需要保存的共享看完删
3. lxc 容器做测试,比如自己写的代码直接在容器里部署个环境跑,容器比虚拟机轻便很多
4. kvm 虚拟机做 kernel 层的测试,比如我要改 kernel、加 mod 等等,就在 kvm 虚拟机里跑
5. Proxmox 跑个 git,和 Gen8 同步。
通过 2 和 5,Gen8 可以少开机,毕竟 E3 CPU + 5 块硬盘空载都有 60W
enihcam
2017-08-30 13:29:48 +08:00
unidentifiedme
2017-09-06 11:13:30 +08:00
@gstqc 和你弄了差不多的配置,但是主要的需求还是没有达到,ESXi 虚拟化下的 LEDE 挂 Chacha20 的代理还是不能跑满 200Mbps,你试过能跑多少吗?(等待本身是没有问题的,我用 Surge 可以跑满
unidentifiedme
2017-09-06 11:33:53 +08:00
@gstqc 我发现 libev 版本自带了 iperf 测试脚本,晚上回去试试
gstqc
2017-09-06 12:20:19 +08:00
@unidentifiedme 用 AES-128-GCM 吧
Chacha20 在 N3150 N3700 下性能不是很好,另外也受服务器影响

另外你看下服务器的 CPU 是否支持 AES, AVX, AVX2

大多数加密方式在 N3150 的性能下肯定不止 25 MB/s 的加解密速度,你可以看下网络、网卡、网线是否达到这个性能
unidentifiedme
2017-09-06 17:18:11 +08:00
@gstqc
蛋疼的是这个加密模式不是我能控制的

我在同一个网络下,关闭 LEDE 上的透明代理,使用 Mac 上的 Surge 连接同一个服务器,能跑满 200Mbps (长时间跑 CPU 温度显著上升,看来即使移动低压版的 i5 应付这种情况也不是想象中那么轻松)

目前看来瓶颈只能是 CPU。回去跑跑 iperf 基本上就能确认了。

https://github.com/shadowsocks/shadowsocks-libev/issues/1242
gstqc
2017-09-06 18:57:30 +08:00
@unidentifiedme 用代理的方式测试下,瓶颈也可能是 ipset 或 iptables
unidentifiedme
2017-09-06 23:00:28 +08:00
@gstqc #15

带着代理测了一下,果然和实际速度差不多。瓶颈果然还是 CPU。
脚本在这
https://raw.githubusercontent.com/shadowsocks/shadowsocks-libev/master/scripts/iperf.sh

这是在 N3700 上( ESXi )
root@LEDE:~# sh iperf.sh 40960000 chacha20-ietf-poly1305

[ 3] local 127.0.0.1 port 40372 connected with 127.0.0.1 port 8387
[ 4] local 127.0.0.1 port 8388 connected with 127.0.0.1 port 36980
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 3.8 sec 39.1 MBytes 86.7 Mbits/sec
Waiting for server threads to complete. Interrupt again to force quit.
[ ID] Interval Transfer Bandwidth
[ 4] 0.0- 4.8 sec 32.8 MBytes 57.1 Mbits/sec


这是在 2015 MacBook Pro 13 上
❯ ./iperf_test.sh 40960000 chacha20-ietf-poly1305
Client connecting to 127.0.0.1, TCP port 8387
TCP window size: 144 KByte (default)
------------------------------------------------------------
[ 4] local 127.0.0.1 port 50396 connected with 127.0.0.1 port 8387
[ 4] local 127.0.0.1 port 8388 connected with 127.0.0.1 port 50398
[ ID] Interval Transfer Bandwidth
[ 4] 0.0- 0.5 sec 39.1 MBytes 727 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 4] 0.0- 0.5 sec 39.1 MBytes 703 Mbits/sec
Test Finished

大概是 10 倍左右的差距
gstqc
2017-09-07 14:39:25 +08:00
@unidentifiedme #16
cat /proc/cpuinfo

model name : Intel(R) Celeron(R) CPU N3150 @ 1.60GHz
flags : sse4_1 sse4_2 aes
# flags 支持 aes,其他信息省略掉了


shadowsocks-libev 3.0.8


sh iperf-ss.sh 1024M chacha20-ietf-poly1305

[ 4] local 127.0.0.1 port 8388 connected with 127.0.0.1 port 46898
[ 3] local 127.0.0.1 port 53200 connected with 127.0.0.1 port 8387
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-36.3 sec 1.00 GBytes 237 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-36.8 sec 1.00 GBytes 234 Mbits/sec


sh iperf-ss.sh 1024M aes-128-gcm

[ 3] local 127.0.0.1 port 53206 connected with 127.0.0.1 port 8387
[ 4] local 127.0.0.1 port 8388 connected with 127.0.0.1 port 46904
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-41.4 sec 1.00 GBytes 208 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-42.0 sec 1.00 GBytes 205 Mbits/sec


sh iperf-ss.sh 1024M aes-128-cfb
[ 4] local 127.0.0.1 port 8388 connected with 127.0.0.1 port 46912
[ 3] local 127.0.0.1 port 53214 connected with 127.0.0.1 port 8387
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-29.2 sec 1.00 GBytes 294 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-29.7 sec 1.00 GBytes 289 Mbits/sec
unidentifiedme
2017-09-07 17:04:17 +08:00
@gstqc 这就很奇怪了
那看来只能是 ESXi 的锅了
unidentifiedme
2017-09-07 17:36:09 +08:00
@gstqc 对了你是在你推荐的那个 kvm 环境跑的还是裸机?是 LEDE 嘛
gstqc
2017-09-07 18:12:29 +08:00
@unidentifiedme 容器里跑的,我弄个 KVM 试下

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

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

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

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

© 2021 V2EX