집에서 라즈베리파이 4B로 홈 어시스턴트(Home Assistant)를 돌리고 있었다. 어느 날 갑자기 반응이 없길래 "SD카드 나갔나" 싶어서 대체 하드웨어까지 알아봤는데, 다행히 파이는 살렸다. 문제는 그 다음이었다.
평소엔 VSCode로 원격 접속해서 configuration.yaml이나 automations.yaml을 직접 고치곤 했는데, 이제는 사무실에서도 이 작업을 하고 싶어졌다. 회사 네트워크와 집 네트워크는 당연히 서로 다른 곳에 있다. 포트포워딩을 열까, DDNS를 설정할까 고민하던 중 추천받은 게 Tailscale이었다.
한 줄로 말하면, 서로 다른 네트워크에 있는 기기들을 "같은 공유기에 물린 것"처럼 만들어주는 VPN이다. WireGuard라는 가볍고 빠른 프로토콜 기반이라 배터리나 성능 부담도 적다.
기존에 알던 VPN이랑 뭐가 다르냐면:
집 라즈베리파이(HAOS)에 Tailscale 애드온을 설치하고, 사무실 Windows PC에 Tailscale 클라이언트를 깔았다. 로그인만 했더니 바로 서로가 보였다.
그 다음은 원래 하던 대로였다. HAOS의 Samba 공유 애드온으로 config 폴더를 열어두고, 사무실 PC에서:
\\100.x.x.x\config
이렇게 접속하니 마치 집 거실에서 파일 탐색기를 여는 것과 똑같았다. 네트워크가 다르다는 걸 전혀 신경 쓸 필요가 없었다.
핸드폰에도 Tailscale을 깔아두니, 홈 어시스턴트 공식 앱이 집 밖에서도 로컬 주소로 바로 붙는다. 별도의 원격 URL 설정이나 클라우드 중계 없이도, 마치 항상 집 와이파이에 있는 것처럼 동작한다.
Tailscale로 원격 접속 문제가 해결되고 나니, 자연스럽게 다음 질문이 따라왔다.
"그럼 굳이 리버스 프록시(NPM)에서 인터넷으로 포트를 열어둘 이유가 있나?"
포트 80/443을 라우터에서 인터넷으로 포워딩해두면, 이건 24시간 봇과 스캐너의 브루트포스 시도 대상이 된다. Tailscale만으로 원격 접속이 다 커버되니, 굳이 이 노출을 유지할 이유가 없었다. 포트포워딩을 끄고 나니 공격 표면이 확 줄어든 느낌이었다.
라즈베리파이 하나 고치려다 시작된 여정이었는데, 결과적으로 "집 밖에서 홈서버 만지기"라는 숙제를 Tailscale 하나로 깔끔하게 해결했다. 포트포워딩 없이, DDNS 없이, 그냥 로그인만으로 되는 경험은 생각보다 훨씬 편했다.
----------
머루아저씨
✨ Full-stack Developer | 최신 기술 애호가
💻 현개발환경: PHP 8.4, Swoole, MongoDB, Redis, Docker
⚙️ Ubuntu/Linux 환경 & VS Code SSH 기반 작업
📚 "지속 가능한 개발, 효율적인 코드"를 지향합니다.