집이나 회사에 있는 Ubuntu 서버에 외부에서 접속하려고 하면 다음과 같은 문제를 자주 만나게 됩니다.
- 공유기 포트포워딩을 어떻게 설정하는지 모르겠다.
- 공유기 관리자 페이지에 접근할 수 없다.
- 인터넷 공인 IP가 계속 바뀐다.
- 통신사 인터넷이 CGNAT 환경이라 포트포워딩이 되지 않는다.
- SSH나 원격 데스크톱 포트를 인터넷에 그대로 공개하기 불안하다.
- 집에서는 접속되는데 외부 Wi-Fi나 모바일 데이터에서는 접속되지 않는다.
- 여러 대의 PC와 서버를 하나의 내부망처럼 연결하고 싶다.
이럴 때 사용할 수 있는 프로그램이 Tailscale입니다.
이 글에서는 Tailscale이 필요한 상황과 작동 원리를 쉽게 설명하고, 모바일과 Ubuntu와 Windows에 설치해 서로 연결하는 방법을 알아봅니다.
1. Tailscale이란?
Tailscale은 서로 다른 장소에 있는 PC, 서버, 스마트폰을 하나의 가상 사설망으로 연결해 주는 프로그램입니다.
쉽게 말하면 다음과 같습니다.
회사 Ubuntu 서버 ─┐
집 Windows PC ─┼─ Tailscale 전용 가상 네트워크
노트북 ─┤
스마트폰 ─┘
각 장치가 실제로는 서로 다른 인터넷 회선을 사용하고 있어도, Tailscale에 같은 계정으로 로그인하면 같은 공유기에 연결된 기기처럼 통신할 수 있습니다.
Tailscale은 각 장치에 고정적인 전용 IP 주소와 이름을 할당합니다. 장치가 집 Wi-Fi에서 모바일 핫스팟으로 이동하더라도 Tailscale 주소는 그대로 유지됩니다. MagicDNS가 활성화되어 있으면 숫자로 된 IP 대신 장치 이름으로도 접속할 수 있습니다.
2. 일반 VPN과 무엇이 다른가?
일반적인 회사 VPN은 모든 장치가 중앙 VPN 서버를 거쳐 통신하는 방식이 많습니다.
Tailscale은 가능한 경우 장치끼리 직접 연결하는 메시 VPN 방식을 사용합니다. 연결에는 WireGuard 기반 기술이 사용되며, 직접 연결이 어려운 네트워크에서는 중계 서버를 이용할 수 있습니다. 일반적인 환경에서는 사용자가 공유기 포트포워딩을 직접 설정하지 않아도 연결되도록 NAT 통과를 자동 처리합니다.
일반적인 중앙형 VPN
내 노트북 → VPN 서버 → Ubuntu 서버
Tailscale의 일반적인 연결
내 노트북 ─────────→ Ubuntu 서버
직접 암호화 연결
따라서 Tailscale은 VPN 서버를 직접 구축하고 인증서와 계정을 관리하는 부담을 크게 줄여 줍니다.
3. Tailscale이 필요한 상황
3.1 외부에서 Ubuntu 서버에 SSH 접속할 때
회사나 집의 Ubuntu 서버에 다음과 같이 접속하고 싶을 수 있습니다.
ssh 사용자이름@서버주소
기존 방식에서는 공유기에서 SSH 포트인 22번을 외부에 공개하거나 별도의 VPN 서버를 구축해야 했습니다.
Tailscale을 사용하면 SSH 포트를 인터넷 전체에 공개하지 않고, Tailscale에 로그인한 장치만 서버에 접근하도록 구성할 수 있습니다.
3.2 Windows에서 Ubuntu의 웹서비스를 이용할 때
Ubuntu 서버에서 다음과 같은 서비스를 실행하고 있다고 가정해 보겠습니다.
- Open WebUI
- Ollama
- vLLM
- JupyterLab
- 코드 서버
- NAS 웹 관리 화면
- 개인 웹사이트
- 사내 대시보드
- CCTV 또는 NVR 관리 프로그램
- OpenClaw 게이트웨이
같은 공유기에 연결된 경우에는 보통 다음처럼 접속합니다.
http://192.168.0.10:3000
하지만 외부에서는 192.168.x.x 같은 내부 IP에 직접 접속할 수 없습니다.
Tailscale을 설치하면 다음과 같이 접속할 수 있습니다.
http://100.x.x.x:3000
또는 MagicDNS를 사용하면 다음처럼 장치 이름으로 접속할 수 있습니다.
http://ubuntu-server:3000
3.3 공인 IP가 없거나 CGNAT 환경일 때
일부 통신사, 모바일 인터넷, 위성 인터넷, 건물 공용 인터넷은 사용자에게 독립적인 공인 IPv4 주소를 제공하지 않습니다.
이런 환경에서는 공유기에서 포트포워딩을 설정해도 외부 접속이 되지 않을 수 있습니다.
Tailscale은 여러 NAT 통과 방식을 자동으로 사용하기 때문에, 일반적인 이용자는 공인 IP나 공유기 포트포워딩을 직접 관리하지 않고도 장치 사이의 연결을 구성할 수 있습니다. 다만 회사 방화벽처럼 외부 통신이 강하게 제한된 환경에서는 직접 연결 대신 중계 연결이 사용되거나 별도의 방화벽 조정이 필요할 수 있습니다.
3.4 여러 장소의 장비를 하나의 망으로 묶을 때
예를 들어 다음 장비가 서로 다른 장소에 있다고 가정해 보겠습니다.
집
├─ Windows 데스크톱
├─ NAS
└─ 스마트폰
회사
├─ Ubuntu GPU 서버
├─ Windows 업무 PC
└─ 개발용 서버
각 장치에 Tailscale을 설치하면 하나의 전용 네트워크인 tailnet 안에서 통신할 수 있습니다.
Tailscale 공식 문서에서도 가정용 장치 연결, 서버 인프라 접근, AI 서버와 GPU 클러스터 접근, 개발 테스트 환경 연결 등을 대표적인 사용 사례로 소개하고 있습니다.
4. 설치 전에 알아둘 점
Tailscale은 원격제어 프로그램 자체가 아닙니다.
Tailscale이 하는 일은 두 장치 사이에 안전한 네트워크 길을 만들어 주는 것입니다.
실제 접속에는 별도의 서비스가 필요합니다.
| 하고 싶은 작업 | 서버에서 필요한 서비스 |
|---|---|
| Ubuntu 터미널 접속 | SSH |
| Windows 화면 원격제어 | Windows 원격 데스크톱 또는 다른 원격제어 프로그램 |
| Ubuntu 화면 원격제어 | xrdp, RustDesk, NoMachine, VNC 등 |
| 웹페이지 접속 | 웹서버 또는 해당 프로그램 |
| 파일 공유 | SMB, SFTP, NAS 프로그램 등 |
| 로컬 LLM 사용 | Ollama, vLLM, Open WebUI 등의 서버 |
즉, Tailscale 연결이 정상이어도 대상 프로그램이 실행되지 않았거나 외부 연결을 받도록 설정되지 않았다면 접속할 수 없습니다.
5. Ubuntu에 Tailscale 설치하기
Tailscale은 Ubuntu를 포함한 여러 Linux 배포판을 지원하며, 공식 설치 스크립트나 배포판별 패키지 관리자를 사용할 수 있습니다.
5.1 터미널 열기
Ubuntu에서 터미널을 실행합니다.
단축키는 보통 다음과 같습니다.
Ctrl + Alt + T
5.2 Tailscale 설치
공식 간편 설치 명령어를 실행합니다.
curl -fsSL https://tailscale.com/install.sh | sh
이 명령은 현재 Ubuntu 버전을 확인하고 적절한 저장소와 패키지를 설치합니다. 공식 Linux 다운로드 페이지에서도 같은 설치 방식을 안내합니다.
curl 명령이 없다면 먼저 설치합니다.
sudo apt update
sudo apt install -y curl
그런 다음 다시 설치합니다.
curl -fsSL https://tailscale.com/install.sh | sh
5.3 Tailscale 로그인
설치가 끝나면 다음 명령을 실행합니다.
sudo tailscale up
터미널에 로그인용 주소가 표시됩니다.
To authenticate, visit:
https://login.tailscale.com/...
주소를 웹브라우저에서 열고 Google, Microsoft, GitHub, Apple 등의 지원되는 계정으로 로그인합니다.
Windows와 Ubuntu가 같은 Tailscale 네트워크에 들어가야 하므로, 두 장치에서는 원칙적으로 같은 개인 계정 또는 같은 조직의 승인된 계정을 사용해야 합니다.
5.4 연결 상태 확인
tailscale status
예시는 다음과 같습니다.
100.80.10.20 ubuntu-server user@example.com linux
100.92.30.40 windows-pc user@example.com windows
현재 Ubuntu 서버의 Tailscale IPv4 주소만 확인하려면 다음 명령을 사용합니다.
tailscale ip -4
예시:
100.80.10.20
5.5 서비스 실행 상태 확인
sudo systemctl status tailscaled
정상이라면 다음과 비슷하게 표시됩니다.
Active: active (running)
꺼져 있다면 실행합니다.
sudo systemctl enable --now tailscaled
5.6 Tailscale 끄기와 다시 켜기
연결 해제:
sudo tailscale down
다시 연결:
sudo tailscale up
로그아웃:
sudo tailscale logout
6. Windows에 Tailscale 설치하기
현재 일반 Tailscale Windows 클라이언트는 Windows 10 이상 또는 Windows Server 2016 이상을 요구합니다.
6.1 설치 프로그램 받기
Tailscale 공식 다운로드 페이지에서 Windows 설치 프로그램을 내려받습니다.
검색할 때는 다음과 같이 찾으면 됩니다.
Tailscale Windows download
비공식 다운로드 사이트보다 Tailscale 공식 사이트의 설치 파일을 사용하는 것이 안전합니다.
6.2 설치하기
다운로드한 설치 파일을 실행하고 안내에 따라 설치합니다.
설치가 끝나면 Windows 작업 표시줄 오른쪽 아래 알림 영역에 Tailscale 아이콘이 나타납니다.
아이콘이 보이지 않으면 숨겨진 아이콘 표시 버튼인 ∧를 눌러 확인합니다.
6.3 로그인하기
- Tailscale 아이콘을 클릭합니다.
Log in또는Sign in을 선택합니다.- 웹브라우저가 열리면 Ubuntu에서 사용한 계정으로 로그인합니다.
- 로그인이 완료되면 Windows PC가 tailnet에 추가됩니다.
공식 빠른 시작 절차에서도 첫 번째 장치를 등록한 뒤 두 번째 장치에 Tailscale을 설치하고 인증하면 두 장치가 관리 화면에 표시되는 방식으로 안내합니다.
6.4 Windows에서 장치 확인하기
Tailscale 아이콘을 클릭하면 연결된 장치 목록과 각 장치의 주소를 확인할 수 있습니다.
PowerShell에서도 확인할 수 있습니다.
tailscale status
내 Windows PC의 Tailscale IP 확인:
tailscale ip -4
7. Windows에서 Ubuntu로 접속 테스트하기
Ubuntu의 Tailscale IP가 다음과 같다고 가정하겠습니다.
100.80.10.20
7.1 네트워크 응답 확인
Windows PowerShell에서 실행합니다.
ping 100.80.10.20
장치 이름으로도 시험할 수 있습니다.
ping ubuntu-server
MagicDNS는 각 장치에 이름을 만들어 주기 때문에 IP를 외우지 않고 장치 이름으로 접근할 수 있습니다.
단, 운영체제 방화벽이 일반 ping을 차단할 수 있으므로 ping이 실패했다고 해서 반드시 Tailscale 연결 전체가 실패한 것은 아닙니다.
Tailscale 자체 연결을 확인하려면 다음 명령이 더 유용합니다.
tailscale ping ubuntu-server
또는:
tailscale ping 100.80.10.20
7.2 SSH로 Ubuntu 접속하기
Ubuntu에 SSH 서버를 설치합니다.
sudo apt update
sudo apt install -y openssh-server
sudo systemctl enable --now ssh
Ubuntu에서 SSH 상태를 확인합니다.
sudo systemctl status ssh
Windows PowerShell에서 접속합니다.
ssh 우분투사용자명@100.80.10.20
예를 들어 Ubuntu 계정이 dooly라면:
ssh dooly@100.80.10.20
MagicDNS 이름을 사용할 수도 있습니다.
ssh dooly@ubuntu-server
처음 접속할 때 다음과 같은 메시지가 나오면 서버 주소가 맞는지 확인한 뒤 yes를 입력합니다.
Are you sure you want to continue connecting?
그런 다음 Ubuntu 사용자 비밀번호를 입력합니다.
8. Ubuntu 웹서비스에 접속하기
Ubuntu에서 웹서비스가 3000번 포트로 실행 중이라고 가정하겠습니다.
Windows 웹브라우저에서 다음 주소를 엽니다.
http://100.80.10.20:3000
또는:
http://ubuntu-server:3000
그런데 Tailscale 상태는 정상인데 웹페이지가 열리지 않을 수 있습니다.
이 경우 대부분 Tailscale 자체보다 웹서비스의 바인드 주소가 원인입니다.
8.1 127.0.0.1과 0.0.0.0의 차이
프로그램이 다음 주소에서 실행되고 있다면:
127.0.0.1:3000
Ubuntu 서버 내부에서만 접속할 수 있습니다.
외부 Windows PC나 스마트폰에서는 접근할 수 없습니다.
다른 장치에서도 접속하려면 프로그램이 다음처럼 네트워크 연결을 받아야 합니다.
0.0.0.0:3000
쉽게 비유하면 다음과 같습니다.
127.0.0.1 = 방 안에서만 열리는 문
0.0.0.0 = 집 밖에서 온 연결도 받을 수 있는 현관문
예를 들어 Python 웹서버를 실행한다면:
python3 -m http.server 3000 --bind 0.0.0.0
서비스마다 설정 이름은 다를 수 있습니다.
host
bind
listen
listen_address
gateway.bind
server.host
OpenClaw나 유사한 게이트웨이 프로그램에서 다음처럼 설정되어 있다면:
{
"gateway": {
"bind": "127.0.0.1"
}
}
외부 장치에서 접속할 수 없습니다.
프로그램이 허용하는 설정 형식에 맞춰 다음처럼 변경해야 할 수 있습니다.
{
"gateway": {
"bind": "0.0.0.0"
}
}
바인드 주소는 프로그램이 시작할 때 소켓에 적용되는 경우가 많습니다. 따라서 설정을 변경한 뒤 단순 설정 새로고침이 아니라 프로그램을 완전히 재시작해야 할 수 있습니다.
0.0.0.0으로 바꾸면 같은 네트워크의 다른 인터페이스에서도 접근할 수 있으므로, Ubuntu 방화벽과 Tailscale 접근 권한도 함께 관리해야 합니다.
8.2 프로그램이 실제로 포트를 열었는지 확인
Ubuntu에서 실행합니다.
sudo ss -tulnp
특정 포트만 확인하려면:
sudo ss -tulnp | grep 3000
정상적인 외부 연결 대기 예시:
LISTEN 0 4096 0.0.0.0:3000
로컬에서만 대기 중인 예시:
LISTEN 0 4096 127.0.0.1:3000
ss 명령이 없다면 다음 패키지를 설치합니다.
sudo apt update
sudo apt install -y iproute2
9. Ubuntu 방화벽 설정
Ubuntu에서 UFW가 활성화되어 있으면 Tailscale 연결이 방화벽에 막힐 수 있습니다.
상태 확인:
sudo ufw status verbose
Tailscale 인터페이스를 통한 연결을 허용하려면 다음과 같이 설정할 수 있습니다.
sudo ufw allow in on tailscale0
특정 포트만 허용하려면 다음처럼 제한할 수 있습니다.
sudo ufw allow in on tailscale0 to any port 22 proto tcp
sudo ufw allow in on tailscale0 to any port 3000 proto tcp
위 설정은 각각 Tailscale을 통한 SSH와 3000번 웹서비스 접속을 허용합니다.
인터넷 전체에 포트를 여는 다음 설정과는 의미가 다릅니다.
sudo ufw allow 3000/tcp
가능하면 Tailscale 전용 접근만 허용하는 편이 안전합니다. Tailscale 공식 문서에도 Ubuntu 서버를 UFW와 함께 보호하는 별도 안내가 제공됩니다.
10. Windows 방화벽 확인
Ubuntu에서 Windows에 접속하려는 경우에는 Windows 방화벽도 확인해야 합니다.
예를 들어 Windows에서 웹서버나 원격 데스크톱을 실행하고 있다면 해당 프로그램이 다음 조건을 충족해야 합니다.
- 프로그램이 실행 중이어야 한다.
- Windows 방화벽에서 연결이 허용되어야 한다.
- 서비스가 로컬 주소에만 묶여 있지 않아야 한다.
- 접속하려는 포트가 실제로 열려 있어야 한다.
PowerShell에서 특정 포트 접속을 시험할 수 있습니다.
Test-NetConnection 100.80.10.20 -Port 3000
결과에서 다음 항목이 중요합니다.
TcpTestSucceeded : True
False라면 다음 항목을 확인합니다.
- 프로그램이 실행 중인가?
- 포트 번호가 맞는가?
- 서비스가
0.0.0.0또는 Tailscale 인터페이스에서 대기 중인가? - Ubuntu 또는 Windows 방화벽이 막고 있지 않은가?
11. 관리자 페이지에서 장치 확인하기
Tailscale 관리자 콘솔에서는 다음 항목을 확인할 수 있습니다.
- 연결된 사용자
- 등록된 장치
- 장치 이름
- Tailscale IP
- 마지막 접속 시간
- 운영체제
- 장치 승인 상태
- DNS 설정
- 접근 권한
- 인증 키
- Exit Node와 Subnet Router 설정
Tailscale 빠른 시작 문서에 따르면 관리자 콘솔에서 사용자, 장치, DNS, 권한 및 인증 키 등을 관리할 수 있습니다.
사용하지 않는 장치나 알 수 없는 장치가 등록되어 있다면 삭제하거나 접근 권한을 점검하는 것이 좋습니다.
12. 스마트폰에서도 사용할 수 있을까?
Android와 iPhone에도 Tailscale 앱을 설치할 수 있습니다.
설정 순서는 거의 같습니다.
- 앱스토어에서 Tailscale을 설치합니다.
- Ubuntu 및 Windows에서 사용한 계정으로 로그인합니다.
- VPN 연결 요청을 허용합니다.
- Tailscale을 활성화합니다.
- Ubuntu 서버의 Tailscale IP 또는 장치 이름으로 접속합니다.
예를 들어 Ubuntu에서 웹서비스가 3000번 포트로 실행 중이라면 스마트폰 브라우저에서 다음 주소를 엽니다.
http://100.80.10.20:3000
또는:
http://ubuntu-server:3000
스마트폰의 Tailscale 앱에 Ubuntu 서버가 보이더라도 웹페이지가 열리지 않는다면, 서버 프로그램의 바인드 주소와 방화벽을 먼저 확인해야 합니다.
13. 자주 발생하는 문제
문제 1. Tailscale 목록에는 장치가 보이는데 접속되지 않는다
가장 먼저 확인할 내용:
tailscale status
tailscale ip -4
sudo ss -tulnp
sudo ufw status verbose
원인은 대체로 다음 중 하나입니다.
- 대상 프로그램이 실행되지 않음
- 잘못된 포트 사용
- 프로그램이
127.0.0.1에서만 실행됨 - Ubuntu 방화벽 차단
- Windows 방화벽 차단
- Tailscale 계정 또는 tailnet이 서로 다름
- 접근 제어 정책에 의해 차단됨
문제 2. Windows와 Ubuntu에서 서로 다른 장치 목록이 보인다
서로 다른 Tailscale 계정이나 조직으로 로그인했을 가능성이 있습니다.
두 장치에서 로그인된 계정을 확인하고, 같은 tailnet에 포함되어 있는지 관리자 페이지에서 확인합니다.
문제 3. ping은 실패하지만 SSH나 웹페이지는 열린다
일반 ping에 사용되는 ICMP 응답만 방화벽에서 차단된 것일 수 있습니다.
Tailscale 연결 시험:
tailscale ping 장치이름
실제 서비스 시험:
Test-NetConnection 100.80.10.20 -Port 22
또는:
Test-NetConnection 100.80.10.20 -Port 3000
문제 4. 집에서는 되는데 모바일 데이터에서는 안 된다
다음 순서로 확인합니다.
- 스마트폰 Tailscale VPN이 활성화되어 있는지 확인
- Ubuntu에서
tailscale status확인 - 서버 서비스의 바인드 주소 확인
- Ubuntu 방화벽 확인
- IP 대신 Tailscale 장치 이름으로 접속 시험
- 포트 번호 확인
- 서버 프로그램 완전 재시작
문제 5. 연결 속도가 느리다
Tailscale은 가능한 경우 장치 사이에 직접 연결하지만, 네트워크 환경에 따라 중계 연결이 사용될 수 있습니다.
Ubuntu에서 다음 명령으로 상태를 확인합니다.
tailscale status
직접 연결이면 상태에 direct가 표시될 수 있고, 중계 중이면 relay 또는 DERP 관련 표시가 나타날 수 있습니다.
회사 방화벽, 대칭형 NAT, 제한적인 공용 Wi-Fi 등에서는 직접 연결이 어려울 수 있습니다. Tailscale 공식 문서는 방화벽 환경에서 직접 연결을 개선하기 위한 설정도 안내하지만, 일반 가정에서는 먼저 기본 설정 그대로 시험하는 것이 좋습니다.
14. Tailscale Serve는 무엇인가?
로컬에서 실행 중인 웹서비스를 tailnet 내부 장치에 좀 더 편리하게 제공하려면 Tailscale Serve를 사용할 수 있습니다.
예를 들어 Ubuntu의 127.0.0.1:3000에서 실행되는 웹서비스를 Tailscale 내부에 공유하려면 다음과 같이 사용할 수 있습니다.
tailscale serve 3000
Tailscale Serve는 로컬 포트나 웹서비스를 tailnet 안의 다른 장치에 전달하며, 접근 제어 정책도 적용됩니다.
단, Serve의 세부 명령과 HTTPS 설정은 Tailscale 버전에 따라 달라질 수 있으므로 다음 명령으로 현재 사용법을 확인하는 것이 좋습니다.
tailscale serve --help
15. Tailscale Funnel과 혼동하지 말 것
Tailscale Serve와 Funnel은 목적이 다릅니다.
Tailscale Serve
→ 내 Tailscale 네트워크에 가입한 장치끼리 서비스 공유
Tailscale Funnel
→ 일반 인터넷 사용자에게 서비스 공개
Funnel은 Tailscale을 설치하지 않은 외부 사용자도 접근할 수 있도록 로컬 서비스를 인터넷에 공개하는 기능입니다. 따라서 개인 서버 관리 화면처럼 비공개로 유지해야 하는 서비스에는 신중하게 사용해야 합니다. Tailscale 공식 문서 기준 Funnel은 현재 베타 기능으로 안내됩니다.
16. 보안을 위해 꼭 확인할 사항
같은 계정을 아무에게나 공유하지 않기
Tailscale 계정에 로그인된 장치는 설정에 따라 다른 장치에 접근할 수 있습니다.
공용 PC에서는 로그인하지 않는 것이 좋습니다.
사용하지 않는 장치 삭제하기
PC를 판매하거나 운영체제를 재설치했다면 관리자 콘솔에서 기존 장치를 확인합니다.
서비스 자체의 비밀번호 유지하기
Tailscale을 사용한다고 해서 SSH, 웹 관리 페이지, NAS 비밀번호가 필요 없어지는 것은 아닙니다.
가능하면 다음을 함께 사용합니다.
- 강력한 비밀번호
- SSH 공개키 인증
- 2단계 인증
- 최소 권한 계정
- Tailscale 접근 제어 정책
- Tailscale 인터페이스만 허용하는 방화벽 규칙
공유기 포트포워딩은 가능하면 닫기
기존에 다음 포트를 인터넷에 공개해 두었다면 필요성을 다시 검토합니다.
22 SSH
3389 Windows 원격 데스크톱
5900 VNC
3000 웹서비스
8080 웹서비스
Tailscale만으로 접속할 수 있다면 인터넷 전체에 열어 둔 포트를 닫는 것이 공격 노출을 줄이는 데 도움이 됩니다.
17. 가장 간단한 설치 요약
Ubuntu
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale status
tailscale ip -4
SSH 서버 설치:
sudo apt update
sudo apt install -y openssh-server
sudo systemctl enable --now ssh
Tailscale을 통한 SSH만 UFW에서 허용:
sudo ufw allow in on tailscale0 to any port 22 proto tcp
Windows
- Tailscale 공식 Windows 설치 프로그램을 설치합니다.
- Ubuntu와 같은 계정으로 로그인합니다.
- 작업 표시줄의 Tailscale 아이콘에서 Ubuntu 장치를 확인합니다.
- PowerShell에서 연결을 시험합니다.
tailscale status
tailscale ping ubuntu-server
ssh 사용자명@ubuntu-server
웹서비스 확인:
Test-NetConnection ubuntu-server -Port 3000
브라우저 접속:
http://ubuntu-server:3000
18. 결론
Tailscale은 복잡한 공유기 설정이나 고정 공인 IP 없이도 서로 떨어진 PC, 서버, 스마트폰을 하나의 전용 네트워크처럼 연결해 줍니다.
특히 다음과 같은 사용자에게 유용합니다.
- 집이나 회사의 Ubuntu 서버에 외부에서 접속하려는 사람
- Windows에서 Ubuntu의 SSH·웹서비스·로컬 LLM을 이용하려는 사람
- 공유기 포트포워딩이 어렵거나 CGNAT 환경을 사용하는 사람
- NAS, 홈서버, GPU 서버를 안전하게 관리하려는 사람
- 스마트폰으로 내부 관리 페이지에 접속하려는 사람
다만 Tailscale은 연결 통로를 만들어 주는 도구입니다.
접속이 되려면 대상 서비스가 실제로 실행 중이어야 하며, 127.0.0.1이 아닌 적절한 주소에서 연결을 받고 있어야 하고, 운영체제 방화벽에서도 해당 연결을 허용해야 합니다.
문제가 생겼을 때는 다음 네 가지를 차례대로 확인하면 대부분 원인을 찾을 수 있습니다.
1. Tailscale 장치 연결 상태
2. 대상 프로그램 실행 상태
3. 서비스의 bind 또는 listen 주소
4. Ubuntu·Windows 방화벽'컴퓨터' 카테고리의 다른 글
| Obsidian을 여러 장치에서 무료로 동기화: Syncthing (1) | 2026.07.19 |
|---|---|
| Tapo H200 D230 녹화 영상 다운로더 (1) | 2026.07.12 |
| TCP 터널링으로 사내 웹페이지, RDP, SSH 사용하기(집에서 회사망 이용) (2) | 2026.06.29 |
| SK 통신사 모뎀 + iptime 공유기 환경에서 외부 VPN 접속 구축기 (WireGuard) (0) | 2026.05.04 |
| GitHub 대용량 모델 파일 관리: 자동 분할 및 병합 (2) | 2026.02.06 |