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" 확인
관련 문서
- tmux 터미널 환경 - 원격 세션 유지
- Docker 개발 환경 - 원격 Docker 접근