Hi everyone! I'm just starting to explore Tailscale for my homelab and I keep seeing mentions of 'tags' in the docs. I think I get ACLs (Access Control Lists) at a basic level, but tags seem related and I'm a bit confused.
Could someone explain what a tag is in simple terms? Maybe with a beginner-friendly example of when you'd use one vs. just a regular ACL rule? I'm trying to set up secure access between my laptop, a couple of servers, and a Pi. Thanks in advance for any guidance! 😊
Great question. Tags are essentially labels you apply to devices so you can write simpler, more reusable ACL rules.
Think of it this way: without tags, you'd have to list every single device (like "laptop-123", "server-456", "pi-789") in every ACL rule. With tags, you first tag your devices (e.g., tag:webserver, tag:database, tag:user-device). Then your ACL rules just reference those tags. It's like creating groups.
For your homelab, you could tag your two servers as `tag:homelab-servers` and your Pi as `tag:homelab-pi`. Then a single ACL rule like `"user-devices": ["tag:homelab-servers", "tag:homelab-pi"]` lets you manage access cleanly. If you add another server later, you just tag it and it automatically inherits the rules.