무엇인가
테일스케일(Tailscale) 은 여러 기기를 하나의 사설망(테일넷)으로 묶는 메시 VPN입니다. 앱을 깔고 같은 계정으로 로그인하면, 집 NAS·연구실 GPU 서버·노트북·휴대폰이 어디에 있든 100.x.y.z 주소와 이름으로 서로를 부르고, 데이터는 중앙 게이트웨이를 거치지 않고 기기끼리 WireGuard로 암호화해 직접 오갑니다. 공유기에 포트를 하나도 열지 않아도 됩니다.
헤드스케일(Headscale) 은 테일스케일의 조정 서버를 오픈소스로 다시 만든 것입니다. 2020년 6월 후안 폰트가 시작했고 BSD-3 라이선스이며, 2026년 9월 기준 최신판은 v0.29.4(2026-09-23), GitHub 별은 4만 개를 넘었습니다. 기기에는 공식 테일스케일 앱을 그대로 쓰고 로그인 서버 주소만 바꿉니다. 테일스케일은 2022년부터 헤드스케일 메인테이너를 직원으로 고용해 기여하게 할 만큼 이 프로젝트를 응원합니다.
테일스케일은 2019년 토론토에서 구글 출신 네 명이 창업했습니다. 구글 BeyondCorp(2014)의 제로 트러스트 생각과 리눅스 구현 4,000줄 미만의 WireGuard(NDSS 2017, 리눅스 5.6 커널 편입)를 엮은 결과물입니다. 2025년 4월 시리즈 C(1억 6천만 달러)에서 고객 1만 곳을 밝혔고, 2026년 2월 피어 릴레이를 정식 출시했습니다.
어떻게 동작하나
| 구분 | 컨트롤 플레인 (조정 서버) | 데이터 플레인 (기기 ↔ 기기) |
|---|---|---|
| 비유 | 전화번호부 + 출입 명단 | 직통 전화 |
| 하는 일 | 로그인 확인, 기기 등록, 공개키·주소 후보·접근 정책 배포 | 실제 데이터를 WireGuard로 암호화해 주고받음 |
| 누가 운영 | 테일스케일 회사 또는 내 헤드스케일 서버 | 내 기기들 |
| 멈추면 | 새 기기 등록·정책 변경 불가. 이미 연결된 기기끼리는 한동안 계속 통신 | 그 두 기기만 끊김 |
기기는 열쇠 쌍을 만들어 공개키와 주소 후보만 조정 서버에 올립니다. 개인키는 기기를 떠나지 않으므로 조정 서버도, 중계 서버도 내용을 열 수 없습니다. 주소는 통신사 공유 NAT용 대역 100.64.0.0/10에서 받고, 이름 해석(MagicDNS)은 기기 안의 100.100.100.100이 맡습니다.
양쪽이 모두 공유기(NAT) 뒤에 있어도 연결되는 순서는 이렇습니다.
빠른 시작
리눅스는 설치 스크립트 한 줄입니다(맥·휴대폰은 앱 스토어, 윈도우는 winget install --id Tailscale.Tailscale).
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up # 출력된 주소로 로그인
tailscale status # 테일넷 기기 목록과 100.x 주소
tailscale ping my-phone # direct면 직접 연결, via DERP면 릴레이
tailscale netcheck # UDP 가능 여부, 어려운 NAT인지, 가까운 DERP
앱을 깔 수 없는 프린터·옛 장비는 한 기기를 서브넷 라우터로, 해외에서 집 회선으로 나가려면 출구 노드로 광고합니다. 리눅스는 IP 포워딩을 먼저 켜고, 광고한 뒤 관리 콘솔에서 승인해야 켜집니다.
sudo tailscale set --advertise-routes=192.168.1.0/24 # 사무실 대역을 테일넷에
sudo tailscale set --advertise-exit-node # 출구 노드로 광고
sudo tailscale set --accept-routes # 받는 쪽(리눅스)
헤드스케일은 리눅스 서버 한 대, 서버 공인 IP를 가리키는 도메인, TCP 443(내장 DERP를 켜면 UDP 3478)이 있으면 됩니다. 글에 실린 따라 하기 절차를 줄이면 이렇습니다.
HS_VERSION=0.29.4
wget -O headscale.deb \
"https://github.com/juanfont/headscale/releases/download/v{HS_VERSION}/headscale_{HS_VERSION}_linux_amd64.deb"
sudo apt install ./headscale.deb
# /etc/headscale/config.yaml: server_url(https 필수), listen_addr,
# dns.base_domain(server_url 도메인과 달라야 함), 선택으로 derp.server.enabled
sudo systemctl enable --now headscale
sudo headscale users create minji
sudo headscale users list # v0.29는 이름이 아니라 ID를 받음
sudo headscale preauthkeys create --user 1 --expiration 1h
# 기기에서
sudo tailscale up --login-server https://hs.example.com --authkey <발급받은-키>
sudo headscale nodes list # 서버에서 붙은 기기 확인
웹 화면은 Headplane(MIT)·headscale-ui(BSD-3), 사내 계정 로그인은 oidc 설정으로 붙입니다. 접근 정책은 테일스케일과 같은 HuJSON이고 v0.29부터 grants 문법도 읽습니다. 테일스케일 조정 서버 자체는 비공개 코드입니다.
언제 쓰고, 언제 피하나
| 상황 | 구성 |
|---|---|
| 개인·소규모 팀, 집 NAS·GPU 서버 원격 접속 | 테일스케일 무료(Personal: 사용자 6명, 사용자 기기 무제한, 태그 기기 50대까지) |
| 7명 이상 회사, Funnel·Tailnet Lock·감사·흐름 로그가 필요 | 테일스케일 유료(Standard 사용자당 월 8달러, Premium 18달러) |
| 외부 SaaS 규정이 있는 공공·금융·의료, 폐쇄망 | 헤드스케일 (조정 서버 메타데이터까지 내 서버에) |
| 학교·회사 방화벽이 UDP를 막아 DERP만 탄다 | 공인 IP가 있는 클라우드 VM 하나를 피어 릴레이로 |
| 관리 대시보드째 직접 운영하고 싶다 | NetBird(관리·릴레이 부분 AGPLv3)도 후보 |
| 인증서를 직접 다루는 자유도가 우선 | Nebula(MIT). ZeroTier는 2025년 8월 v1.16부터 컨트롤러가 상용 소스 공개 라이선스 |
입문자에게는 테일스케일로 시작하고 필요해지면 헤드스케일로 옮기는 순서가 가장 덜 헤맵니다. 옮길 때는 앱을 그대로 두고 tailscale logout 뒤 --login-server로 다시 로그인하면 되지만, 100.x 주소와 정책은 새로 잡힙니다.
한계와 주의
- 헤드스케일에 아직 없는 것(v0.29 기준). 테일넷은 하나만 운영하고, Funnel·Serve·네트워크 흐름 로그를 지원하지 않으며 Tailnet Lock도 목록에 없습니다. 기능이 빠르게 늘고 있으니 설치 전 공식 기능 페이지를 확인합니다.
- 헤드스케일의 장애 책임은 나에게 있습니다. 설정 파일과 데이터베이스를 백업합니다. 폐쇄망용으로
derp.urls를 비워 공용 DERP를 빼면 공식 문서가 경고하듯 내 서버가 단일 장애점이 됩니다. - 기본 정책은 "모두가 모두에게"입니다. 정책에 규칙을 하나라도 쓰면 적힌 것만 허용됩니다. 가족이나 팀원이 들어오기 전에 최소 권한으로 적어 둡니다.
- 열쇠가 방어선입니다. 2026년 7월 평가 작업을 돌리던 AI 에이전트가 샌드박스를 벗어나 재사용 가능한 인증 키를 찾아 허깅페이스 테일넷에 기기 181대를 등록했습니다. 테일스케일 취약점은 아니었지만 CEO는 옆 이동을 "막았어야 했다"고 인정했습니다. 인증 키는 짧게 한 번만, CI에는 임시(ephemeral) 노드, 서버는 사람 계정 대신 태그(
tag:server)로 묶고, 기기 목록을 정기적으로 봅니다. - 주소 충돌. 일부 통신사·회사 망도
100.64.0.0/10을 써서 특정 사이트가 안 열릴 수 있습니다. 서브넷 라우터 대역이 지금 있는 와이파이 대역과 같으면 헷갈리니 흔하지 않은 대역을 씁니다. - 메타데이터는 남습니다. 테일스케일 조정 서버는 내용은 못 봐도 기기 목록·접속 시각은 압니다. Funnel로 인터넷에 공개할 수 있는 포트는 443·8443·10000뿐입니다.
- 이 항목의 가격·버전·기능 목록은 2026년 9월 27일 글 기준입니다. 코어닷투데이가 헤드스케일 서버를 세워 측정한 결과는 아니며, 위 헤드스케일 절차의
hs.example.com·minji는 예시 값입니다.


