개발/개발 환경

Tailscale을 이용해서, 어디서나 서버에 연결하기.

B.바보 2025. 5. 18. 16:43

Tailscale

  • WireGuard 기반으로 동작하는 가상 사설망.
  • Tailscale에 로그인 → 장치등록 → 각 장치에 Tailscale IP 부여 방식으로 서비스가 이루어짐.
  • 장치 간 자동 연결을 지원하며 가능하다면 직접 통신(P2P)을 시도하고, 직접 통신이 안된다면 중계 방식으로 접속을 함.

Tailscale 설치 및 사용 방법

Ubuntu Server

  1. 파일 설치

     curl -fsSL https://tailscale.com/install.sh | sh
  2. 실행

     sudo tailscale up
    • 현재 메인@gmail.com 계정에 메인 workstaion을 등록하는 방식으로 사용함.
  3. Tag 설정

     sudo tailscale up --advertise-tags=tag:workstation
    • Tag는 나의 기기들을 그룹화 해주는 개념으로, 기기 접속 관리를 더 편하게 만들어 줌.
  4. 할당된 IP 확인

    • Workstation1은 WS1 IP에 해당하는 Tailscale IP를 할당 받음.
    • Workstation2은 WS2 IP에 해당하는 Tailscale IP를 할당 받음.
  5. 유저 초대

    • 다른 유저 계정(U1@gmail.com, U2@gmail.com, ...)도 메인@gmail.com에 접속 할 수 있도록 유저를 등록해야 함.
    • Admin의 Users에서 유저를 초대할 수 있음.
    • Tailscale은 하나의 기기에 등록할 수 있는 계정을 3개까지 무료로 지원하며, 그 이상은 유로로 사용이 가능 함.

Window Client

  1. Window에 Tailscale 앱을 다운받아 설치함.
  2. U1@gmail.com으로 로그인을 완료 하고, 메인@gmail.com의 IP에 접속을 함.

SSH 연결

ACLS 보안 설정

  {
      "ACLs": [
          {
              "action": "accept",
              "users":  ["autogroup:members"],
              "ports":  ["tag:workstation:22"]
          }
      ],
      "tagOwners": {
          "tag:workstation": [
              "메인@gmail.com",
              "U1@gamil.com",
              "U2@gmail.com"
          ]
      },
      "ssh": [
          {
              "action": "accept",
              "users":  ["autogroup:members"],
              "src":    ["autogroup:members"],
              "dst":    ["tag:workstation"]
          }
      ]
  }
  • 메인@gmail.com의 Admin에서 ACLS 설정을 추가해야 SSH 접속이 가능해짐.
  • Workstation tag를 지정한 기기만 접속이 가능함. → 설정한 tag에 맞게 변경해야 함.
  • Workstation tag에 접속 가능한 계정은 ACLS rule에 추가해야 함.

SSH config 설정

Host USER@WS1 IP
    HostName WS1 IP
    User USER
    ServerAliveInterval 60
    ServerAliveCountMax 3
    Compression yes
    TCPKeepAlive yes
    ForwardAgent yes