If you need to connect devices across different networks — your NAS at home, a cloud server, and your phone on 5G — you have options. I've been running both EasyTier and Tailscale in production for months. Here's what I learned.

The Problem: CGNAT

Most home ISPs in China (and many elsewhere) use Carrier-Grade NAT (CGNAT). You don't have a public IP. Your "public" address is shared with hundreds of other customers. This makes traditional port forwarding impossible.

Both EasyTier and Tailscale solve this with P2P hole-punching — they find a direct path between your devices even when both are behind NAT.

EasyTier

EasyTier is an open-source mesh networking tool popular in Chinese developer communities. It's lightweight, self-hostable, and doesn't rely on any third-party coordination servers (unless you want one).

Deployment:


# Docker on NAS
docker run -d --name easytier --restart unless-stopped \
  --network host -v /path/to/data:/var/lib/easytier \
  easytier/easytier:latest \
  -e 0.0.0.0:11000 \
  --network-name my-mesh \
  --network-secret my-secret

Network setup: I connected 4 nodes — a NAS (CGNAT), an Alibaba Cloud VPS (public IP), a phone on 5G, and an unRAID server.

What I loved:

  • Completely self-hosted — no external dependency
  • Works reliably through CGNAT (18-35ms P2P latency)
  • Lightweight — runs on a $5/month VPS as relay
  • Open source with active development

What could be better:

  • Documentation is mostly in Chinese
  • Smaller community than Tailscale
  • CLI is functional but not as polished

Tailscale

Tailscale is built on the WireGuard protocol and uses a coordination server for device discovery. It's more polished but relies on Tailscale's infrastructure.

Deployment:


# One-command install on most platforms
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up --auth-key=<key>

What I loved:

  • Incredibly easy setup — one command per device
  • Beautiful web admin panel
  • Built-in ACLs for access control
  • Works everywhere (Linux, macOS, Windows, iOS, Android)

What could be better:

  • Relies on Tailscale's coordination servers
  • Free tier limited to 3 users, 100 devices
  • Closed-source coordination layer
  • Some features require subscription ($5/user/month)

Side-by-Side Comparison

| Feature | EasyTier | Tailscale |

|---------|----------|-----------|

| Self-hosted | ✅ Yes (no external deps) | ❌ Requires coordination server |

| P2P hole-punching | ✅ Works through CGNAT | ✅ Works through CGNAT |

| Setup complexity | Medium (Docker + CLI) | Low (one command) |

| Latency (CGNAT→5G) | 18-35ms | 15-30ms |

| Open source | ✅ Full MIT license | ⚠️ Client open, server closed |

| Documentation | Chinese-focused | Excellent, multi-language |

| Community size | Small (~1k GitHub stars) | Massive (100k+ stars) |

| Cost | Free (self-hosted) | Free tier limited, $5/user/mo for teams |

My Recommendation

Use EasyTier if:

  • You want complete control over your network
  • You have a cloud VPS to act as a relay
  • You're comfortable with Docker and CLI
  • Your devices are primarily in China (better China network performance)

Use Tailscale if:

  • You want the simplest possible setup
  • You need easy sharing with other users
  • You don't want to maintain infrastructure
  • Your devices are mostly outside China

My Setup

I went with EasyTier for my production network. The self-hosted nature gives me peace of mind, and having a relay on Alibaba Cloud keeps latency low. The 18-35ms P2P latency across CGNAT is more than good enough for SSH, file access, and API calls.

That said, I use Tailscale for quick experiments and temporary connections — the one-command setup is unbeatable for ad-hoc needs.

Bottom line: Both are excellent. Choose based on whether you value control (EasyTier) or convenience (Tailscale).