프로젝트 소개
tailscaled-rs는 Tailscale 제어 프로토콜을 구현하여 WireGuard 기반 메시 오버레이 네트워크에 참여하도록 설계된 독립적이고 처음부터 작성된 Rust 시스템 데몬입니다. 내장 가능한 `tailscale-rs` 엔진 라이브러리 위에 구축된 이 프로젝트는 빠져 있던 데몬 계층을 제공합니다. 즉, 조정 가능한 상태 머신, 지속되는 환경 설정, 그리고 얇은 CLI(`tnet`)를 통해 상호작용할 수 있는 로컬 제어 소켓을 갖춘 상시 백그라운드 서비스(`tailnetd`)입니다.
주요 기능은 다음과 같습니다:
- **네트워크 참여**: 사전 인증 키를 사용하여 비대화형으로 실제 tailnet에 참여하고, tailnet IP를 획득하며 DERP 중계 링크를 통해 연결성을 설정합니다.
- **상태 관리**: 실제 엔진 상태에서 파생된 IPN 스타일 상태 머신(NoState → NeedsLogin → Starting → Running)을 구현하여 상태 불일치가 없도록 합니다. 호스트 이름 및 라우팅 설정과 같은 환경 설정은 재시작 후에도 유지됩니다.
- **로컬 제어**: Unix 도메인 소켓을 통해 LocalAPI를 노출하여 `tnet` CLI가 노드 상태를 관리하고, 연결을 활성화 또는 비활성화하며, 재연결 없이 실시간으로 호스트 이름 및 경로 수락과 같은 정책을 조정할 수 있게 합니다.
- **시스템 통합**: Linux(systemd) 및 macOS(launchd)에서 시스템 서비스로 설치를 지원하며, 부팅 시 시작과 네트워크 경로의 깔끔한 종료 해제를 처리합니다.
이 프로젝트는 현재 실험적 MVP 단계입니다. 기본적으로 사용자 공간 네트워킹 모드로 작동하므로 아직 커널 TUN 인터페이스를 프로그래밍하거나 OS 수준의 DNS/라우팅을 직접 수정하지 않습니다. 애플리케이션은 데몬의 netstack을 통해 tailnet에 도달합니다. 향후 로드맵에는 TUN 모드 지원, 대화형 브라우저 로그인, MagicDNS 통합, 종료 노드 기능, SSH/Serve 기능이 포함됩니다.
중요한 경고가 적용됩니다: 기반 암호화는 감사를 받지 않았으며, 이 소프트웨어는 안정성 보장을 제공하지 않습니다. Tailscale Inc.와 제휴하거나 승인 또는 후원을 받지 않았습니다. 추가 개발이 성숙해질 때까지 프로덕션 환경에서 데이터 프라이버시를 위해 이 소프트웨어에 의존해서는 안 됩니다. 이 프로젝트는 BSD-3-Clause 라이선스로 배포됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.