2023년 9월 IceWhale 커뮤니티 게시물 “CasaOS에 Tailscale을 설치하는 방법”은 매우 짧습니다. 사용자에게 외부 튜토리얼을 안내하고 Tailscale이 안전한 원격 액세스를 제공할 수 있다고 설명하지만, 포럼 본문에는 실제 설치 단계, 이미지 버전, 상태 디렉터리 매핑 또는 인증 설정이 보존되어 있지 않습니다.
따라서 장기간 유지되는 페이지에서 이전 포럼 게시물에 완전한 최신 설정 방법이 담겨 있는 것처럼 설명해서는 안 됩니다. 이를 보존하는 유용한 방법은 원래 CasaOS 사용 사례를 설명하고 Tailscale의 현재 Docker 모델을 기반으로 구현 방법을 다시 구성하는 것입니다.
이 글은 CasaOS에 관한 역사적 게시물이며 ZimaOS 튜토리얼이 아닙니다
CasaOS와 ZimaOS는 일부 생태계 역사를 공유하지만 서로 대체할 수 있는 운영 체제는 아닙니다. 이 출처는 CasaOS 카테고리에 속하며, 현재의 ZimaOS 사용자 지정 앱, YAML 및 개발자 모드 워크플로가 등장하기 전인 2023년에 작성되었습니다.
대상 시스템이 ZimaOS라면 ZimaOS 전용 Tailscale 페이지를 사용하세요. 대상이 Linux 호스트에서 실행되는 CasaOS라면 아래의 Docker 개념을 여전히 적용할 수 있습니다.
Tailscale이 CasaOS 서버에서 해결하는 문제
Tailscale은 등록된 기기 사이에 암호화된 사설 네트워크를 생성합니다. 같은 tailnet에 있는 노트북이나 휴대전화는 CasaOS 대시보드를 공용 인터넷에 직접 노출하지 않고도 Tailscale IP 또는 MagicDNS 이름을 통해 CasaOS 서버에 연결할 수 있습니다.
이는 일반적인 포트 포워딩과 다릅니다. 서버가 암호화된 오버레이 연결을 시작하고 사용자는 tailnet을 통해 연결하기 때문입니다.
유지 관리되는 Tailscale 컨테이너 사용
현재 Tailscale은 tailscale/tailscale 컨테이너 이미지를 제공하며 인증, 호스트 이름, 상태, 라우트, 사용자 공간 네트워킹 및 상태 확인에 지원되는 환경 변수를 문서화하고 있습니다.
2023년에 작성된 버전이 지정되지 않은 서드파티 Compose 예시 대신, 현재 공식 Tailscale Docker 배포 방식을 기준으로 시작하세요.
Tailscale 상태 디렉터리 영구 저장
짧은 원문 게시물에서 빠진 가장 중요한 최신 요구 사항은 영구 상태입니다. 업데이트나 구성 변경 중에 Docker 컨테이너가 다시 생성될 수 있습니다. Tailscale 머신 상태가 해당 임시 컨테이너 내부에만 존재한다면, 컨테이너를 다시 만들 때마다 새 노드가 등록될 수 있습니다.
TS_STATE_DIR를 통해 구성된 디렉터리에 CasaOS 호스트 디렉터리 또는 Docker 볼륨을 매핑하세요. 이렇게 하면 재시작 후에도 머신의 ID, 키 및 로그인 상태가 유지됩니다.
인증 방법을 신중하게 선택
배포 방식에 따라 컨테이너는 인증 키 또는 대화형 로그인 절차를 통해 tailnet에 참여할 수 있습니다. 인증 키는 자격 증명이므로 스크린샷이나 공개 Compose 파일에서 복사해서는 안 됩니다.
영구 서버의 경우, 오프라인 상태가 되면 해당 머신이 사라지기를 의도적으로 원하는 경우가 아니라면 임시 등록을 피하세요.
영구 노드에서 시작할 때마다 재인증하지 않기
현재 Tailscale은 TS_AUTH_ONCE=true를 지원합니다. 상태가 이미 존재하면 컨테이너가 매번 새로 등록하도록 강제하는 대신 기존 상태를 재사용할 수 있습니다.
이는 수개월 또는 수년 동안 동일한 노드로 유지되어야 하는 홈 서버에 특히 유용합니다.
접근하려는 대상에 따라 네트워크 방식이 달라집니다
Tailscale 컨테이너를 구성하는 방법은 여러 가지가 있습니다.
- Tailscale 컨테이너 자체에만 ID를 부여하는 노드
- CasaOS 호스트에서 실행되는 서비스에 접근할 수 있도록 호스트와 통합된 노드
- 다른 LAN 기기에 대한 접근을 알리는 서브넷 라우터
- 선택한 컨테이너를 위한 사이드카 또는 프록시 구성
이러한 방식은 각각 필요한 기능과 라우팅 요구 사항이 다릅니다. 특권 모드나 광범위한 네트워크 기능을 자동으로 추가하지 마세요. 실제로 필요한 최신 Tailscale 사용 사례를 따르세요.
원격 액세스가 필요하다는 이유만으로 CasaOS 대시보드를 공용으로 노출하지 마세요
Tailscale의 장점은 원격 기기가 서버와 같은 사설 네트워크에 있는 것처럼 작동할 수 있다는 점입니다. 개인 관리 목적이라면 일반적으로 CasaOS 대시보드를 공용 IP에 게시하기보다 LAN과 tailnet에서만 접근할 수 있도록 비공개로 유지하는 편이 더 안전합니다.
업데이트 전에 버전을 고정하거나 검토하세요
2023년 튜토리얼에서는 특정 이미지 태그나 앱 스토어 패키지를 언급했을 수 있습니다. 현재 배포 환경에서는 릴리스 변경 사항을 검토하고 신중하게 업데이트해야 합니다. 상태를 영구 저장하면 머신 ID가 이전 이미지 레이어에 묶이지 않으므로 컨테이너를 교체하는 작업이 훨씬 안전해집니다.
CasaOS에서 Tailscale 사용 FAQ
원본 IceWhale 게시물에 완전한 설치 절차가 포함되어 있나요?
아니요. 포럼 본문은 주로 외부 튜토리얼을 소개합니다.
현재 배포에서는 어떤 컨테이너 이미지를 사용해야 하나요?
Tailscale은 공식 tailscale/tailscale 이미지를 유지 관리합니다.
컨테이너를 다시 만들 때 중복 노드가 생성되지 않게 하려면 어떻게 해야 하나요?
TS_STATE_DIR로 구성된 디렉터리를 영구 저장하고 불필요한 새 인증을 피하세요.
이 글이 ZimaOS에서도 동일한 설정을 사용한다는 증거인가요?
아니요. 이 출처는 역사적인 CasaOS 게시물에만 해당합니다.
