Tailscale VPN 구축

2025. 11. 30. 10:54·OS & Network

홈 서버를 구축하고 작업하다 보면, 외부에서 홈 서버에 붙어서 작업을 하고 싶을 때가 있다. 그렇다고 홈 서버를 외부망에 오픈 시켜놓기에는 홈 네트워크에 여러 기기들이 존재하다 보니 보안상 문제가 될 수 있다.

 

따라서 홈 서버 중 한대의 서버에 VPN을 구축하기로 하였고, 그 중 Tailscale VPN을 알게 되어 해당 VPN으로 구축하려고 했다. 

Tailscale?

출처: https://play.google.com/store/apps/dev?id=4997631118413301346

  • 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, 내부 도구 등에 개발자들이 언제 어디서나 안전하게 직접 붙을 수 있는 통로를 만들고 싶은 경우.

Reference

  • https://tailscale.com/kb/1017/install
'OS & Network' 카테고리의 다른 글
  • Kubernetes - Local Host Storage Class의 장점 및 제약 사항
  • Linux Log
  • 네트워크 패킷 분석
SummerToday
SummerToday
summertoday 님의 블로그 입니다.
  • SummerToday
    SummerToday
    SummerToday
  • 전체
    오늘
    어제
  • 인기 글

  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
    • 관리자
    • 분류 전체보기 (62)
      • OS & Network (4)
      • Cloud (11)
      • Container & DevOps (41)
      • Database (4)
      • Develop (0)
      • IaC (2)
  • 태그

    점프 계정
    EIP
    tailscale
    openebs
    container
    CloudWatch
    cloud
    s2s vpn
    K8S
    aws
    AmazonSNS
    계정 관리
    Galera Cluster
    CI/CD
    MariaDB
    argocd
    Eni
    gitops
    Kubernetes
    Grafana
  • hELLO· Designed By정상우.v4.10.3
SummerToday
Tailscale VPN 구축
상단으로

티스토리툴바