楼主最近遇到了一个使用场景,需要让两地的局域网可以互相访问,于是寻找异地组网的方法。
因为是网络小白,网上搜了搜决定两地使用 RouterOS Cloud Hosted Router 虚拟机建立 pptp 隧道,搭建旁路网关,宿主机为 e5-2670v3 的服务器,配置了 8 个 vcpu 。
经过一番折腾网络终于通了,但是使用 iperf3 测速,发现只有 60mbps 的速度(两地间带宽都是千兆的上下行),测速时 ros 显示 CPU 使用率达到 80%,查询了 ros 官网,根据 https://rickfreyconsulting.com/mikrotik-vpns/ pptp 隧道貌似就这么慢,这与我的直觉差距很大,因为使用 openwrt 透明路由转发可以达到 500mbps 的速度。ros 官网指出 ipsec 的速度很快,但是搜索的 ros ipsec 教程都是 ip tunnel 之类的,搭建了 ip tunnel 隧道依旧是不到 100mbps 的速度。想请教一下大家隧道是不是真的就这么慢,大家又是用的什么异地组网方案(开源、傻瓜最好了),能跑满千兆吗?
1
Xusually 2020-08-07 10:50:12 +08:00
有没有可能是运营商协议限速,QoS ?
|
2
terrancesiu 2020-08-07 10:50:38 +08:00
我同城 3 点组网,全部用的 gre,没有加 ipsec,用最垃圾的 mikrotik 设备,也能跑 200m 上下行。你可以测下两地之间的 udp,如果 udp 很好,那么可以考虑 GRE over IPEsec 。
|
3
whyorwhynot OP @Xusually 这个不会,因为两地都是走自建的大内网,ros 的 cpu 利用率也很高
|
4
whyorwhynot OP @terrancesiu 换了 gre tunnel,测速 60mbps,cpu 利用率 85%。。
|
5
terrancesiu 2020-08-07 11:37:41 +08:00
@whyorwhynot 先用 ros 自带的工具针对公网 ip 进行 udp/tcp 端对端打流测测。也看看 cpu 。然后在隧道内进行端对端打流
|
6
kennylam777 2020-08-07 11:37:55 +08:00
自建的大內網,根本就是 IPSec Site-to-Site tunnel 的理想場境, GRE over IPSec 應該是不用的,以這樣的 CPU 即使沒有 AES-NI 都應該能跑 500Mbps 。不要用 PPTP 了這東西是過時的,而且主要是 client-to-site 的 NAT 方案,跑 Site-To-Site 是自討苦吃。
只問一句,IPSec tunnel 內的 MTU 值是?有做 MSS Clamping 嗎? 可以在 client 先用 iperf3 -M 1280 限住 MTU 測測看 |
7
chinawrj 2020-08-07 13:41:30 +08:00
wireguard ?估计 openvpn 都比你这个强。
|
8
yingfengi 2020-08-07 14:43:58 +08:00 via Android
为何不用 IPSec ?
|
9
cest 2020-08-07 14:45:45 +08:00
不会是用了 policy routing 又开了 fast track 吧
不过有 fast track, 60Mbps cpu 不该这麽高 reset, 做最简设置看看 cpu 用多高 |
10
mason961125 2020-08-07 18:53:53 +08:00 via iPhone
ros 现在还没 wg 支持吧,不过为啥不用 eoip 呢?
|
11
ericbize 2020-08-07 20:50:58 +08:00 1
ros 自带的 EOIP 可以达到使用场景, 跨越公网的时候考虑使用 ,l2tp, 应该速度可以了。
sstp 和 openvpn 的 cpu 消耗有点大, 我在云上面 双核 可以跑到 400Mbps 64 的小包, 你调一下别的参数试试 |
12
ericbize 2020-08-07 20:52:34 +08:00
pptp 使用的是 gre tunnel,eoip 也是使用 gre 封装的, 不知道重叠会不会很大损耗。 7.0 版本支持 vxlan,可以考虑去尝鲜, 反正虚拟机,不行就重启一台新的好了。
|
13
whyorwhynot OP @kennylam777 ros 系统重置了,配置了 ipsec tunnel,参数都是默认,速度还是只有 60mbps 左右,iperf3 -M 1280 也是一样。折腾过程中调小了一个路由规则涉及的 ip 范围,iperf3 tcp 单线程速度可以跑到 500mbps 了。但是 udp 不知道为啥才 1mbps 。。。
|
14
jousca 2020-08-07 23:43:45 +08:00
@whyorwhynot 运营商对 UDP 有时候有 QOS 规则。因为那东西不像 TCP 有连接,也没有流控能力。
|
15
kennylam777 2020-08-08 03:12:58 +08:00 via iPad
@whyorwhynot 很簡單,iperf3 udp default 1Mbps, 請用-b
|
16
mandymak 2020-08-08 08:35:16 +08:00
@whyorwhynot 千兆上下行?你的宽带是在境外?亲测 ros 实体 x86 pptp 跑满 300M 不成问题。
|
17
Actrace 2020-08-08 08:38:51 +08:00
openvpn 比较简单。现成的解决方案。
|
18
whyorwhynot OP @kennylam777 惊讶
|
19
lin559671 2020-08-10 00:49:49 +08:00 via Android
@terrancesiu 最垃圾的 rb941 你跑个 200M 来看看。我反正各种协议死活过不了 60M
|
20
fastcache 2020-08-17 00:57:44 +08:00
不如用 SRv6
|
21
thtznet 2020-08-24 17:11:52 +08:00
你问题解决了么?我最近也发现用 IP Tunnel 连接 2 端,测试速度只有 2 ~ 4 Mbps(家宽),于外网上行差距巨大。
|