요약
싼 VPS나 미니 PC에서 오래 켜 둘 만했던 서비스가 무엇이었는지 묻는 질문입니다.
본문
DHH(데이비드 하이네마이어 핸슨)의 'AI 창고' 아이디어를 보고, 한 달에 5~10달러짜리 작은 VPS(가상 사설 서버)를 하나 마련해 볼까 하는 생각이 들었습니다.
저는 리눅스를 즐겨 쓰는 사람이고, 살면서 여러 시기에 개인 서버를 둔 적이 있습니다. 그래서 늘 켜져 있는 무언가를 둔다는 생각은 마음에 듭니다. 하지만 대부분은 노트북에서 그냥 돌릴 수 있는데, 서버를 관리하는 수고를 들일 만한지는 잘 모르겠습니다.
그렇긴 해도 저는 일을 직접 해 놓고 나서야 자동화하거나 맡길 수 있었다는 사실을 뒤늦게 깨닫는 편입니다. 그러니 이 부분에서 제가 놓치는 것이 있을지도 모릅니다.
싼 VPS나 미니 PC를 쓰고 계시다면, 실제로 오래도록 쓸모 있었던 것은 무엇입니까? 시간을 충분히 아껴 주거나 구독 서비스를 충분히 대신해서 계속 둘 만했던 것이 있습니까?
HN 반응
- 맨 위 댓글은 집의 낡은 PC에 Jellyfin(미디어 서버)과 Immich(사진 보관)를 올리고 Tailscale로 가족과 함께 쓰는 구성을 소개했습니다.
- Tailscale이 기본 설정으로 기기 간 연결 기록을 남긴다는 지적에서, WireGuard면 충분하다는 쪽과 기기가 늘면 관리가 버겁다는 쪽이 맞섰습니다.
제 홈서버(그냥 오래된 데스크톱 PC)에서는 이렇게 돌리고 있습니다.
"Linux ISO"를 받는 qBittorrent
그 "Linux ISO"를 보고/읽고/듣는 Jellyfin
저와 가족, 친구들이 세계 어디서든 그 "Linux ISO"를 보고/읽고/들을 수 있게 해 주는 Tailscale
사진첩 셀프 호스팅. 이런 용도로는 Immich가 편합니다. 낯선 테크 회사에 맡기고 싶지 않은 개인 사진에 아주 유용합니다.
아직 오픈소스로 공개하지 않은 개인 프로젝트용 git 저장소를 셀프 호스팅하는 Gitea
프라이버시가 신경 쓰이신다면, Tailscale은 기본 설정으로는 그 컴퓨터들에서 나오는 행동 메타데이터를 만들어서, 세상의 Room 641A들에게 이른바 "비공개" 네트워크에서 하는 모든 일을 넘기고 있다는 점을 알아 두세요. https://tailscale.com/docs/features/logging
"여기에는 네트워크의 모든 기기 간 연결(TCP 또는 UDP)에 대한 열기·닫기 이벤트가 실시간으로 포함됩니다."
https://tailscale.com/docs/features/logging#opt-out-of-client-logging
맞아요, 그런데 엄마 아빠한테
%PROGRAMDATA%\Tailscale\tailscaled-env.txt를 수정해 달라고 하는 건 고사하고, 제대로 고치시게 하는 건 어림도 없죠.어이쿠, 제 노트북이랑 VPS, 데이터베이스 사이의 열기·닫기 이벤트를 본다네요. FBI가 곧 저를 잡으러 오겠군요.
왜 다들 그냥 Wireguard를 안 쓰는 거죠?
기기가 N = 10대 넘게 늘어나고 기기끼리 어느 정도 분산된 통신을 하길 바라면, N^2개의 항목을 관리하게 됩니다. 공개 키 목록이 바뀔 때마다 N개 항목을 고쳐야 하고요. 어떤 기기가 무엇에 접근할 수 있는지 일관된 규칙을 두려고 하면 상황은 더 나빠집니다.
저도 처음에는 WireGuard를 썼는데, 홈랩 규모가 커지니 감당하기 어려워졌습니다. bash 스크립트로 이런 한계를 우회하는 사람도 있겠지만, 환경이 제각각이면(특히 iOS 클라이언트) WireGuard 설정을 프로그램으로 바꾸는 게 더 까다로워집니다.
지금은 모든 사용자에게 Tailscale(컨트롤 플레인은 Headscale)을 쓰고, 핵심 서버에는 비상 접속용으로 WireGuard를 씁니다.
Headscale이 기업이 운영하는 Tailscale 네트워크를 완전히 대체할 수 있나요? 셀프 호스팅 Tailscale로 집의 wireguard를 바꿔 볼까 생각 중인데, headscale을 쓰면 프라이버시를 얼마나 지킬 수 있는지 제대로 알아볼 시간이 없었어요.
충분히 가능합니다. 기본적으로는 일반 Tailscale DERP 맵을 그대로 쓰도록 나오지만, 기본값이 꺼짐인 DERP 서버도 함께 들어 있습니다. 그걸 켜고 DERP 맵에 그 서버 하나만 넣으면 됩니다(원하면 몇 대로 나눠도 되고요). 그렇게 하면 Tailscale 자산은 전혀 쓰지 않게 됩니다.
감사합니다! 이번 겨울에 시간이 좀 나면 이걸로 wireguard 구성을 바꿔 볼게요.
대부분의 사람이 Gentoo 대신 윈도나 맥을 고르는 것과 거의 같은 이유입니다. 사람들은 Tailscale 같은 걸 어떤 목적을 이루려고 설정하는 것이지, 스스로 프로젝트와 유지보수 부담을 만들려고 하는 게 아닙니다. 게다가 Wireguard 설정은 입문자에게 그리 친절하지 않습니다.
WireGuard는 설정하기 가장 쉬운 축에 듭니다. WireGuard를 세팅하려고 읽어야 할 분량이 다 합쳐서 반 페이지 정도예요. 너무 간단해서, 저는 WireGuard 자체를 설정하는 것보다 WireGuard 트래픽에 어떤 방화벽 규칙이 필요한지 알아내는 데 시간을 더 썼습니다.
그 부분은 동의하기 어렵습니다. WireGuard로 뭔가 설정해 본 지 꽤 됐지만 "쉽다"는 말은 제 기준엔 맞지 않아요. 단순한 터널이나 VPN 구성이라면 그 정도에 가까웠지만, Tailnet에 견줄 만한 네트워크를 제대로 만들려니 꽤 복잡해졌습니다. 반면 Tailscale은 손댈 게 거의 없었죠.
방화벽 규칙을 알아내는 것 같은 추가 작업이 필요하다는 점이 바로 제가 말하는 겁니다. 저도 대개는 재미로 만지작거리는 걸 좋아하지만, 만지고 싶은 건 특정한 무언가이지 그 과정의 모든 단계가 아닙니다.
AI 덕분에 초보자가 겪던 리눅스 설정의 어려움은 대부분 사라졌습니다.
mikrotik 라우터 설정의 어려움도 없애 줬어요. Mikrotik에는 클라우드 라우터 인스턴스가 있는데, 제 생각엔 리눅스보다 훨씬 다루기 쉽습니다. 대체로 Mikrotik에는 UI가 있어서 무슨 일이 일어나는지 살펴보기가 조금 더 쉽기 때문이죠.
다시 손대야 하는 제 개인 프로젝트 중 하나가 mikrotik 라우터 설정을 더 쉽게 해 주는 SDN입니다(특히 VLAN, wireguard나 VPN, 포트 사이의 라우팅 설정).
Winbox는 실제 설정을 그대로 보여 준다는 점에서 좋습니다. 하지만 제가 정말 원하는 건 (예를 들어) 네트워크 다이어그램에서 시작해 라우터의 현재 상태를 가져온 다음, 그걸 네트워크 설정과 대조해 검증해 주는 도구입니다.
맞는 말이에요. Wireguard는 키가 든 짧은 텍스트 파일 하나면 됩니다. 단순하고 튼튼하고, 노트북이나 폰 같은 클라이언트에 설정하는 것도 똑같이 쉽습니다. Tailscale이나 Headscale(셀프 호스팅 버전)은 폰으로 Linux ISO에 접속하는 정도의 기본적인 일에는 과하게 설계된 물건입니다.
하지만 이 경우엔 편의성과 자동 관리가 큰 차이를 만든다고 봅니다. Wireguard 설정이 망가지면, 그걸 고치려고 홈랩에 로그인하는 데 동작하는 Wireguard가 필요할 수 있으니까요.
물론 Tailscale이 주기적으로 다시 인증하도록 강제하는 기본 동작도 끄지 않으면 똑같은 문제를 일으킬 수 있습니다. 이런 일은 늘 하필 최악의 순간에 터지죠.
연결하려는 두 기기가 모두 NAT나 다른 제한된 네트워크 뒤에 있으면, 그것만으로는 아예 쓸 수도 없고요.
맞는 말이지만, 5달러짜리 VPS에는 v4든 v6든 공인 IP가 있을 겁니다. 다른 기기들이 그 서버를 거쳐 트래픽을 보내면 NAT와 상관없이 모든 기기가 서로 닿을 수 있습니다.
그 정도 되면 그 VPS로 대신 P2P 연결을 도와주는 쪽이 낫다는 주장도 있지 않을까요?
저는 중고 가게에서 Linux ISO를 사 모으는 새 취미가 생겼어요. 보통 하나에 1달러쯤 줍니다. 벌써 300개고, 전부 제 겁니다. 정리하는 데는 Jellyfin이 최고예요.
저도 직접 추출한 Linux ISO가 좀 있는데, 특히 다른 나라의 오래된 ISO는 찾기가 정말 어렵습니다. 보통 웹사이트에서는 구할 수 없죠. 언젠가 사라질 걱정 없이 제 서버에 두고 있다는 게 참 좋습니다.
저는 전후 이탈리아 네오리얼리즘 Linux ISO를 많이 모으고 있는데, DHT 인덱서를 돌렸더니 절판됐을 법한 배포판도 꽤 쉽게 찾아집니다.
비토리오 데 시카의 〈자전거 도둑〉은 제가 추천하는 Linux ISO입니다.
DHT 인덱서라는 개념은 처음 들어 보네요. bitmagnet 말씀인가요? 리소스는 얼마나 필요한가요? 알려 주시면 감사하겠습니다.
그런 건 드라이버 구하기가 너무 힘들어요.
저는 한때 유럽·미국의 아주 희귀한 단편 영화와 퍼포먼스 아트 영화를 DVD로 꽤 많이 갖고 있었는데, 일 때문에 주로 떠돌아다니던 시기에 세월 속으로 사라져 버렸습니다. 돌이켜보면 그 컬렉션을 하드 드라이브에 추출해 둘 걸 그랬어요. 대부분은 이제 DVD로는 도저히 구할 수 없거든요.
1달러로는 요즘 디스플레이 기준에 맞는 Linux ISO를 못 구합니다. 그 가격으로 괜찮으시면 다행이지만, 고급품은 Linux ISO 하나에 20달러 이상(강조할 건 "이상"입니다, 세금과 배송비는 별도) 하니까, 많은 사람이 디지털로 공유하는 쪽을 선호하는 것도 이해가 됩니다. 게다가 Linux ISO 판매처가 원하는 특정 버전을 아예 팔지 않으려는 경우도 있고요.
특히 그 "한 패키지짜리 명작" ISO 판매처들은 20달러도 비싸죠.
댓글에서 '중고 가게'라는 부분은 보셨나요? 저도 똑같이 하는데, 동네에 따라 DVD로 된 ISO는 50센트밖에 안 하고, 블루레이로 된 최신 Linux ISO는 4K(드물게 보이긴 합니다)까지 포함해도 3달러를 넘는 경우가 거의 없습니다.