[정보글] 병원 내부망/홈랩 하이브리드 구성기: Tailscale에서 ZeroTier로, 그리고 Split DNS와 Traefik의 공존

가이드로 보기에는 조금 애매해서 정보글로 씁니다.

 

안녕하세요.

기존에 Tailscale을 사용하여 외부 접속 환경을 구축해 두었으나, 최근 고음질 오디오 스트리밍(Roon 192kHz)과 Plex 원본 재생 시 대역폭 한계와 간헐적인 끊김을 느껴 ZeroTier로 네트워크를 대대적으로 개편했습니다. 사실 병원 내부의 각 zone 별로 음악 재생을 컨트롤할 수 있어서 내부적으로 ROON 서버를 잘 쓰고 있었지요. 이걸 밖에서 저도 쓰려고 궁리하다가 네트워크 개편을 하게 되었습니다.

 

이 과정에서 OPNsense 방화벽, Traefik 역방향 프록시, 그리고 Split DNS를 설정하며 겪은 시행착오와 최종적으로 완성한 구성을 공유합니다.

 

1. 네트워크 구성도 (Architecture)

[정보글] 병원 내부망/홈랩 하이브리드 구성기: Tailscale에서 ZeroTier로, 그리고 Split DNS와 Traefik의 공존

현재 병원 네트워크와 홈랩 서버들이 혼재된 환경입니다. 보안을 위해 AXGate(상단 방화벽) 아래에 OPNsense를 두어 내부 라우팅과 DNS를 제어하고 있습니다.

  • Gateway: OPNsense (VM)

  • Proxy: Traefik (Docker on GW-DMZ Host)

  • Access:

    • Web Services: Cloudflare Tunnel -> Traefik -> 내부 서비스

    • VPN: ZeroTier (OPNsense에 탑재) -> 내부망 직결

2. Tailscale vs ZeroTier 사용 경험 비교

기존 Tailscale도 훌륭했지만, 제 환경에서는 ZeroTier가 더 적합하다고 판단했습니다.

비교 항목Tailscale (기존)ZeroTier (변경 후)
연결 방식Subnet Router 방식 위주가상 스위치(L2)에 직접 붙는 느낌
DNS 설정MagicDNS (매우 편함)직접 구축 필요 (OPNsense Unbound DNS 활용)
속도/안정성간편하지만 고대역폭 시 약간의 딜레이Roon 192kHz / Plex 원본 재생 완벽 지원 (15ms 핑)
커스터마이징ACL 관리가 중앙화됨OPNsense 방화벽 규칙으로 세밀한 제어 가능
총평설정이 쉽고 간편함이 최우선일 때 추천로컬 직결에 준하는 퍼포먼스와 정교한 라우팅이 필요할 때 추천

3. 핵심 설정: Split DNS와 Traefik의 공존

이번 구성의 핵심은 "외부에서는 도메인으로, 내부(VPN 포함)에서는 로컬 IP로, 하지만 웹 서비스는 인증서 때문에 Traefik을 타야 함"을 해결하는 것이었습니다.

 

A. OPNsense Unbound DNS 설정 (Split DNS)

OPNsense를 내부망의 DNS 서버로 지정하고 다음과 같이 설정했습니다.

  1. 와일드카드 오버라이드: *.mydomain.cc192.168.99.10 (Traefik IP)

    • 모든 웹 서비스 요청은 일단 Traefik으로 보냅니다. (SSL 인증서 적용 및 역방향 프록시 처리를 위함)

  2. 접근 제어(ACL): ZeroTier 대역(10.234.x.x)과 내부망 대역을 Allow 처리하여 VPN 접속 시에도 내부 DNS를 바라보게 했습니다.

  3. 방화벽 규칙: ZeroTier 인터페이스와 WAN(내부망 연결) 인터페이스에서 DNS 포트(53)를 허용했습니다.

이렇게 하면 외부에서 ZeroTier를 켜는 순간, ping pve1.mydomain.cc를 쳤을 때 Cloudflare를 타지 않고 내부 Traefik IP(15ms)로 직결됩니다.

 

B. "웹이 아닌" 서비스 처리 (PACS, EMR, SSH)

문제는 와일드카드(*) 설정 때문에 웹이 아닌 서비스(DB, SSH, DICOM 등)도 무조건 Traefik으로 연결되려 한다는 점이었습니다. Traefik은 HTTP/S만 처리하므로 SSH 접속이 불가능해집니다.

  • 해결: OPNsense DNS Overrides에서 웹이 아닌 서버들만 실제 IP로 개별 등록 (예외 처리) 하거나, 아래의 SSH Config 팁을 사용했습니다.

4. 꿀팁: SSH 접속 편의성 (~/.ssh/config)

DNS를 Traefik(프록시) 쪽으로 몰아주다 보니, 터미널에서 ssh root@pve1.mydomain.cc를 입력하면 접속이 거부됩니다. (Traefik은 22번 포트를 안 열어주니까요.)

이를 해결하기 위해 클라이언트(맥북/리눅스)의 ~/.ssh/config 파일을 수정하여 "웹은 도메인으로, SSH는 직결 IP로" 사용하는 하이브리드 환경을 만들었습니다.

 

~/.ssh/config 예시:

# === Proxmox Nodes ===Host pve1    HostName 192.168.10.4  # 실제 내부 IP    User root# === NAS ===Host qts    HostName 192.168.10.9    User admin# === Gateway ===Host opnsense    HostName 192.168.10.3    User root

 

 이렇게 설정하면:

  1. 브라우저: https://pve1.mydomain.cc → Traefik 경유 → SSL 자물쇠 뜸 (성공)

  2. 터미널: ssh pve1 입력 → 192.168.10.4 직결 → 접속 성공

도메인 외우거나 IP 칠 필요 없이, 짧은 호스트네임(ssh pve1)만으로 관리가 가능해져 만족도가 매우 높습니다.

5. 마무리

결과적으로 ZeroTier 도입 후 Plex에서 "Local / Direct Play"가 뜨고, Roon ARC가 집 밖에서도 "Ready" 상태로 끊김 없이 고음질 음원을 재생합니다.

 

초기 설정(DNS, 방화벽)이 Tailscale보다 까다롭긴 하지만, 한 번 구축해두니 마치 병원 내부에 랜선을 꽂고 있는 듯한 쾌적함을 줍니다. 저처럼 고대역폭 내부망 접속이 필요하신 분들은 ZeroTier + Split DNS 조합을 고려해볼 수 있을것 같습니다.

 ++

다음에는, PVE3에 opnsense, traefik router가 설치되어 있어서 pve3 셧다운시 네트워크 서비스가 중단되는 문제를 해결하기 위해서 opnsense와 traefik router를 이중화하는 작업을 진행하기로 했습니다. 이미 traefik router는 이중화를 하였고, opnsense 이중화까지 성공하면 후기 올려보겠습니다. 이게 성공하면 pve host를 하나 꺼도 네트워크 서비스가 무중단으로 작동하게 됩니다. 

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

유머게시판

번호 제목 글쓴이 날짜 조회수
공지 드론 로그 관리 시스템 이용 안내 공지 관리자 09-24 78,152
13649 이미지 [정보글] 병원 내부망/홈랩 하이브리드 구성기: Tailscale에서 ZeroTier로, 그리고 Split … 물미역 12-31 35
13648 이미지 결혼한 친구 만나면 한 번쯤 느끼는 감정.jpg 작은별3 12-31 39
13647 이미지 옛날 감성의 2026 다이소 신상 제품들 초코냥 12-31 30
13646 이미지 20대 초반 로또 1등 당첨자 20년 후 근황 반항묘 12-31 35
13645 이미지 여동생 팬서비스 받게 해준 오빠 포식러 12-31 51
13644 이미지 고구려의 후손들이 유지하는 일본의 어느 마을 관리자 12-31 34
13643 비디오 동물병원가서 덜덜떠는 말티즈 알잘딱 12-31 50
13642 이미지 치과의사가 수많은 노처녀만나고 느낀점.jpg 말랑묘 12-31 18
13641 비디오 주인 노래소리가 듣기 싫었던 강아지 달천 12-31 53
13640 비디오 여론 안좋은 한문철 티비 제보자 비번깜 12-31 43
13639 이미지 굴렁쇠 소년 또래가 즐겼던 드론 관리자 12-31 40
13638 이미지 2026 다이소 신상디자인 제품들.jpg 미묘함 12-31 30
13637 비디오 비엠과 아우디 고성능 SUV 대결 히죽이 12-31 42
13636 이미지 그냥 돈많은게 최고인듯.jpg 엉망러 12-31 23
13635 비디오 과학적인 노팬티.mp4 웃참중 12-31 31
13634 이미지 순천 식당에서 팔고 있는 1인당 만원인 음식 멍쥐 12-31 49
13633 비디오 게임 디렉터 노골적인 확률 주작 영상 오잉냥 12-31 52
13632 이미지 “이러다가 40넘어서 첫 연애 하는거 아니야?” 미묘함 12-31 29
13631 이미지 남자들에게는 져서는 안되는 싸움이 있다 작은별3 12-31 40
13630 이미지 게시판 정화) 30대 섹시 가수겸 배우 작은별3 12-31 34