Tailscale로 집 서버·맥·안드로이드 폰을 한 네트워크로 묶는 방법
포트포워딩 없이 밖에서 집 서버에 ssh로 들어가고, 다른 네트워크에 있는 안드로이드 폰에 무선 adb로 앱을 설치하기까지의 설정 순서입니다. 무료 범위, 연결 확인 명령, 서버에서 꺼 둘 설정을 함께 적었습니다.
집에는 서버로 쓰는 맥미니가 있고, 사무실에는 작업용 맥이 있고, 폰은 안드로이드입니다. 세 기기가 서로 다른 네트워크에 있어서 밖에서는 집 서버 상태를 볼 수 없었고, 사무실에서 집 컴퓨터에 있는 파일을 가져올 수도 없었습니다.
세 기기에 Tailscale을 설치하고 같은 계정으로 로그인했더니 공유기 설정을 건드리지 않고 해결됐습니다. 이 글은 그 설정 순서와 연결 확인 방법, 그리고 다른 네트워크에 있는 폰에 무선 adb로 앱을 설치하는 방법을 적습니다. 개인 사용은 무료입니다.

Tailscale은 무엇이고 무료로 어디까지 되나
Tailscale은 내 기기들끼리만 통하는 사설 네트워크를 만들어 주는 서비스입니다. 공식 문서는 기기끼리 직접 연결되는 메시 네트워크를 만들고, 연결은 오픈소스인 WireGuard 프로토콜로 암호화하며, 포트포워딩이나 방화벽 규칙을 따로 잡을 필요가 없다고 설명합니다(What is Tailscale?).
쓰는 입장에서 알아야 할 것은 네 가지입니다.
- 각 기기에 앱을 설치하고 같은 계정으로 로그인합니다.
- 기기마다
100.x.y.z형태의 고정 주소를 받습니다. - 그 주소로는 집 와이파이, 사무실 랜, LTE 어디에 있든 서로 접속됩니다.
- 이 주소는 내 계정에 로그인한 기기에서만 보입니다.
요금은 공식 요금표 기준으로 Personal 플랜이 무료이고, 사용자 6명까지, 기기 수는 제한이 없습니다(2026년 10월 확인). 그 위 Standard 플랜은 사용자 1명당 월 8달러입니다. 서버 1대, 컴퓨터 1대, 폰 1대인 이 글의 구성은 무료 범위 안입니다.
1. 맥과 안드로이드 폰에 설치하고 로그인하기
맥은 Homebrew나 App Store로 설치합니다.
brew install --cask tailscale
# 설치 후 Tailscale 앱 실행 → 브라우저에서 로그인
안드로이드 폰은 Play 스토어에서 Tailscale 앱을 설치하고 같은 계정으로 로그인합니다. 서버로 쓰는 맥도 방법은 같습니다.
전부 로그인했으면 아무 기기에서나 목록을 확인합니다.
tailscale status
# 100.101.x.x home-server ...
# 100.102.x.x office-mac ...
# 100.103.x.x galaxy-phone ...
여기 나오는 100.x 주소가 각 기기의 고정 주소입니다. 내 기기의 주소만 보려면 tailscale ip -4를 씁니다.
2. 밖에서 집 서버에 ssh로 접속하고 파일 가져오기
접속할 맥에는 원격 로그인이 켜져 있어야 합니다. 시스템 설정 → 일반 → 공유 → 원격 로그인에서 켭니다.
그다음은 주소만 100.x로 바꿔서 평소처럼 씁니다.
ssh user@100.101.x.x # 밖에서 집 서버 접속
scp user@100.101.x.x:~/파일 . # 집 컴퓨터의 파일 가져오기
묶은 뒤에 실제로 하는 일은 이 정도입니다.
- 밖에서 집 서버가 살아 있는지, 저장 공간이 남았는지 확인합니다.
- 사무실에서 집 컴퓨터에 있는 파일을 바로 가져옵니다.
- 폰과 맥 사이의 연동도 이 주소로 합니다. 갤럭시와 맥을 직접 연결한 구성이 이 위에서 돌아갑니다.
3. 연결이 안 될 때 확인하는 순서
접속이 안 되면 아래 순서로 봅니다.
tailscale status # 상대 기기가 목록에 있고 offline이 아닌지
tailscale ping 100.101.x.x # Tailscale 경로로 응답이 오는지
- 목록에 없다: 그 기기에서 Tailscale 앱이 로그아웃됐거나 꺼져 있습니다.
- offline으로 나온다: 기기가 잠자기 상태이거나 인터넷이 끊겼습니다. 서버로 쓰는 맥은 잠자기를 꺼 둬야 합니다.
- ping은 되는데 ssh가 안 된다: Tailscale 문제가 아닙니다. 상대 맥의 원격 로그인 설정을 봅니다.
tailscale ping 결과에 via DERP가 붙으면 두 기기가 직접 연결되지 못하고 Tailscale의 중계 서버를 거치고 있다는 뜻입니다. 접속은 되지만 느려질 수 있습니다.
4. 서버로 쓰는 기기는 키 만료를 꺼 두기
Tailscale은 기기마다 로그인 키에 만료 기한을 두고, 기한이 지나면 그 기기에서 다시 로그인해야 합니다. 화면을 볼 일이 없는 서버가 이렇게 끊기면 밖에서는 다시 붙일 방법이 없습니다.
Tailscale 관리 화면(Machines)에서 서버 기기를 고르고 Disable key expiry를 켜 두면 만료되지 않습니다. 폰이나 노트북은 기본값대로 두는 편이 안전합니다.
5. 다른 네트워크에 있는 안드로이드 폰에 무선 adb 연결하기
안드로이드 무선 디버깅은 원래 폰과 컴퓨터가 같은 와이파이에 있어야 합니다. 두 기기가 Tailscale로 묶여 있으면 서로 다른 네트워크에 있어도 연결됩니다.
폰에서 개발자 옵션 → 무선 디버깅을 켜고 “페어링 코드로 기기 페어링”을 누르면 포트와 6자리 코드가 뜹니다. 컴퓨터에서 폰의 Tailscale 주소로 페어링합니다.
adb pair 100.103.x.x:37123 # 화면에 뜬 페어링 포트
# Enter pairing code: 6자리 입력
페어링이 끝나면 무선 디버깅 화면에 표시된 연결 포트로 붙습니다.
adb connect 100.103.x.x:40001
adb devices # 연결 확인
adb install app-debug.apk # 앱 설치
이 상태에서는 scrcpy도 그대로 됩니다. 폰이 어느 네트워크에 있든 컴퓨터에서 폰 화면을 띄우고 조작할 수 있습니다.
scrcpy # 연결된 adb 기기 화면 미러링
페어링 포트와 연결 포트는 무선 디버깅을 껐다 켤 때마다 바뀔 수 있어서 처음 한 번은 폰 화면을 봐야 합니다. 페어링은 기기당 한 번이고, 그 뒤에는 adb connect만 다시 하면 됩니다.
포트포워딩·DDNS와 무엇이 다른가

밖에서 집 컴퓨터에 접속하는 예전 방법은 공유기 포트포워딩입니다. 이 방법은 인터넷 전체에서 접근할 수 있는 포트를 하나 여는 것이라, 포트 스캔에 잡히고 접속 시도가 들어옵니다. 집 IP가 바뀌면 주소도 바뀌어서 DDNS를 따로 관리해야 합니다.
| 포트포워딩 + DDNS | Tailscale | |
|---|---|---|
| 공유기 설정 | 포트를 직접 연다 | 건드리지 않는다 |
| 밖에서 보이는 것 | 열린 포트 | 없음 |
| 주소 | 집 IP가 바뀌면 달라짐 | 기기마다 고정 100.x |
| 접속할 수 있는 사람 | 주소와 포트를 아는 누구나 시도 가능 | 내 계정에 로그인한 기기만 |
접근 권한이 계정 하나에 달려 있으므로 Tailscale에 로그인하는 계정에는 2단계 인증을 켜 둡니다.
Tailscale로 안 되는 것
Tailscale은 내 기기끼리 통하는 길입니다. 내 계정에 없는 사람에게 집 서버의 사이트를 보여 주는 용도로는 맞지 않습니다. 집 서버를 내 도메인으로 누구에게나 공개하려면 Cloudflare Tunnel로 포트포워딩 없이 집 서버를 외부에 여는 방법을 씁니다. 저는 공개할 사이트는 Cloudflare Tunnel, 저만 들어가는 접속은 Tailscale로 나눠 쓰고 있습니다.
서버가 없어도 됩니다. 컴퓨터 두 대만 있으면 같은 구성을 만들 수 있습니다.
자주 묻는 질문
Tailscale은 무료인가요?
개인용 Personal 플랜이 무료이고 사용자 6명까지 쓸 수 있습니다(2026년 10월 확인). 이 글의 구성(서버 1대, 컴퓨터 1대, 폰 1대)은 전부 무료 범위 안에서 돌아갑니다.
일반 VPN과 뭐가 다른가요?
해외 IP로 우회하는 상용 VPN과 달리, Tailscale은 내 기기들끼리만 통하는 사설 통로를 만듭니다. 인터넷 트래픽 전체가 어디를 거쳐 가는 게 아니라, 내 기기로 향하는 연결만 이 통로를 탑니다. 목적이 "숨기"가 아니라 "내 기기 연결"입니다.
포트포워딩이나 DDNS와 비교하면 어떤가요?
포트포워딩은 공유기에 인터넷 전체를 향한 문을 여는 방식이라 스캔과 공격의 대상이 됩니다. Tailscale은 포트를 하나도 열지 않고 각 기기가 바깥으로 연결을 맺기 때문에, 외부에서 스캔하면 아무것도 보이지 않습니다. 주소도 고정 100.x라 DDNS 갱신 관리가 필요 없습니다.