I’m running, at each of two locations, a Synology DS720+. These two locations are roughly a mile apart. At each location, I am accessing via SMB shares on each of the NASes and mapping them with a Windows drive letter. This has been MacGyvered by setting up Synology VPN Server on one of the NASes and remotely VPNing into it from the other NAS. In order to give a local Windows PC access to shares on the remote NAS, I have set up mount points to those remote shares on the local NAS. In effect, the Windows PC is accessing the shares on the remote NAS through two SMB connections operating in series.
My problem is that accessing files on the remote NAS can really slow down to a crawl. I do not believe this is due to internet connectivity. Both locations are using 1 Gbps connections over fibre both from Bell Fibe, a service of Bell Canada, and they both go back to the same central switching office. Additionally, I have a machine at one location that has an issue with its NIC in that 1 Gbps connections don’t seem to work (a project for another day) and it will only allow a max connection of 100 Mbps. Its connection to the local NAS doesn’t seem to be anywhere near as slow as files coming from the remote NAS to any of the local machines that can operate on the LAN at 1 Gbps.
I am wondering if this would be improved by using Synology routers to handle the VPN connection essentially merging the two networks. My understanding is that with such a setup the Windows PC can access directly the shares on the remote NAS just like on the local NAS avoiding this double SMB connection. I’m still not sure if it is this double SMB connection or the VPN from NAS to NAS that is the bottleneck. Could it be that there is too much latency in this setup?
So a huge slow down to your system is going to be 2x:
A huge piece of it is going to be the double SMB hop. Thats a massive slow down
Accessing an SMB connection over a high latency connection. SMB really was never designed to operate over the internet, and its a very chatty protocol
What I would do if I were you is I would use TailScale to do a direct connection in between the computers and the NAS units you are looking to access. This should really speed up your connection.
I agree SMB was never meant to be used over the internet.
Not sure I fully follow what your trying to share with/ between your remote NAS & clients machines. Have you tried using Synology Drive Sync to share the contend? The content is local and synced between the server and clients. A slow connection wont impact you as much this way. There’s a really good video on Spacerex on sharing lightroom catalogue between desktops/clients this way.
Synology Drive Sync is a good idea. I tried it out a year ago and found that speed is certainly no issue. While it may take a wee bit of time to sync after a change, it certainly has no slowdown to the user.
The deal breaker for me is that it breaks file-sharing restrictions. If I open a file, say an Excel workbook, from the local-to-me NAS and then someone else opens the same file in the remote location from the remote NAS, (s)he gets no “file in use” warnings. Furthermore, if I save my changes before this other individual saves his/her changes to the file, my changes get overwritten when (s)he saves the file. By using SMB the way I have it set up, file-sharing restrictions don’t break. it just introduces speed issues.
It would work well in situations where I am certain that no one else will be accessing the data on the remote NAS but for me, I have run into this very issue and have had to waste time redoing lost changes.
I haven’t had a chance yet to check out TailScale as Will has suggested so it is still a potential solution.
So one thing that was announced in DSM 7.2 was going to be global file locking in Synology Drive. This would emulate the “File in use” that you get over SMB, but now over drive!
No kidding. I have finally had a chance to install it on a couple of my PCs and access to data on the remote NAS doesn’t seem any slower than if it were the local NAS.
TailScale reminds me a bit of Hamachi from back in the day but handling the connections between specific devices behind the scenes. Just connect the device to your TailScale network and it handles the connections to whatever other machine on that network you need to connect to.
I even tested a remote desktop connection to a PC at the remote site. Works like a charm.
Will, have you done a video on TailScale? If not, I would recommend it.
I’ll have to test it out myself. I watched that Linus video that it’s also a way around the new crazy Netflix policies. Seems like the platform’s use cases just keeps growing and it’s so easy.