[정보글] 병원 내부망/홈랩 하이브리드 구성기: 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 81,369
13247 이미지 일하다가 운 의사 작은별3 12-23 197
13246 이미지 경산시 아파트 관리사무소 직원...80대 독거노인 생명 구해 졸다깸 12-23 193
13245 이미지 여친 입히려고 준비한 산타옷 쿠당탕 12-23 173
13244 이미지 [단독] 분리수거 똑바로 해 흉기 협박한 60대 관리사무소 직원 눈물빵 12-23 178
13243 이미지 현대차 첫 여성 사장 탄생...진은숙 ICT 담당 부사장 승진 졸참중 12-23 178
13242 이미지 가짜뉴스 5배 손배 정보통신망법 국회 문턱 넘었다... 간식러 12-23 196
13241 이미지 크리스마스에 남사친의 집에 갔더니 모르는 여자애가 있다 알잘딱 12-23 187
13240 이미지 교장 선생님의 두 얼굴?...1년간 자매 성폭행 검찰 송치 달려라달려 12-23 195
13239 이미지 생일날 반차 못쓰게하는 팀장 냥냥뽕 12-23 168
13238 이미지 [속보] 대통령실 명칭 다시 청와대로...29일 0시 봉황기 게양 삐약이 12-23 156
13237 이미지 원달러환율..1458 먹깨비 12-23 190
13236 이미지 연말이라서 그릉가… 버터곰 12-23 191
13235 이미지 여행 중 귀찮은 호객행위가 없었던 이유 고독냥 12-23 191
13234 이미지 와이프한테 12분간 잔소리들음 행복감사 12-23 184
13233 이미지 2026년 업데이트되는 나이 정리표 달려라달려 12-23 206
13232 이미지 빅5 병원의 세계적 위상 꿀잠러 12-23 192
13231 이미지 실시간 전세계 넷플릭스 순위 달려라달려 12-23 156
13230 이미지 게임이 질병이다 라는 말 때문에 5년간 연구한 한국콘텐츠진흥원 만두링 12-23 204
13229 이미지 (약혐) 시골마을에서 벌어진 토X 살인사건 행복감사 12-23 196
13228 이미지 호주 영웅 근황 찌개러 12-23 184