집에 안 쓰는 맥 미니가 하나둘씩 쌓이고 있다. 게다가 주변에서 컴퓨터를 바꿀 때마다 본체를 가져오는 습관이 있다 보니, 이걸로 뭔가 쓸모 있게 활용할 수 없을까 고민이 들었다. "홈서버로 만들면 좋지 않을까?"라는 생각이 스치면서 본격적으로 구축을 시작했다.
내 손안의 홈서버, 그런데 보안은?
받아온 본체들은 초기화하고 우분투를 설치했다. 맥 미니나 맥북 같은 애들은 꺼지지 않도록 설정해서 macOS 서버로 활용하기로 했다. 서버로서의 기본적인 환경은 갖췄는데, 문제는 네트워크와 보안이었다. 아무리 성능 좋은 장비가 있어도 네트워크 설정이 엉망이면 무용지물이다.
이걸 어떻게 개선할 수 있을까 하다가 Tailscale을 쓰면 편하고 안전하게 관리할 수 있겠다는 결론을 내렸다.
Tailscale이란?
Tailscale은 WireGuard 기반의 VPN 솔루션으로, 개인 네트워크를 간편하게 구축할 수 있게 도와준다. 기존 VPN처럼 포트 포워딩을 설정하거나 복잡한 방화벽 설정을 할 필요 없이, 한 번 설정만 하면 장비 간 연결이 매끄럽게 된다. 게다가 Zero Trust 모델을 기반으로 동작하기 때문에, 신뢰할 수 있는 기기들만 연결할 수 있게 관리할 수도 있다.
Tailscale의 장점
- 설치가 쉽다: 명령어 몇 개만 입력하면 끝.
- NAT 트래버설: 포트 포워딩 없이도 원격 접속 가능.
- Zero Trust 보안: 중앙 서버 없이 기기 간 직접 연결.
- 멀티플랫폼 지원: Windows, macOS, Linux, iOS, Android까지 전부 지원.
- ACL 설정 가능: 특정 기기만 접속할 수 있도록 접근 관리 가능.
홈서버 네트워크 구성하기
이제 Tailscale을 활용해서 외부에서도 내 홈서버에 안전하게 접근할 수 있는 환경을 만들었다. 기본적인 과정은 다음과 같다.
1. 서버에 Tailscale 설치
- Ubuntu가 깔린 본체와 macOS 서버에 Tailscale을 설치.
- sudo apt install tailscale 실행 후, tailscale up 명령어로 네트워크에 추가.
2. ACL로 접근 권한 관리
- Tailscale Admin Console에서 ACL을 설정하여, 특정 기기만 홈서버에 접속할 수 있도록 조정.
- 예를 들어, 외부 접속은 내 개인 노트북과 스마트폰만 허용.
3. Subnet Router로 홈 네트워크 연결
- 특정 서버를 Subnet Router로 설정하면, 집 안의 NAS나 IoT 기기에도 원격으로 안전하게 접근할 수 있다.
4. MagicDNS 활용
- homeserver.tailnet 같은 도메인으로 쉽게 서버에 접근할 수 있도록 설정.
- 매번 IP 주소를 입력하는 불편함이 사라짐.
그런데 서비스는 어떻게 공개하지?
Tailscale을 설정하면 어디서든 내 서버에 접근할 수 있지만, 외부에 서비스를 공개하려면 공인 IP가 필요하다. 많은 사람들이 집 인터넷의 공인 IP를 사용해서 포트포워딩을 하지만, 이는 보안 위험이 크고 IP 변경 문제도 발생한다.
나는 이 문제를 해결하기 위해 Cafe24 클라우드 서버를 이용했다.
클라우드 서버 + Reverse Proxy 조합
- 가성비 좋은 클라우드 서버 사용: 나는 Cafe24 클라우드를 썼지만, AWS EC2 프리티어나 오라클 클라우드 무료 서버도 고려할 수 있다.
- Tailscale 설치: 클라우드 서버에도 Tailscale을 설치해서 내 홈서버와 연결.
- Nginx Reverse Proxy 설정: 클라우드 서버를 프록시로 활용하여, 홈서버의 서비스를 인터넷에 노출.
이렇게 하면 내 집의 공인 IP를 노출하지 않고도 서비스를 안정적으로 운영할 수 있다.
홈서버 운영, 해보니 어떨까?
솔직히 처음엔 설정이 귀찮을 줄 알았는데, 생각보다 간단했다. 그리고 가장 큰 장점은 보안 걱정을 덜 수 있다는 점이다. 보통 집에서 서버를 운영하면 보안이 취약해질 가능성이 크지만, Tailscale을 활용하면 내 기기가 뚫리지 않는 한 비교적 안전한 환경을 유지할 수 있다.
트래픽이 엄청나게 많은 게 아니라면, 이 방법으로 충분히 빠르고 안정적인 홈서버 운영이 가능하다. 게다가 클라우드 서버를 활용하면 내 IP를 숨길 수도 있어서 훨씬 마음이 편하다.
지금은 Cafe24를 쓰고 있지만, AWS Lightsail로 옮기면 더 저렴하게 운영할 수도 있을 것 같다. 조만간 이 부분도 다시 고민해봐야겠다.