Tailscale Multi-User Network Setup

1. Overview

Tailscale is a zero-configuration VPN built on the WireGuard protocol. It creates a private mesh network (called a tailnet) between devices, enabling direct peer-to-peer communication with end-to-end encryption, without requiring any open ports or complex firewall rules.

By default, each Tailscale account (identified by a login provider such as Google, Microsoft, or GitHub) forms its own isolated tailnet. Devices from different accounts cannot see each other without explicit configuration.

This document explains the method to connect two computers that belong to different Tailscale users, so that each machine appears on the other’s network:

Key concepts

TermDescription
tailnetThe private network formed by all devices on a single Tailscale account.
Tailscale IPA stable 100.x.x.x address assigned to each device, permanent across sessions.
MagicDNSTailscale’s built-in DNS; lets you reach devices by hostname (e.g. pc-name.tail…).
Node sharingFeature that adds a specific device from one tailnet into another user’s tailnet.
ACL / PolicyAccess Control List: JSON rules that define which devices can talk to which.

2. Prerequisites

Both users must complete the following steps independently before proceeding with any sharing configuration.

2.1 Create a Tailscale Account

Each user navigates to https://tailscale.com and signs up using one of the supported identity providers (Google, Microsoft, GitHub, Apple, or custom OIDC). A free Personal plan supports up to 3 users and 100 devices, which is sufficient for this scenario.

2.2 Install the Tailscale Client

Install the client appropriate for each computer’s operating system:

OSInstallation methodNotes
WindowsDownload installer from tailscale.com/downloadRuns as a system service
macOSApp Store or tailscale.com/downloadRequires system extension approval
Linux (deb)curl -fsSL https://pkgs.tailscale.com/stable/ ubuntu/focal.gpg │ sudo apt-key add –Official repo available
Linux (rpm)sudo yum install tailscale (after adding repo)RHEL/Fedora/CentOS

Note: The computer to run Maemuki Bridge must use Windows

2.3 Authenticate and Connect

After installation, each user authenticates their device:

  • Windows / macOS: click the Tailscale icon in the system tray or menu bar and select Log in.
  • Linux: run the following command in a terminal and open the displayed URL in a browser:

sudo tailscale up

Once authenticated, the device appears in the user’s admin console at https://login.tailscale.com/admin/machines and receives a stable 100.x.x.x Tailscale IP address.

Tip: Verify connectivity within each tailnet before proceeding. Run tailscale status in a terminal to see the assigned IP and confirm the device is online.

3. Tailscale Node Sharing

Node sharing is the simplest and most targeted approach. User A shares their computer with User B’s tailnet. The shared device appears in User B’s device list with a special badge, and User B can reach it by its Tailscale IP or MagicDNS hostname. No VPN exit node or routing changes are required.

This method is asymmetric by default: User A shares with User B. To make the connection bidirectional (each user can reach the other’s computer), both users must share their respective devices.

3.1 User A: Share a Device

User A performs the following steps in the Tailscale admin console:

  • Open the admin console: https://login.tailscale.com/admin/machines
  • Locate the device to be shared in the Machines list.
  • Click the three-dot menu (⋮) on that device row and select Share.
  • In the Share dialog, enter User B’s email address (the one associated with their Tailscale account).
  • Click Send invite. Tailscale sends an email to User B with an acceptance link.

**Note: **The invitation expires after 7 days if not accepted. A new invite can be sent at any time.

3.2 User B: Accept the Shared Device

User B performs the following steps:

  • Open the invitation email from Tailscale and click the acceptance link.
  • Log in to the Tailscale console if prompted.
  • The shared device now appears in User B’s Machines list, marked with a Shared badge.
  • Run tailscale status on User B’s machine to confirm the shared device is visible:

tailscale status

The output lists all reachable devices including the newly shared one. User B can now reach User A’s machine using its Tailscale IP (100.x.x.x) or its MagicDNS name.

3.3 Verify Connectivity

From User B’s terminal, test reachability of User A’s shared device:

# Replace 100.x.x.x with User A's device Tailscale IP
ping 100.x.x.x

# Or using MagicDNS hostname (if MagicDNS is enabled)
ping hostname-of-user-a-machine

A successful ping confirms the cross-account connection is established. Application-level connectivity (RDP, SSH, HTTP, etc.) can be tested on the specific ports used by those services.

Bidirectional sharing: For User A to also reach User B’s computer, User B must perform the same sharing procedure (steps 3.1–3.2) in reverse, sharing their own device with User A.

4. Troubleshooting

The following table lists common problems encountered when connecting devices across different Tailscale accounts, along with their causes and solutions.

SymptomLikely causeSolution
Shared device not visible after accepting inviteTailscale daemon not running on the shared deviceEnsure tailscale up is running. Check systemctl status tailscaled on Linux.
ping succeeds but application connection failsOS-level firewall blocking the portOpen the specific port in Windows Firewall, macOS Application Firewall, or iptables/ufw on Linux.
tailscale status shows device as offlineAuthentication expired or key rotation requiredRun tailscale up again on the affected device to re-authenticate.
MagicDNS name does not resolveMagicDNS not enabled in the tailnet settingsEnable MagicDNS in the admin console under DNS settings.
Double-NAT or CGNAT preventing direct connectionISP uses carrier-grade NATTailscale automatically uses DERP relay servers as fallback. Performance may be reduced but connectivity is maintained.

4.1 Useful Diagnostic Commands

CommandPurpose
tailscale statusList all reachable nodes and their online/offline state.
tailscale ping 100.x.x.xTest latency and path to a specific Tailscale peer.
tailscale netcheckDiagnose NAT type, DERP latency, and UDP availability.
tailscale ip -4Display the local device’s Tailscale IPv4 address.
tailscale bugreportGenerate a diagnostic report to share with Tailscale support.

5. Summary

The following checklist summarizes all the steps required to establish a bidirectional connection between two computers belonging to different Tailscale users.

5.1 Quick-Reference Checklist

#WhoStep
1Both usersCreate a Tailscale account at tailscale.com.
2Both usersInstall the Tailscale client on their computer.
3Both usersAuthenticate with tailscale up and verify the device appears in the admin console.
4User AGo to admin console → Machines → Share → enter User B’s email → Send invite.
5User BAccept the invitation from the email link.
6User BVerify the shared device appears in tailscale status.
7User BTo share reciprocally: repeat steps 4–6 with roles reversed.
8OptionalEnable subnet routes if full LAN access is needed (Section 4).
9OptionalRestrict access with ACL rules in the admin console (Section 5).
10Both usersTest application connectivity (SSH, RDP, HTTP) using Tailscale IPs.

5.2 Additional Resources

For enterprise deployments with more than two users, consider Tailscale’s Business or Enterprise plans.

Oh hi there 👋
It’s nice to meet you.

Sign up to receive awesome content in your inbox, every month.

We don’t spam! Read our privacy policy for more info.