제어 서버·대시보드·릴레이까지 전면 자체 호스팅하는 오픈소스 사설망 도구 'Tunnet'
외부 독점 조정 서버 없이 에이전트부터 컨트롤 플레인, 대시보드, 릴레이까지 직접 운영하며 SSH 접속, 내부 서비스 공유, 공개 터널을 단일 정책으로 통합 관리하는 오픈소스 프라이빗 메시 네트워크 Tunnet 검증.
분산 근무 환경과 멀티 클라우드 인프라가 보편화되면서 머신 간 사설망 구축은 필수적인 개발 인프라로 자리 잡았습니다. 대다수 상용 메시 VPN 도구는 클라이언트 에이전트만 오픈소스로 공개하고 중앙 제어 서버(코디네이션 서버)는 폐쇄형 SaaS로 운영하거나, 서드파티 역공학 프로젝트에 의존해야 하는 구조적 한계를 안고 있었습니다. 최근 공식 릴리스를 거치며 안정성을 끌어올린 오픈소스 프로젝트 Tunnet(tunnetio/Tunnet)은 에이전트뿐 아니라 제어 서버, 관리 API, 웹 대시보드, 릴레이 노드까지 전 스택을 단일 리포지토리에 전면 오픈소스로 공개하여 독점 인프라 의존성을 완전히 배제한 자체 호스팅 프라이빗 메시 네트워크 환경을 제공합니다.

이미지 출처: Tunnet (tunnetio)
독점 조정 서버 의존을 끊는 전면 오픈소스 사설망 아키텍처
기존 상용 메시 네트워킹 제품(Tailscale 등)은 뛰어난 사용성을 제공하지만, 머신 간 연결 정보와 라우팅 상태를 조율하는 코디네이션 서버가 클라우드 벤더의 독점 영역에 묶여 있습니다. 이를 자체 호스팅하기 위해 커뮤니티 재구현체(Headscale 등)를 활용하기도 하지만, 상류 기능 추가 속도와의 간극이나 대시보드·릴레이 분리 구축에 따른 운영 복잡도가 뒤따랐습니다.
Tunnet은 이러한 문제를 해결하기 위해 아키텍처 전반을 통합 오픈소스로 설계했습니다.
- 단일 리포지토리 완전 공개: 에이전트(agent), 제어 플레인(control plane), 관리 API(management API), 웹 UI 대시보드(dashboard), 패킷 중계용 릴레이(relay) 소스 코드가 모두 포함되어 있어 외부 독점 서버 없이 독립적인 사설망을 구축할 수 있습니다.
- 다이렉트 모드(Direct Mode): 중앙 서버 구축조차 부담스러운 개인 및 소규모 장비 풀을 위한 서버리스 P2P 메시 모드입니다. 사전 공유 암호(passphrase)와 Mainline DHT를 통한 피어 탐색,
iroh-docsCRDT 기반의 분산 멤버십 동기화를 결합하여 계정 생성이나 별도 서버 배포 없이 머신 간 직접 암호화 통신을 구성합니다. 필요 시tunnet upgrade-to-managed명령으로 연결 단절 없이 매니지드 모드로 승격할 수 있습니다. - 매니지드 모드(Managed Mode): 팀 및 조직을 위한 완전체 제어 모드입니다. 자체 호스팅 가능한 제어 서버와 관리 API, 로컬 웹 대시보드(
http://localhost:5173), OIDC 기반 SSO 연동, 감사 로그(audit logs), 중앙 집중식 정책 엔진(Policy as Code: HCL/JSON/YAML, Terraform, GitOps)을 지원합니다.
VPN·터널·SSH·파일 전송을 단일 ACL과 신원 체계로 통합
기존 인프라 환경에서는 사설망 접속용 VPN, 외부 테스트용 ngrok 터널, 서버 접속용 배스천(bastion) 호스트, 파일 전송 도구를 제각기 다른 툴과 인증 방식으로 파편화해 운영하는 경우가 많았습니다. Tunnet은 이 모든 네트워크 프리미티브를 단일 계정과 단일 접근 제어(ACL) 정책 엔진 아래 통합했습니다.
| 기능 영역 | 기존 대체 대상 도구 | Tunnet 통합 방식 |
|---|---|---|
| 메시 네트워크 | Tailscale, NetBird, WARP | QUIC(iroh) 기반 P2P 암호화, PeerDNS, 오버레이 IP/호스트명 자동 할당, 서브넷 라우트 |
| 내부 서비스 공유 (Serve) | Cloudflare Access, Tailscale Serve | 로컬 포트를 조직 내부 CA TLS 인증서와 함께 사설 도메인으로 노출 |
| 공개 터널 (Tunnel) | ngrok, Cloudflare Tunnel | 인바운드 방화벽 오픈 없이 자체 운영 릴레이를 통해 공개 HTTPS URL 발급 |
| P2P 파일 전송 (Send) | Taildrop, 임베디드 sftp | iroh-blobs 기반 BLAKE3 무결성 검증, 수신 승인 기반 전송, 태그 멀티캐스트 |
| 신원 기반 SSH | 배스천 호스트, 공개키 수동 배포 | SSH 키 복사 없이 Tunnet 신원 및 역할 정책으로 인증, 세션 녹화 및 감사 추적 |
| 쿠버네티스 연동 | 수동 Ingress/VPN 접착제 | 쿠버네티스 오퍼레이터 CRD(TunnetIngress, TunnetTunnel, TunnetEgress) 기본 제공 |
머신이 네트워크에 등록되는 즉시 전용 가상 사설 IP와 호스트명이 발급되며, 평소에는 일반 도구(ssh, curl, 브라우저)를 통해 직접 P2P 통신을 수행합니다. 방화벽이나 엄격한 NAT로 인해 P2P 직접 터널링이 차단되는 환경에서는 사용자가 직접 배포한 릴레이 노드를 거쳐 트래픽이 안전하게 우회됩니다.
검증된 설치 경로 및 주요 CLI 워크플로우
Tunnet은 macOS, Linux, Windows를 공식 지원하며 크로스 플랫폼 헤드리스 에이전트와 데스크톱 애플리케이션을 모두 제공합니다. 공식 배포 스크립트를 통한 설치 경로는 다음과 같습니다.
에이전트 설치
Linux 및 macOS (헤드리스 에이전트):
curl -fsSL https://github.com/tunnetio/Tunnet/releases/latest/download/install.sh | sh
Windows (관리자 권한 PowerShell):
irm https://github.com/tunnetio/Tunnet/releases/latest/download/install.ps1 | iex
Windows 데스크톱 환경에서는 공식 릴리스 자산에 포함된 Tunnet_*_x64-setup.exe 인스톨러(wintun.dll 드라이버 포함 및 자동 관리자 권한 승격 지원)를 사용할 수 있습니다.
핵심 CLI 사용 흐름
자체 구축한 제어 서버에 머신을 등록하고 주요 기능을 사용하는 흐름은 직관적으로 구성되어 있습니다.
# 1. 제어 서버 등록 및 백그라운드 서비스 시작
sudo tunnet enroll --control-url http://your-control-host:8080 --token <ENROLLMENT_TOKEN>
sudo tunnet service start
# 2. 내부 서비스 사설망 공유 (TLS 자동 적용)
tunnet serve 3000
tunnet serve status
tunnet serve off 3000
# 3. 자체 릴레이 경유 퍼블릭 HTTPS 터널 생성
tunnet tunnel 3000
tunnet tunnel status
tunnet tunnel off 3000
# 4. P2P 안전 파일 전송
tunnet send ./build.tar.gz db-server
tunnet send ./app-package.zip tag:staging
# 5. 별도 키 관리 없는 신원 기반 SSH 접속
tunnet ssh db-server
tunnet ssh db-server -u root
tunnet ssh sessions
tunnet ssh play <SESSION_ID>
최신 v0.7.0 및 v0.8.0 릴리스에서는 Rust 1.97 기반 런타임 개편과 함께 공식 Rust SDK 크레이트(tunnet)와 Go CLI가 추가되었으며, 신규 데스크톱 GUI, 감사 로그 뷰어, 터널 트래픽 인스펙션 도구, QUIC 전송 성능 최적화가 지속적으로 반영되고 있습니다.
자체 호스팅 시 고려사항 및 운영 트레이드오프
전면 자체 호스팅은 완벽한 데이터 주권과 보안 독립성을 보장하지만, 상용 관리형 SaaS 대비 다음과 같은 운영 책임과 기술적 고려사항이 수반됩니다.
- 인프라 프로비저닝 및 패치 운영 부담: 제어 플레인, 관리 API, PostgreSQL 등 데이터 저장소, 웹 대시보드, 릴레이 노드를 인프라 관리자가 직접 배포하고 모니터링해야 합니다. 인증서 갱신, 취약점 패치, 가용성 보장의 책임이 운영자에게 전적으로 위임됩니다.
- 릴레이 서버의 대역폭 및 레이턴시 품질: 대칭형 NAT(Symmetric NAT)나 폐쇄망 VPC 등 P2P 직접 경로 수립이 불가능한 통신 구간에서는 자체 운영 릴레이를 통해 트래픽이 중계됩니다. 따라서 릴레이 노드의 네트워크 대역폭과 물리적 리전 배치가 전송 성능의 병목이 될 수 있습니다.
- 생태계 성숙도 차이: Tailscale이나 Cloudflare 등 수년간 대규모 프로덕션 환경에서 검증된 글로벌 엣지 인프라와 엔터프라이즈 통합 기능에 비하면, Tunnet은 통합 단일 스택의 투명성과 독립성에 무게를 둔 프로젝트입니다.
외부 클라우드 벤더의 통제 없이 조직 내부망, CI 러너, 개발 워크스테이션을 하나로 묶고 인프라 접근 정책을 단일 리포지토리에서 온전히 다루고자 하는 엔지니어링 팀에게 Tunnet은 유력한 오픈소스 선택지가 될 수 있습니다.