네트워크 / 보안

테일스케일(Tailscale)

Tailscale은 허용한 사용자와 기기를 암호화된 사설 네트워크로 연결하는 서비스입니다.

쉬운 설명

밖에서 집 컴퓨터의 개발 도구에 접속하고 싶을 때 Tailscale을 사용할 수 있어요. 기기를 설치·로그인 과정을 통해 네트워크에 참여시키고, 허용된 기기끼리 통신하도록 구성해요. 이 네트워크를 tailnet이라고 불러요. 기기가 연결돼도 앱의 실행 상태와 접속 권한까지 자동으로 해결되는 것은 아니에요.

이런 상황에서 만나요

집 컴퓨터에서 돌리는 스터디용 도구를 노트북에서 확인하려고 한다고 해 볼게요. 관리 화면에서 두 기기가 같은 tailnet에 참여했는지와 접속 가능한 상태인지 먼저 확인해요.

기기 연결과 앱 접속을 순서대로 확인해요

설명용 화면
1참여한 기기 예시

Tailnet study-team

노트북 study-laptop · 연결됨

집 컴퓨터 home-study · 연결됨

2앱 접속에 필요한 확인

home-study의 앱 실행 여부

서비스 주소와 포트

노트북에서 접근할 권한

3공유 범위 선택

Serve tailnet 내부

Funnel 인터넷 공개

  1. 1접속할 두 기기가 허용된 네트워크에 참여했는지 봐요.
  2. 2기기 목록에 보인다는 것만으로 앱 접속까지 보장되지는 않아요.
  3. 3누가 볼 수 있어야 하는지에 따라 기능을 구분해요.
Tailscale 사용 상황을 간추린 설명용 화면입니다. 기기·네트워크 이름과 상태는 예시이며 실제 관리 화면을 복제하지 않았습니다.

관리 화면에 기기가 보이면 대상 이름이나 주소, 서비스의 포트와 허용 규칙을 확인해요. localhost로만 접속을 받는 앱은 다른 기기에서 바로 열리지 않을 수 있어요. 필요한 경우 tailnet 안에 서비스를 제공하는 Tailscale Serve 등의 구성을 검토해요.

헷갈리기 쉬운 점

Tailscale을 설치하면 사이트가 인터넷에 공개되나요?

설치만으로 모든 사람에게 공개되는 것은 아니에요. Serve는 tailnet 안에 서비스를 제공하고, Funnel은 인터넷에서 접근할 수 있도록 공개하는 기능이에요. 비슷해 보여도 접근 범위가 다르므로 공유 전에 구분해야 해요.

같은 네트워크에 넣을 기기와 사용자, 허용할 대상·포트를 확인해요. 내부 앱에도 필요한 로그인과 권한을 유지하고, 사용하지 않는 기기의 접근은 정리해요.

왜 알아야 할까요?

집 서버에 접속하려고 포트를 인터넷 전체에 열기 전에 다른 연결 방식을 검토할 수 있어요. 기기 연결 문제와 내부 앱 접속 문제도 나누어 확인할 수 있어요.

조금 더 자세히

Tailscale은 WireGuard 기반의 암호화된 통신을 사용합니다. 기기 사이의 연결 방식은 네트워크 환경에 따라 달라질 수 있으므로 항상 직접 연결된다고 가정하지 않습니다.

tailnet의 접근 제어 정책으로 누가 어떤 대상과 통신할지 정할 수 있습니다. 현재 공식 문서의 grants는 출발지와 목적지, 허용할 통신 등을 표현합니다. 연결 자체와 앱 로그인은 서로 다른 제어입니다.

직접 사용할 때 확인해 보세요

  • 접속할 기기와 tailnet을 확인한다
  • 앱 실행·접속 주소·허용 규칙을 확인한다
  • Serve와 Funnel의 공개 범위를 구분한다

관계 지도

테일스케일(Tailscale) 중심으로 관련 개념의 정의와 관계를 한눈에 정리했습니다.
테일스케일(Tailscale)의 정의와 관련 개념 간 관계를 설명한 계층형 그래프