[정보글] 병원 내부망/홈랩 하이브리드 구성기: 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 82,249
16029 비디오 중동에서 미사일과 기념샷 찍기 우유곰 03-31 30
16028 이미지 주의)김풍 샘킴 정호영 커플 사진.jpg 졸려곰 03-31 48
16027 비디오 최예나 유튜브 쇼츠 1위 만두링 03-31 27
16026 이미지 그 시절 뉴스 대본. 초코곰 03-31 34
16025 비디오 홍명보 후두려패는 장지현.mp4 달천 03-31 29
16024 이미지 미행하다가 걸린 강아지.gif 초코냥 03-31 33
16023 이미지 다이소의 미친 빈공간 침투력 꿀잠러 03-31 46
16022 이미지 의외로 세탁기로도 가능한 것.jpg 간지냥 03-31 34
16021 이미지 일본 구인난에 시달린다는 업계 작은별3 03-31 27
16020 비디오 자연스럽게 오토바이 훔쳐가는 트럭 마늘빵 03-31 30
16019 이미지 기세로 잔치국수 4행시 하는 이창섭.jpg 탱글러 03-31 36
16018 이미지 노숙자와 소개팅 함 버억러 03-31 47
16017 이미지 간호학과 여학생 대장내시경 후기 관리자 03-31 42
16016 이미지 부모님 : 이러면 스마트폰 안보겠지!jpg 덜렁묘 03-31 32
16015 비디오 그릴스테이크 달천 03-31 32
16014 이미지 운명적 만남 간지곰 03-31 42
16013 비디오 중국 항저우 회전초밥집 라따뚜이.mp4 무지개곰 03-31 33
16012 유튜브 곽범의 피해자들.ㅋ 만두링 03-31 33
16011 이미지 50살 아재가 20살 여친과 교제하는 현장 사진 쿠당탕 03-31 57
16010 이미지 화장실에서 흔적 남기면 안되는 이유 야옹신 03-31 44