커뮤니티 솔루션

ZimaOS에서 OpenVPN 설정: 서버 및 클라이언트 Setup

A ZimaOS user asked how to install OpenVPN Connect, but the community reply provided a Docker deployment for OpenVPN Access Server instead.

결론: 무엇이든 설치하기 전에 OpenVPN 서버를 원하는지, OpenVPN 클라이언트를 원하는지 결정하세요

포럼 질문에서는 “OpenVPN Connect”를 요청했지만, 답변에서는 OpenVPN Access Server를 설치했습니다. 둘은 동일한 제품이 아닙니다. Access Server는 ZimaOS를 원격 클라이언트가 연결하는 VPN 서버로 전환합니다. OpenVPN Connect는 Windows, macOS, Android, iOS 같은 엔드포인트에서 사용하는 클라이언트 애플리케이션입니다. 헤드리스 Linux에서는 데스크톱 OpenVPN Connect 앱 대신 Linux 클라이언트 도구를 사용할 것을 OpenVPN에서 권장합니다.

홈 네트워크에 원격으로 접속하려면 서버 역할이 필요합니다

OpenVPN의 공식 Docker 배포는 Access Server를 사용합니다:

docker run -d   --name=openvpn-as   --device /dev/net/tun   --cap-add=MKNOD   --cap-add=NET_ADMIN   -p 943:943   -p 443:443   -p 1194:1194/udp   -v /DATA/AppData/openvpn:/openvpn   --restart=unless-stopped   openvpn/openvpn-as

OpenVPN Access Server는 현재 공식 상위 소스입니다. 인증서와 서버 설정이 컨테이너를 다시 생성해도 유지되도록 영구 /openvpn 데이터 경로를 실제 ZimaOS 스토리지에 두세요.

모든 관리 포트를 인터넷에 공개하지 마세요

Access Server는 웹 관리 인터페이스와 VPN 수신 포트를 사용합니다. 원격에서 인바운드 연결을 받으려면 여전히 공인 IP 또는 의도적으로 구성한 라우터 포트 포워딩이 필요합니다. 선택한 구성에 필요한 포트만 노출하고, 관리 UI는 제한하며, HTTPS를 사용하세요. 정확한 외부 및 내부 포트 선택은 라우터 설정과 다른 리버스 프록시가 이미 443 포트를 사용 중인지에 따라 달라집니다.

ZimaOS 자체를 다른 OpenVPN 서버에 연결하려면 클라이언트 역할이 필요합니다

OpenVPN의 Linux 클라이언트 옵션에는 OpenVPN 3 Linux, 오픈 소스 openvpn 클라이언트, 일반 Linux 배포판용 NetworkManager 플러그인이 포함됩니다. 하지만 ZimaOS는 읽기 전용 시스템 모델을 사용하는 헤드리스 어플라이언스 OS이므로, 기본 시스템에 데스크톱 클라이언트를 설치하는 것은 가장 깔끔한 방법이 아닙니다.

OpenVPN Linux 클라이언트 문서에서는 서버와 클라이언트의 차이를 명확히 설명합니다.

전체 ZimaOS 호스트를 VPN을 통해 라우팅하는 것은 고급 변경 사항입니다

OpenVPN 클라이언트가 호스트의 기본 경로를 변경하면 ZimaClient 원격 액세스, App Store 다운로드, Docker 네트워킹 및 로컬 LAN 액세스에 모두 영향을 줄 수 있습니다. VPN 뒤에 호스트 전체를 두어야 하는지, 아니면 애플리케이션 컨테이너 하나만 두면 되는지 결정하세요. 다운로드 도구나 스크레이퍼의 경우 해당 컨테이너만 VPN 게이트웨이를 통해 라우팅하는 편이 대개 이해하고 관리하기 쉽습니다.

일반적인 원격 NAS 액세스에는 최신 ZimaOS에서 Tailscale 또는 WireGuard가 더 간단합니다

최신 ZimaOS는 App Store에서 Tailscale, WireGuard Easy, Firefly 및 NetBird를 직접 제공합니다. 집 밖에서 파일이나 대시보드에 접속하는 것이 목적이라면, 처음부터 OpenVPN Access Server를 구축하는 것보다 이러한 방법이 사용자 지정 컨테이너 및 네트워크 작업을 덜 요구합니다.

ZimaOS VPN 옵션에서는 지원되는 선택지를 확인할 수 있으며, Tailscale 요구 사항에서는 가장 간단한 오버레이 옵션을 설명합니다.

신중하게 사용자 지정 OpenVPN 스택을 구성하려면 Portainer 또는 Compose를 사용하세요

OpenVPN 호환성이 꼭 필요하다면 나중에 재구성할 수 없는 일회성 명령 대신 Compose나 기타 재현 가능한 정의로 컨테이너 구성을 관리하세요. 볼륨 경로, TUN 장치 액세스, 기능 및 포트 매핑을 소스 관리되는 구성에 보존하세요.

Portainer 요구 사항은 컨테이너 UI를 선호하는 사용자에게 유용하며, ZimaOS 앱 요구 사항에서는 더 넓은 ZimaOS 앱 모델을 설명합니다.

양쪽에서 VPN을 확인하세요

Access Server의 경우 휴대폰을 셀룰러 데이터에 연결한 뒤 VPN 할당 주소와 의도한 LAN 액세스가 정상인지 확인하세요. 클라이언트 구성의 경우 연결 전후에 ZimaOS 라우팅 테이블을 확인하세요:

ip addr
ip route
curl ifconfig.me

컨테이너에 “running”이라고 표시된다는 이유만으로 성공을 선언하지 마세요. 트래픽이 예상한 경로를 따르고 로컬 관리 기능도 여전히 작동하는지 확인해야 합니다.

FAQ

OpenVPN Connect는 Access Server와 같은 제품인가요?

아니요. OpenVPN Connect는 주로 엔드포인트 클라이언트인 반면, Access Server는 자체 호스팅 VPN 서버 제품입니다.

OpenVPN Access Server를 ZimaOS의 Docker에서 실행할 수 있나요?

예. 공식 Access Server 이미지는 Docker를 지원하며 TUN 장치 액세스, NET_ADMIN 기능, 영구 스토리지 및 적절한 포트가 필요합니다.

포트 포워딩이 필요한가요?

홈 라우터 뒤에서 자체 호스팅 인바운드 OpenVPN 서버를 운영하려면, 다른 공개 라우팅 구성을 사용하지 않는 한 대개 필요합니다.

ZimaOS를 VPN 클라이언트로 만들 수 있나요?

기술적으로는 Linux OpenVPN 도구나 신중하게 설계한 컨테이너를 사용해 가능합니다. 하지만 호스트 전체의 라우팅을 변경하면 LAN 및 원격 액세스 동작에 문제가 생길 수 있습니다.

OpenVPN과 Tailscale 중 무엇을 사용해야 하나요?

호환성이나 기존 OpenVPN 인프라가 중요하다면 OpenVPN을 사용하세요. 간단한 ZimaOS 원격 액세스라면 현재 App Store의 Tailscale/WireGuard 방법이 더 쉽습니다.