콘텐츠로 이동

VPN 설정

Vaultwarden, n8n UI, AI API 등 내부 서비스는 Headscale(Tailscale 호환) VPN을 통해 접근합니다. Nextcloud와 Upterm relay는 VPN 없이도 접근할 수 있습니다.

1. Tailscale 설치

tailscale.com/download에서 OS에 맞는 클라이언트를 설치합니다.

Windows

  1. tailscale.com/download/windows에서 설치 파일을 다운로드합니다
  2. 설치를 완료하면 시스템 트레이에 Tailscale 아이콘이 나타납니다

macOS

  1. App Store에서 "Tailscale"을 검색하여 설치합니다
  2. 메뉴바에서 Tailscale 아이콘이 나타납니다

iOS

  1. App Store에서 "Tailscale"을 설치합니다
  2. 앱을 실행합니다

Android

  1. Google Play에서 "Tailscale"을 설치합니다
  2. 앱을 실행합니다

Linux

# Debian/Ubuntu
curl -fsSL https://tailscale.com/install.sh | sh

# Nix 사용자
nix run nixpkgs#tailscale -- up --login-server https://hs.sjanglab.org

2. 기기 이름 확인

Headscale은 VPN 기기 이름을 DNS 이름으로도 사용하므로 영문 소문자, 숫자, 하이픈만 사용해야 합니다.

좋은 예 피해야 할 예
lab-imac, researcher-macbook, student-laptop 내 노트북, lab pc, lab_pc, 노트북

한글, 공백, 밑줄, 특수문자가 포함된 이름으로 등록하면 Headscale에서 invalid-xxxxxx 같은 임시 이름으로 표시될 수 있습니다.

CLI를 사용할 수 있으면 로그인 시 이름을 직접 지정할 수 있습니다:

tailscale up --login-server https://hs.sjanglab.org --hostname lab-imac

이미 등록 후 invalid-* 이름이 보이면 관리자에게 수정 요청을 보내세요.

3. VPN 연결

Tailscale의 기본 서버 대신 SBEE Lab의 Headscale 서버(https://hs.sjanglab.org)에 연결해야 합니다.

Windows

PowerShell 또는 명령 프롬프트에서 Headscale 서버를 지정해 연결합니다. 기기 이름을 함께 고정하려면 --hostname을 붙입니다:

tailscale up --login-server https://hs.sjanglab.org --hostname lab-imac

명령을 찾을 수 없으면 설치 경로의 tailscale.exe를 직접 실행합니다:

& "$env:ProgramFiles\Tailscale\tailscale.exe" up --login-server https://hs.sjanglab.org --hostname lab-imac

관리자가 정책으로 로그인 서버를 고정해야 하는 경우 PowerShell(관리자)에서 설정합니다:

reg add "HKLM\SOFTWARE\Policies\Tailscale" /v LoginURL /t REG_SZ /d "https://hs.sjanglab.org" /f
net stop Tailscale & net start Tailscale

macOS / Linux (CLI)

tailscale up --login-server https://hs.sjanglab.org --hostname lab-imac

lab-imac은 예시입니다. 실제 기기에 맞는 DNS-safe 이름으로 바꿔 사용하세요.

iOS

  1. 로그인 화면에서 우측 상단 (점 세 개) 메뉴를 탭합니다
  2. Change server를 선택합니다
  3. 서버 URL에 https://hs.sjanglab.org을 입력합니다
  4. Continue를 탭합니다

Android

  1. 로그인 화면에서 우측 상단 (점 세 개) 메뉴를 탭합니다
  2. Use an alternate server를 선택합니다
  3. 서버 URL에 https://hs.sjanglab.org을 입력합니다
  4. Log in을 탭합니다

브라우저가 열리면 Authentik으로 로그인합니다. 소속 그룹(sjanglab-admins, sjanglab-researchers, sjanglab-students)에 따라 접근 권한이 자동으로 결정됩니다.

4. 연결 확인

tailscale status

정상 연결 시 100.64.x.x 대역의 IP가 할당됩니다.

Windows에서는 시스템 트레이의 Tailscale 아이콘이 Connected 상태로 표시됩니다.

네트워크 구조

VPN 연결 후 Magic DNS로 내부 서비스에 접근할 수 있습니다. Nextcloud는 VPN 연결 시 tau로 직접 연결하고, VPN이 없으면 eta public edge를 경유합니다.

flowchart LR
  user["사용자<br/>Tailscale VPN"] --> hs["Headscale<br/>hs.sjanglab.org"]
  hs --> psi["psi (100.64.0.1)<br/>Docling · TEI · MULTI-evolve"]
  hs --> tau["tau (100.64.0.3)<br/>Nextcloud · n8n · Vaultwarden"]
  internet["VPN 없는 사용자"] --> eta_edge["eta public edge<br/>Nextcloud"]
  eta_edge --> tau
  internet --> upterm["eta<br/>Upterm relay"]
도메인 내부 IP 호스트 서비스
cloud.sjanglab.org 100.64.0.3 tau Nextcloud
vault.sjanglab.org 100.64.0.3 tau Vaultwarden
n8n.sjanglab.org 100.64.0.3 tau n8n
docling.sjanglab.org 100.64.0.1 psi Docling
tei.sjanglab.org 100.64.0.1 psi TEI
multievolve.sjanglab.org 100.64.0.1 psi MULTI-evolve
upterm.sjanglab.org 141.164.53.203 eta Upterm relay

접근 권한 (ACL)

그룹 접근 가능 서비스
sjanglab-admins AI 서비스 + 앱 + 모니터링
sjanglab-researchers AI 서비스 + 앱
sjanglab-students 앱만 (Nextcloud, Vaultwarden)

다음 단계: 첫 로그인