termal.in

← 블로그

포트 포워딩 없이 Home Assistant나 Grafana에 원격 접속하기

· Termalin Team homelabconnectorremote-accessself-hostedcomparison

Home Assistant는 http://homeassistant.local:8123에, Grafana는 :3000에 있고, 둘 다 집 네트워크에 갇혀 있습니다. 사무실에서, 휴대폰에서, 또는 누군가와 공유해서 브라우저로 열고 싶은데, 라우터를 공격 표면으로 만들고 싶지는 않습니다. 여기 다섯 가지 방법과, 각각이 실제로 치르는 비용, 그리고 초대 전용 경로의 단계별 안내가 있습니다.

8123이나 3000을 그냥 포워딩하면 안 되는 이유

라우터에서 포트를 포워딩하면 로그인 페이지가 — 때로는 열린 대시보드가 — 인터넷의 모든 봇 앞에 놓입니다. Home Assistant와 Grafana는 발견되는 순간부터 끊임없이 탐색당하고, 재사용한 비밀번호나 패치되지 않은 CVE 하나면 충분합니다. 게다가 (가정용 광랜과 4G/5G에서 흔한) 캐리어급 NAT 때문에 포워딩이 아예 불가능한 경우도 많습니다. 아래의 모든 선택지는 그 열린 포트 하나를 피하려고 존재합니다.

다섯 가지 선택지

선택지공개 URL?보는 사람 기기에HA 외에도 되나?비용
Nabu Casa (HA Cloud)예, 내 전용 서브도메인없음아니요 — Home Assistant 전용구독
Cloudflare Tunnel공개, 또는 Access로 제한없음, 또는 Access 로그인예무료 등급; 도메인 필요
Tailscale / WireGuard아니요 — 사설 메시모든 곳에 VPN 클라이언트예무료 등급
리버스 프록시 + 포트 포워딩예 — 인터넷에없음예내 시간 + 노출
Termalin 내부 사이트아니요 — 이메일로 초대브라우저만예Pro 요금제

Nabu Casa는 공식 Home Assistant Cloud입니다. Home Assistant에 한해서는 가장 매끄러운 길입니다 — 원격 UI, 안정적인 URL, 게다가 프로젝트를 후원하게 되죠 — 하지만 Home Assistant만 다루고 Grafana나 Portainer는 다루지 않습니다.

Cloudflare Tunnel(cloudflared)은 LAN의 데몬에서 바깥으로 연결하므로 포트가 열리지 않습니다. 강력하고 무료 등급도 있지만, 대시보드를 비공개로 두려면 도메인을 소유하고 그 앞에 Cloudflare Access 정책을 둬야 합니다. 그대로 두면 호스트 이름이 누구나 접속할 수 있는 공개 URL이 됩니다.

Tailscale나 WireGuard는 사설 메시를 만듭니다 — 노출되는 것이 없고, 내 소유 기기에는 훌륭합니다. 함정: 접속하는 모두가 VPN 클라이언트를 설치하고 로그인해야 하는데, 가족이나 일회성 손님에게는 권하기 어렵습니다.

포트를 포워딩한 리버스 프록시(nginx, Caddy, Traefik)는 깔끔한 HTTPS를 주지만, 여전히 서비스를 인터넷에 공개하는 것이고 모든 패치와 인증 결정을 직접 떠안아야 합니다.

Termalin 내부 사이트는 조금 다른 자리에 있습니다. 공개 URL이 전혀 없고, 보는 사람 쪽에 클라이언트도 없습니다. LAN의 Connector가 바깥으로 연결하고, 대시보드는 https://<10자>.termal.ink 같은 사설 주소로 열립니다 — 나와, 내가 이메일로 초대한 사람에게요. 특정한 사람과 대시보드 하나를 공유하는 가장 빠른 방법입니다. 트레이드오프는 솔직합니다. Pro 요금제가 필요하고, 링크마다 하루 5 GB 소프트 상한이 있으며, 영구 공개 링크는 없습니다 — 비공개를 원하면 장점이고, 공개 상태 페이지를 원하면 제약입니다.

Connector로 단계별 설정

이 방법은 Home Assistant, Grafana, Portainer, Proxmox — 내 네트워크에서 웹 UI를 가진 무엇에든 통합니다. WebSocket이 그대로 지나가므로 HA의 실시간 업데이트와 Grafana의 실시간 패널이 LAN에서와 똑같이 동작합니다.

  1. Connector를 설치하세요. Home Assistant 머신, 또는 같은 네트워크의 항상 켜져 있는 아무 머신 — Raspberry Pi, NAS, LAN의 작은 VPS — 에 설치합니다. 캐비닛의 설치 명령 가져오기에서 한 줄이면 됩니다. 바깥으로 연결하고 리슨하지 않습니다.
  2. 사이트를 추가하세요. 웹 캐비닛에서 내부 사이트 카드(백업 옆) → 사이트 추가를 여세요. Connector를 고르고 그 머신에서 보이는 주소를 입력합니다 — Connector가 HA 호스트에 있으면 http://localhost:8123, 다른 머신에서면 http://10.0.0.5:8123입니다. 대시보드가 TLS를 제공하면 ‘내부 사이트가 https를 사용함’에 체크하세요(자체 서명 인증서도 괜찮습니다).
  3. 추가하고 열기. 대시보드가 termal.ink 주소로 새 탭에서 열립니다. 12시간 동안 로그인된 상태가 유지되며, 주소만으로는 다른 누구도 들어오지 못합니다.

사설 주소만 허용됩니다 — localhost, 10.x, 172.16–31.x, 192.168.x, 링크-로컬, Tailscale의 100.64/10, IPv6 ULA — 공용 주소는 설계상 거부됩니다.

가족과 7일 동안 공유하기

캐비닛에서 사이트를 한 번에 이메일 주소 하나씩, 24시간 또는 7일 동안 공유합니다(한 링크에 동시에 최대 25명, 다시 공유하면 연장됨). 상대방은 초대 이메일을 받고 6자리 코드로 로그인합니다 — Termalin 계정을 만들 필요가 없습니다. 그들은 그 대시보드 하나만 보고, 공유가 만료되면 세션도 끝납니다. 한 사람을 제거하거나 링크를 통째로 끄기 할 수 있고, 모든 열람이 사이트의 활동 로그에 남습니다. 공유에는 유료 요금제가 필요합니다. 체험은 사이트를 열 수는 있지만 공유할 수는 없습니다.

다른 것을 골라야 할 때

  • Home Assistant만, 번거로움 없이 → Nabu Casa, 그리고 프로젝트를 후원하게 됩니다.
  • 도메인이 있고 지속적인, 어쩌면 공개 URL을 원함 → Access 정책을 둔 Cloudflare Tunnel.
  • 접속하는 사람이 전부 나 자신, 내 기기들 사이 → Tailscale나 WireGuard.
  • 대시보드 한두 개를 지정한 사람과 공유, 노출은 없이 → Termalin 내부 사이트.

NAT 뒤 홈랩의 SSH 쪽은 포트 포워딩 없이 NAT 뒤 SSH와 홈 NAS나 서버에 SSH 접속을 보세요.

호스트 한 대에서 먼저 써 보세요.

Termalin은 여러분과 여러분의 에이전트를 위한 빠른 SSH 클라이언트입니다.

무료 요금제 · Pro 14일 무료 체험 · 요금

Google에서 Termalin을 선호 소스로 추가