ros 软路由异地组网

2020-08-07 10:46:00 +08:00
 whyorwhynot

楼主最近遇到了一个使用场景,需要让两地的局域网可以互相访问,于是寻找异地组网的方法。

因为是网络小白,网上搜了搜决定两地使用 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 的速度。想请教一下大家隧道是不是真的就这么慢,大家又是用的什么异地组网方案(开源、傻瓜最好了),能跑满千兆吗?

6674 次点击
所在节点    宽带症候群
21 条回复
Xusually
2020-08-07 10:50:12 +08:00
有没有可能是运营商协议限速,QoS ?
terrancesiu
2020-08-07 10:50:38 +08:00
我同城 3 点组网,全部用的 gre,没有加 ipsec,用最垃圾的 mikrotik 设备,也能跑 200m 上下行。你可以测下两地之间的 udp,如果 udp 很好,那么可以考虑 GRE over IPEsec 。
whyorwhynot
2020-08-07 10:59:16 +08:00
@Xusually 这个不会,因为两地都是走自建的大内网,ros 的 cpu 利用率也很高
whyorwhynot
2020-08-07 11:07:36 +08:00
@terrancesiu 换了 gre tunnel,测速 60mbps,cpu 利用率 85%。。
terrancesiu
2020-08-07 11:37:41 +08:00
@whyorwhynot 先用 ros 自带的工具针对公网 ip 进行 udp/tcp 端对端打流测测。也看看 cpu 。然后在隧道内进行端对端打流
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 測測看
chinawrj
2020-08-07 13:41:30 +08:00
wireguard ?估计 openvpn 都比你这个强。
yingfengi
2020-08-07 14:43:58 +08:00
为何不用 IPSec ?
cest
2020-08-07 14:45:45 +08:00
不会是用了 policy routing 又开了 fast track 吧
不过有 fast track, 60Mbps cpu 不该这麽高
reset, 做最简设置看看 cpu 用多高
mason961125
2020-08-07 18:53:53 +08:00
ros 现在还没 wg 支持吧,不过为啥不用 eoip 呢?
ericbize
2020-08-07 20:50:58 +08:00
ros 自带的 EOIP 可以达到使用场景, 跨越公网的时候考虑使用 ,l2tp, 应该速度可以了。

sstp 和 openvpn 的 cpu 消耗有点大, 我在云上面 双核 可以跑到 400Mbps 64 的小包, 你调一下别的参数试试
ericbize
2020-08-07 20:52:34 +08:00
pptp 使用的是 gre tunnel,eoip 也是使用 gre 封装的, 不知道重叠会不会很大损耗。 7.0 版本支持 vxlan,可以考虑去尝鲜, 反正虚拟机,不行就重启一台新的好了。
whyorwhynot
2020-08-07 22:14:39 +08:00
@kennylam777 ros 系统重置了,配置了 ipsec tunnel,参数都是默认,速度还是只有 60mbps 左右,iperf3 -M 1280 也是一样。折腾过程中调小了一个路由规则涉及的 ip 范围,iperf3 tcp 单线程速度可以跑到 500mbps 了。但是 udp 不知道为啥才 1mbps 。。。
jousca
2020-08-07 23:43:45 +08:00
@whyorwhynot 运营商对 UDP 有时候有 QOS 规则。因为那东西不像 TCP 有连接,也没有流控能力。
kennylam777
2020-08-08 03:12:58 +08:00
@whyorwhynot 很簡單,iperf3 udp default 1Mbps, 請用-b
mandymak
2020-08-08 08:35:16 +08:00
@whyorwhynot 千兆上下行?你的宽带是在境外?亲测 ros 实体 x86 pptp 跑满 300M 不成问题。
Actrace
2020-08-08 08:38:51 +08:00
openvpn 比较简单。现成的解决方案。
whyorwhynot
2020-08-08 15:19:49 +08:00
@kennylam777 惊讶
lin559671
2020-08-10 00:49:49 +08:00
@terrancesiu 最垃圾的 rb941 你跑个 200M 来看看。我反正各种协议死活过不了 60M
fastcache
2020-08-17 00:57:44 +08:00
不如用 SRv6

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

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

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

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

© 2021 V2EX