Get in touch: info@example.com

TrueNAS → 외부 네트워크 Synology DS720+ 오프사이트 백업 구축 및 안정성 검증

(Tailscale + rsync, 재부팅·네트워크 변경에도 끊기지 않는 구조)

1. 구성 배경

현재 홈 서버의 백업 구조는 다음과 같다.

  • 메인 스토리지: TrueNAS
  • 내부 백업 NAS: Synology DS423+
    • 동일 네트워크
    • rsync 기반 백업 안정적으로 운용 중

이번에 **회사(외부 네트워크)**에
Synology DS720+ 를 추가 설치하면서,
다음 조건을 만족하는 오프사이트 백업을 구성하고자 했다.

요구사항 정리

  1. TrueNAS ↔ DS423+ 백업 정책은 변경하지 않음
  2. DS720+는 **외부 네트워크(회사)**에 위치
  3. DS720+에도 DS423+와 동일한 데이터를 백업
  4. DS423+ ↔ DS720+ 직접 연동 없음
  5. 회사 네트워크의 공유기/방화벽 설정 변경 없음
  6. 재부팅, 네트워크 단절, 외부 IP 변경에도 장기적으로 안정적일 것

2. 결론 요약

Outbound VPN + rsync 구조가 사실상 정답

이를 위해 Tailscale 을 사용했다.

  • 포트포워딩 ❌
  • 공인 IP 의존 ❌
  • 회사 네트워크 설정 변경 ❌
  • 재부팅 / 장소 변경에도 설정 유지 ⭕
  • 장기 무인 운용 가능 ⭕

3. 전체 아키텍처

https://b3n.org/wp-content/uploads/2025/01/truenas-backup-strategy.png
https://jussiroine.com/content/images/2023/07/image-287.png
[ TrueNAS (집) ]
   ├─ rsync 백업 (내부)
   │    └─ DS423+
   │
   └─ rsync 백업 (외부)
        └─ Tailscale VPN
             └─ DS720+ (회사)
  • TrueNAS가 단일 원본(Source of Truth)
  • DS423+ / DS720+는 완전히 독립된 백업 타겟
  • 내부 백업과 외부 백업이 서로 영향을 주지 않음

4. DS720+ 설정 (회사)

4-1. Tailscale 설치

  • DSM 패키지 센터 → Tailscale 설치
  • Tailscale 로그인
  • 장비 고유의 Tailscale IP 할당

예:

100.90.187.5

이 IP는 공인 IP가 아니라 Tailscale 네트워크 내부의 논리적 고정 IP


4-2. rsync / SSH 준비

  • DSM → 파일 서비스 → rsync 활성화
  • DSM → 터미널 및 SNMP → SSH 활성화
  • rsync 사용자:
    • 내부 백업 NAS(DS423+)와 동일하게
      관리자 계정 songless 사용

rsync 전용 계정 + SSH 비로그인은
rsync daemon(Pull) 방식에 적합하며,
이번처럼 Push + 자동화 구조에는 부적합


5. TrueNAS 설정

5-1. Tailscale App 설치

  • Apps → Tailscale 설치
  • Auth Key 발급 후 입력
  • 주요 옵션:
    • Auth Once: ON
    • Host Network: ON
    • 나머지 옵션: 기본값 유지

설치 후 확인:

ip a | grep tailscale

5-2. 네트워크 연결 확인

ping 100.90.187.5

결과:

  • 패킷 손실 0%
  • 평균 지연 약 10ms

→ 외부 네트워크의 NAS를 내부 NAS처럼 접근 가능


6. SSH 인증 구성 (중요 포인트)

TrueNAS rsync Task는 비대화식 SSH 접속을 사용하므로
SSH 공개키 인증이 필수다.

DSM UI에서는 관리자 계정의 SSH 키 등록 메뉴가 보이지 않아,
다음과 같이 서버 방식으로 처리했다.

ssh songless@ds720+
mkdir -p ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
  • TrueNAS에 등록된 SSH Keypair의 공개키authorized_keys에 추가

7. TrueNAS rsync Task 생성

7-1. 기존 DS423+ rsync Task 참고

  • Data Protection → Rsync Tasks
  • 내부 백업용 Task를 열어 옵션 그대로 확인

7-2. 외부 백업용 rsync Task 추가

Mode        : Push
Transport   : SSH
Remote Host : 100.90.187.5
Remote User : songless
Remote Path : /volume1/truenas-backup

옵션:

  • Recursive
  • Times / Permissions / Ownership
  • ACL / Xattrs
  • Compression
  • Delete 옵션 등
    DS423+ Task와 동일하게 설정

8. 최초 실행 및 결과

초기 실행 시 다음 오류 발생:

Disconnect Error [error code 14: Permission denied]

원인:

  • DS720+에 SSH 공개키 미등록

공개키 등록 후 재실행 결과:

  • DS720+ File Station에서
    • 디렉토리 구조 생성 확인
    • 파일 실시간 유입 확인
  • rsync Task 상태: SUCCESS

9. 재부팅·네트워크 변경 시에도 안전한 이유

이 구성에서 가장 중요했던 부분이다.

9-1. Tailscale IP는 변하지 않는다

Tailscale의 100.x.x.x IP는:

  • 공인 IP ❌
  • 로컬 IP ❌
  • 장비 + 계정에 귀속된 논리적 고정 IP

즉, “장소”가 아니라 “장비 정체성”에 붙는 주소다.


9-2. 상황별 동작 정리

▷ NAS 재부팅 (TrueNAS / DS720+)

  • Tailscale 데몬 재시작
  • 기존 상태(State) 사용
  • 동일한 Tailscale IP 유지

→ rsync 스케줄 정상 재개


▷ 인터넷 단절 후 복구

  • 일시적으로 rsync 실패 가능
  • 다음 스케줄에서 자동 재시도
  • 설정 변경 불필요

▷ 외부 IP 변경 (회사 ISP / DHCP)

  • DS720+ 공인 IP 변경
  • NAT 경로 변경

Tailscale은 외부 IP를 직접 사용하지 않음
→ TrueNAS는 여전히 100.90.187.5로 접근


▷ 설치 장소 변경 (회사 → 다른 장소)

  • 완전히 다른 네트워크
  • 다른 공유기 / 다른 공인 IP

→ Tailscale 로그인 유지 시
IP 동일, rsync 설정 그대로 동작


9-3. IP가 바뀌는 예외적인 경우

아래 경우에만 Tailscale IP가 변경된다.

  • 장비를 Tailscale 관리자 페이지에서 삭제
  • Reset 옵션 사용
  • 다른 Tailscale 계정으로 로그인
  • 인증 상태(State) 완전 손실

→ 정상 운용에서는 의도적으로 하지 않는 이상 발생하지 않음


10. 최종 구성 요약

  • 내부 백업: TrueNAS → DS423+
  • 외부 백업: TrueNAS → DS720+
  • 두 백업 대상 간 의존성 없음
  • 회사 네트워크 무개입
  • 포트 노출 없음
  • 재부팅 / 네트워크 변경 / 장소 변경에도 안정적

“백업이 한 번 되는 구조”가 아니라
“환경이 바뀌어도 계속 유지되는 구조”


11. 마무리

이번 구성은:

  • 3-2-1 백업 원칙에 매우 근접
  • 홈서버 환경에서 현실적으로 구현 가능한
  • 가장 강건한 오프사이트 백업 구조

라고 정리할 수 있다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다