[정보글] 병원 내부망/홈랩 하이브리드 구성기: 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 80,998
13264 이미지 힙업고양이 배고픔 12-23 134
13263 이미지 재능낭비갑 행복감사 12-23 140
13262 이미지 텍스트 이모티콘 졸다깸 12-23 139
13261 이미지 씨간장이 오래되면 생기는 것 겉바속 12-23 152
13260 이미지 사람들이 잘 모르는 물범의 원산지 눈치곰 12-23 173
13259 이미지 정직한 만화 눈물빵 12-23 168
13258 이미지 애가 무드등 갖고 싶다길래 행복감사 12-23 141
13257 유튜브 해양수산부 공무원의 지리는 태세전환 같은 사람? 꿀맛임 12-23 155
13256 유튜브 통일교 특검.. 신천지를 포함해서 하는 것이 바람직하다 작은별3 12-23 148
13255 이미지 어느 유튜버의 튀르키예 여행기 멍쥐 12-23 167
13254 이미지 조두순 거주지 무단 이탈·전자장치 훼손 검찰 징역 2년 구형 달려라달려 12-23 139
13253 이미지 담겨있지 않은 개는 뉴욕지하철에 탈수 없습니다 찌개러 12-23 154
13252 이미지 유전자의 힘 눈물빵 12-23 158
13251 이미지 대구서 난방기 켜놓고 자다가···비닐하우스서 살던 남녀 숨져 관리자 12-23 152
13250 이미지 마약 혐의로 적색 수배 황하나...태국에 있는데 아파서 병원 와 쿠키곰 12-23 175
13249 이미지 장나라가 남편에게 먼저 고백한썰 오잉냥 12-23 181
13248 이미지 국내 구독자 300만 유튜버 일본군 찬양 논란 간지곰 12-23 180
13247 이미지 일하다가 운 의사 작은별3 12-23 193
13246 이미지 경산시 아파트 관리사무소 직원...80대 독거노인 생명 구해 졸다깸 12-23 184
13245 이미지 여친 입히려고 준비한 산타옷 쿠당탕 12-23 169