홈 서버를 구축하고 작업하다 보면, 외부에서 홈 서버에 붙어서 작업을 하고 싶을 때가 있다. 그렇다고 홈 서버를 외부망에 오픈 시켜놓기에는 홈 네트워크에 여러 기기들이 존재하다 보니 보안상 문제가 될 수 있다.
따라서 홈 서버 중 한대의 서버에 VPN을 구축하기로 하였고, 그 중 Tailscale VPN을 알게 되어 해당 VPN으로 구축하려고 했다.
Tailscale?

- Tailscale은 WireGuard 프로토콜을 기반으로 한 메쉬 VPN 서비스이다.
- 각 기기(노트북, 서버, 모바일 등)에 클라이언트를 설치하고 로그인만 하면, 서로 간에 직접 암호화된 P2P 터널을 만들어서 통신하게 해준다
- 어디 있든 기기들을 하나의 같은 사설망에 묶어준다.
지원 환경
- Windows, macOS, Linux, Android, iOS, tvOS 등 주요 OS 대부분을 지원한다.
- 클라우드 VM(예: AWS EC2)에도 설치해서 사내망처럼 묶을 수 있다.
일반적인 VPN과 다른점
전통적인 VPN(OpenVPN, IPSec 계열 등)은 보통 다음과 같은 구조이다.
- 중앙 VPN 서버 한 대를 세운다.
- 모든 사용자가 그 서버에 접속해서 그 중앙 서버를 통해 트래픽을 우회한다.
반면 Tailscale은 구조 자체가 다르다. Tailscale은 메쉬 VPN 구조이기에 다음과 같은 특징이 존재한다.
- 중앙 VPN 서버 한 대에 트래픽이 몰려 병목되는 문제가 적다.
- 같은 네트워크에 있든, 집이든, 카페든, LTE든 상관없이 항상 같은 사설망처럼 연결된다.
전통적인 VPN과 다른 점은 다음과 같이 표로 정리할 수 있다.
| 항목 | 일반 | VPN Tailscale |
| 구조 | 중앙 서버(허브) 기반이다 | 메쉬 + P2P 구조이다 |
| 트래픽 경로 | 항상 “클라이언트 → VPN 서버 → 대상 서버”이다 | 가능하면 “클라이언트 → 대상 서버” 직통이다 (안 되면 DERP 경유이다) |
| 단일 장애 지점 | VPN 서버가 SPOF이다 | 제어 서버 장애 영향은 있지만, 데이터 경로는 분산되어 있다 |
| 설정 난이도 | 서버 구축, 인증서, 방화벽, 라우팅 설계 필요하다 | 각 기기에 Tailscale 클라이언트 설치 + 로그인 정도로 시작 가능하다 |
| 계정/권한 관리 | 계정·인증서·키를 직접 관리한다 | ldP(Google Workspace, Okta 등) 연동 + Tailnet ACL로 중앙 관리한다 |
| 보안 모델 | “VPN에 들어오면 내부망 보인다” 식으로 구성된 경우가 많다 | 기본적으로 제로 트러스트 방향이며, 노드·포트 단위로 세밀 제어한다 |
| 확장성 | 접속자 늘면 VPN 서버 증설/튜닝이 필요하다 | 노드가 늘어도 P2P 구조라 상대적으로 확장에 유리하다 |
| 에어갭 환경 | 온프레만으로 구현 가능하다 | 인터넷 완전 차단망에는 부적합하다 |
| 기존 인프라 활용 | 기존 방화벽·VPN 어플라이언스와 궁합이 좋다 | 클라우드 컨트롤 플레인이기에 조직에 따라 도입 설득이 필요할 수 있다 |
설치 방법
우선, 설치할 서버에 접속하여 다음 명령어를 통해 Tailscale을 설치해준다.
curl -fsSL https://tailscale.com/install.sh | sh
설치가 완료되면 다음 명령어를 통해 Tailscale에 로그인하고 해당 계정의 서버 리스트에 등록한다.
sudo tailscale up
위 명령어 입력 시, 다음과 같이 출력되는데 해당 링크에서 로그인한다.
To authenticate, visit:
https://login.tailscale.com/a/xxxxxx
위 링크에 접속하면 아래와 같이 로그인 창이 뜨게 되는데, 로그인을 해준다.

로그인을 하고 인증을 하게되면, 다음과 같이 admin console에 접속할 수 있다.

위와 같이 해당 계정에 속해있는 여러 기기들을 확인할 수 있다.
그리고 위의 장비 목록에 나와 있는 ADDRESSES와 각 서비스 포트(ex. SSH - 22)를 통해 해당 대상 서버에 접속할 수 있다.
Tallescale 도입?
어떤 상황에 전통적인 VPN과 Tailescale과 같은 클라우드 VPN을 도입하는 것이 적절한지는 다음과 같다.
일반 VPN을 계속 쓰는 게 맞는 경우
- 완전 폐쇄망/인터넷 차단망이라 외부 클라우드 제어 서버를 전혀 쓸 수 없는 환경이다.
- 이미 수년째 쓰고 있는 VPN 인프라가 잘 구축되어 있고, 보안 정책·감사 체계가 다 얹혀 있는 조직이다.
- 네트워크 장비(전용 VPN 박스, FW, UTM 등)에 많이 투자해놓아서, 기존 장비를 계속 활용해야 하는 상황이다.
Tailscale이 더 어울리는 경우
- 온프레미스 + 여러 클라우드 + 재택/외근 + 모바일 기기가 뒤섞인 환경을 하나의 논리적 사설망으로 묶고 싶은 경우.
- DevOps/SRE, 개발자 관점에서 복잡한 포트포워딩/방화벽/NAT 설정을 피하고 싶은 경우.
- IAM(IdP) + ACL 기반으로 접근 관리를 깔끔하게 하고 싶은 경우.
- Kubernetes 클러스터, Grafana, DB, 내부 도구 등에 개발자들이 언제 어디서나 안전하게 직접 붙을 수 있는 통로를 만들고 싶은 경우.