I have a TP-Link ER605 v2 router, which I re-flashed to bare OpenWRT. The physical WAN speed is about 850-900 Mbps. I installed ZeroTier on the router and between even very close hosts, between which the ping is 1-2 ms, the ZeroTier speed barely exceeds 10 Mbps, while the ping to the host grows to 80-100 ms, and htop shows that zerotier takes up 100% of one of the four cores. At the same time, I have a virtual machine, also on OpenWRT, where there are no problems with ZeroTier
The ER605 uses a pretty low powered SoC, so the performance ultimately won’t be great. With that said, the throughput will always be low (though could maybe be higher than 10Mbps), but if the pings between devices are always high, including when the system isn’t loaded, that could indicate you’re being relayed.
Check your peers to see if you’re being relayed:
zerotier-cli peers
zerotier-cli listpeers --> Might be needed if the version is very old
the link is direct and the ping in zerotier is also 1-2ms, like in phys network
Gotcha! Then unfortunately 10Mbps may just be what it’s capable of doing. Zerotier is primarily single threaded, and since you’re seeing a core get maxed out, it’s likely hitting a limit of the slow clock speed of the SoC. There may be a few things to try to squeeze a little more throughput out of it, but I’d say if you need more throughput to upgrade to something else.
One more note on performance, with the device having an SoC, I wouldn’t be shocked if the native OS had hooks for offloading things like NAT, Firewall, Routing, etc… This could also be contributing to the slow performance if OpenWRT now has to do everything on a general use core instead of being offloaded to hooks on the SoC.
Here’s some things you can try:
- You may be experiencing fragmentation leading to slow speeds. You can see if packets are getting fragmented and adjust MTU until the fragmentation is gone.
- Since the raw speed of the interfaces and the max speed zerotier can do are so different, you could benefit from applying a shaper to the zerotier interface to smooth out TCP performance. Start at 10Mbps and keep bumping it up until performance no longer increases.
- I sincerely doubt this one, but if the version of zerotier you’re using is new, then you may be able to implement multithreading support. If the version is at least
1.14.1
, then you can add"multicoreEnabled": true
to yourlocal.conf
. But I’m going to guess you’re likely on an old version when running OpenWRT on MIPs.
Actually I’ve installed the latest version of ZeroTier. it’s 1.14.1. And I also have tried to enable multithreading. Unfortunatelly, it didn’t do better at all
Then unfortunately you’re just at the limit of the device. If more throughput with zerotier is important to you, I would look into something with a little more power.
Could you recommend which routers support ZeroTier well? Routers with OpenWRT support or pre-installed with this OS are a priority
The products from Gl.iNet come with OpenWRT installed (and ZeroTier pre-installed): https://www.gl-inet.com/
My preferred product is actually to buy Mini PCs to use as routers. They’ll not be quite as low power as something using a SoC, but it will generally have a fair bit more performance. You usually give up a bit of port-density with mini PCs however, so you may need to also get a small managed switch to go with it if you need more than 2 ports.
Lots of different multiport routers with “proper” CPUs available from the usual suppliers. OpenWRT works on x86 too, although I have not used it myself.
Hi can you help me setup my er605v2 ,I have 2 er605 I need to access device connected on both router thru 1 of the router…
Hi. I can’t really get what you’re trying to achieve. Could you provide more details and what’s your issue?
Can’t find a tutorial on how to connect 2 router in zerotier…
My setup is as follow
Router 1 is at remote site and I bring router 2 with me anywhere I go with a radio connected to it…how do configure this 2 router so that I can power my radio at remote site thru router 2…
In detail
Router 1 192.168.31.b zt manage ip 10.100.10.x
Router 2 192.168.30.x zt manage ip 10.100.10.a
What’s next?
What’s the mask in your virtual network?
UPD: You know, let’s go DM. Do you have Telegram or Discord?
It says /24…not so sure
Hey, I’m using Telegram to chat. Join me! Download it here: https://telegram.org/dl
+63 993 452 9613