본문으로 건너뛰기

Tailscale 원격 개발

Tailscale을 활용한 원격 개발 환경 설정 가이드입니다.

📝 초안 (Draft)

이 문서는 검토 중입니다. 내용이 변경될 수 있습니다.

개요

Tailscale은 WireGuard 기반의 메시 VPN으로, 안전하고 간편한 원격 개발 환경을 제공합니다.

사용 시나리오

시나리오설명
원격 서버 접속로컬 PC → 개발 서버
팀 협업팀원 간 서버 공유
홈 서버 접속외부 → 홈 서버
Docker 서비스 접근원격 Docker 컨테이너 접근

설치

Linux

# Ubuntu/Debian
curl -fsSL https://tailscale.com/install.sh | sh

# 시작
sudo tailscale up

macOS

# Homebrew
brew install tailscale

# 또는 App Store에서 설치

Windows

공식 사이트에서 다운로드: https://tailscale.com/download

기본 설정

1. 로그인

# 브라우저로 인증
sudo tailscale up

# 또는 인증 키 사용
sudo tailscale up --authkey=<key>

2. 상태 확인

# 연결 상태
tailscale status

# IP 확인
tailscale ip -4

3. SSH 접속

# Tailscale IP로 SSH
ssh user@100.x.x.x

# 또는 MagicDNS 사용
ssh user@hostname

개발 환경 설정

Docker 서비스 접근

# 원격 서버의 Docker 서비스에 접근
# Tailscale IP:PORT로 접속

# 예: 원격 PostgreSQL
psql -h 100.x.x.x -p 5432 -U postgres

# 예: 원격 웹 서버
curl http://100.x.x.x:8080

VS Code Remote SSH

// ~/.ssh/config
Host dev-server
HostName 100.x.x.x # Tailscale IP
User your-username
ForwardAgent yes

VS Code에서 Remote-SSH 확장으로 연결

Claude Code 원격 실행

# 원격 서버에서 Claude Code 실행
ssh dev-server
cd /path/to/project
claude

MagicDNS

활성화

Admin Console에서 DNS → MagicDNS 활성화

사용

# hostname으로 접속 (IP 대신)
ssh myserver

# 전체 도메인
ssh myserver.tailnet-name.ts.net

보안 설정

ACL (Access Control Lists)

// Tailscale Admin Console → Access Controls
{
"acls": [
{
"action": "accept",
"src": ["group:developers"],
"dst": ["tag:dev-server:*"]
}
]
}

태그 활용

# 서버에 태그 부여 (Admin Console)
tag:dev-server
tag:production

유용한 명령어

# 상태 확인
tailscale status

# 네트워크 진단
tailscale netcheck

# 로그아웃
tailscale logout

# 서비스 재시작
sudo systemctl restart tailscaled

일반적인 문제

연결 안 됨

# 방화벽 확인
sudo tailscale netcheck

# 서비스 재시작
sudo systemctl restart tailscaled

느린 연결

# Direct connection 확인
tailscale status
# "direct" vs "relay" 확인

관련 문서