UPDATE (13:40 ET / 2024-07-05): Got the connection working via SMB. Literally the only thing I changed was moving to a credentials file rather than specifying credentials inline, so … I’ll be trying to figure out what mystery affliction prevented the connection before. Leaving this up because there are a bunch of great suggestions for troubleshooting this issue in the comments. Thanks everyone.
ORIGINAL POST:
Currently pulling out my hair. I have a Synology NAS with the tailscale service (everything up to date). I have a NixOS client laptop, everything up to date.
I’m simply (?) trying to connect to a share via tailscale, and I have not managed to find anything that works. I’ve been using NFS, but I’m fine with SMB … or carrier pigeons at this point.
Does anyone know of a step by step, detailed, current tutorial to accomplish accessing a Synology share via tailscale on a linux device? I would not have thought this would be challenging!
Can you be more specific?
- What are you using to try and connect to the share?
- Can you ping the NAS over the Tailscale interface?
- If so, can you connect to port 445?
- Can any other devices also connect to the share?
- Declaring the NFS mount in my NixOS configuration; also tried manually mounting via
sudo mount -o nfs $TAILSCALEHOSTNAME:/$MOUNT /mnt/$MOUNT (with some options like no auto, but I’m doing this from memory)
- I’ll try but I have some idea that it won’t respond to ping
- I will try in a moment
- yes, on the local network (192.168.x.x) — and for the record I allowed access to the NFS share via the tailscale subnet
The error I am receiving differs depending on whether I’m connecting via CLI or, say, Nautilus but I’ll have to collect the errors when I’m back at the laptop.
My first guess is that using an actual hostname isn’t going to work for you if that hostname is served by your local network DNS (meaning, not using magicdns on tailscale), which you would not be on when connected via tailscale unless you override your DNS server once connected.
Try by IP instead. Give errors if that doesn’t work.
It’s the same error regardless of whether I connect by tailscale IP (100.x.x.x) or the tailscale hostname, and it strongly suggests an issue on the Synology, but everything looks correct on the NAS (but I am by NO MEANS an expert):
mount.nfs: access denied by server while mounting $IP:/volume1/$mount
Then you need to ssh into both devices and confirm they can both ping each other via the tailscale interface as a starter. That will at least shownif you have a routing problem.
Apologies for the delay. July 4th festivities and rescuing a kitten from a storm drain intervened (upside: we now have a kitten).
I can ping the NAS from the client on the Tailscale IP (100.x.x.x) and the tailscale hostname. If I SSH to the NAS, I cannot ping the client machine, but everything on the NAS is available from the client other than the NFS share (and I think I remember reading that the Synology tailscale client does not support ping).
I realize we’re sort of narrowing in on an NFS setting or possibly a firewall setting, and I appreciate your patience in going on this journey with me, but I have configured both according to, most relevantly, the tailscale documentation for connecting to a Synology NAS.
I don’t use synology but it kind of seems like the synology has an allowlist for subnets that can connect to it. Do you know what service is hosting the file share?
The allowlist for NFS allows the tailscale subnet and the local LAN subnet.
Does tailscale have a consistent subnet? Can you connect to the NFS share over the LAN net?
What’s wrong with SMB?
Nothing, but I’m experiencing substantially the same behavior attempting SMB.
Did this ever work?
Does pinging by IP address work?
Go to your settings look at security, is the firewall enabled? Tried disabling it for now
In settings and security is autoblock enabled? Try disabling it for now
https://tailscale.com/kb/1131/synology
Did you follow the DSM-7 task setup? In DSM-7 tail scale cannot allow outbound connections unless you set up the appropriate tunnel permissions.
- I have tried with firewall enabled and disabled (and added the rule for the enabled firewall)
- I will check autoblock. That’s one thing I haven’t checked.
- I followed the DSM-7 task setup.
All fantastic suggestions, btw, but my hair-pulling is coming from none of them working (other than autoblock). :)
Does ping work? Have you validated tailscale?
Check the iptables on the device.
If that doesn’t work it’s time to do tcpdumps on the different internal interfaces of the Nas and see where it stops
I have an off-site Synology that is also killing me trying to get it connected. Did you realize they don’t allow ssh on their VPN service?
I believe the Synology tailscale client doesn’t support tailscale SSH, but I was able to “classic SSH” into the NAS (remotely, via Tailscale) with no problem.