Miao, Wei (缪玮)
  • Home
  • Research
  • Teaching
  • Blog

On this page

  • 1 Why Tailscale?
  • 2 Installation and Setup
  • 3 Other Benefits
  • 4 What’s Next?

Remote Work Setup I: Tailscale

Coding
Tutorial
Tailscale
Author

Wei Miao

Published

September 16, 2024

Modified

August 6, 2025

Many researchers switch between a laptop for casual work and a powerful workstation for heavy tasks. This series shares my remote setup connecting a local MacBook Pro to a remote Mac Pro.

My workflow relies on four key tools:

  • Tailscale: Creates a secure virtual network to connect devices anywhere.
  • VS Code: A versatile editor with the Remote - SSH extension.
  • Radian: An enhanced R console.
  • Tmux: A terminal multiplexer for persistent sessions.

This post focuses on Tailscale, the foundation that allows your devices to communicate as if they were on the same local network.

1 Why Tailscale?

I needed a robust way to connect my home and office computers. Other solutions fell short:

  • TeamViewer / Chrome Remote Desktop: Often expensive, unstable, or lacking native resolution support (especially for 4K monitors).
  • Institutional VPNs: Typically route all traffic through the university network, blocking access to local resources like my home NAS.

Tailscale is the ideal solution. It creates a mesh network using the secure WireGuard protocol. Key benefits include:

  1. Seamless Connection: Devices connect via stable internal IPs, regardless of their physical location.
  2. Split Tunneling: It doesn’t route all traffic through the VPN. I can access my office workstation without losing access to my local NAS.
  3. Exit Nodes: I can route traffic through my office computer when needed—perfect for accessing IP-restricted resources like academic journals from a café.
  4. Wide Compatibility: Works on macOS, Windows, Linux, iOS, and Android.

2 Installation and Setup

Setting up Tailscale is straightforward:

  1. Install Tailscale: Download it from tailscale.com for all your devices (laptops, workstations, phones). If you are on macOS, you can also install it via Homebrew: brew install --cask tailscale.
  2. Log In: Use the same identity provider (Google, Microsoft, GitHub) on every device to link them to your private network.
  3. Connect: Each device is assigned a unique internal IP (starting with 100.x.x.x).

To test the connection, open your terminal and SSH into your remote machine using its Tailscale IP:

ssh username@100.xxx.xxx.xxx

Once connected, you can also use native tools like macOS Screen Sharing with full resolution support.

3 Other Benefits

Beyond basic connectivity, Tailscale enables several powerful workflows:

3.1 Access Devices Anywhere (e.g., NAS)

Tailscale’s split tunneling means it doesn’t block access to your local network devices. For instance, I can access my home NAS (via WebDAV) from my MacBook Pro anywhere in the world—even from a café—without exposing my home network to the public internet or paying for a static IP.

3.2 Office Computer as an Exit Node

You can route all your internet traffic through a specific device (like your office computer). This is incredibly useful for accessing IP-restricted resources. For example, I can set my UCL workstation as an “exit node” to download papers from Google Scholar as if I were on campus, skipping the need to log in to the library proxy.

4 What’s Next?

With your devices networked via Tailscale, you are ready to set up a remote development environment. In the next post, I will cover how to use VS Code and Remote - SSH to code on your remote server as if you were sitting right in front of it.

Back to top
 

Copyright 2025, Wei Miao