ZVM이 LAN에서는 작동하지만 터널을 통해서는 실패할 수 있는 이유
커뮤니티 사례에서는 ZVM 가상 머신이 로컬 네트워크에서는 정상적으로 표시되었지만 DDNS 또는 Cloudflare Tunnel을 통해서는 표시되지 않았습니다. 해당 스레드에서는 ZVM 콘솔이 초기 웹 페이지 외에 추가 트래픽에도 의존할 가능성을 제기했습니다. 이후 답변에서는 WireGuard와 5700 포트의 TCP 패스스루가 언급되었지만, 모든 ZimaOS 버전에 적용되는 보편적인 해결 방법이라고 확정된 것은 아닙니다.
현재의 원격 접속 아키텍처를 확인하려면 공개 터널을 추가하기 전에 먼저 최신 Zima Client 연결 페이지와 Zima Client 원격 접속 가이드를 확인하세요.
DDNS와 Cloudflare Tunnel은 서로 다른 계층을 해결합니다
DDNS는 호스트 이름을 IP 주소에 매핑할 뿐입니다. Cloudflare Tunnel은 cloudflared를 통해 지원되는 애플리케이션 프로토콜을 프록시합니다. 어느 쪽도 VM 관리 인터페이스에서 사용하는 모든 다중 포트 또는 대화형 콘솔 프로토콜을 자동으로 이해하지는 못합니다.
Cloudflare의 최신 프로토콜 문서에 따르면, 게시된 애플리케이션의 TCP 서비스는 WebSocket을 통해 스트리밍되며 HTTP가 아닌 접속에는 클라이언트 측 cloudflared가 필요합니다. Cloudflare Tunnel 프로토콜 문서와 최신 Cloudflare Tunnel FAQ를 참조하세요.
포트를 변경하기 전에 ZVM 경로를 진단하세요
- LAN에서 ZVM이 완전히 작동하는지 확인합니다.
- 터널을 사용할 때 브라우저 개발자 도구를 열고 실패한 WebSocket 또는 보조 요청을 확인합니다.
- 정상적으로 작동하는 LAN 세션과 원격 세션에서 대상 호스트 이름과 포트를 비교합니다.
- 현재 ZVM 빌드가 실제 콘솔 경로에 5700 포트를 사용하는지 확인하지 않았다면 5700 포트만으로 충분하다고 가정하지 마세요.
- ZimaClient, WireGuard 또는 지원되는 다른 오버레이와 같은 사설 네트워크 방식을 테스트하여 프로토콜 변환 없이 전체 사설 서비스가 작동하는지 확인합니다.
TCP 패스스루가 도움이 될 수 있는 경우
커뮤니티 답변에서는 5700 포트에 NGINX Stream TCP 패스스루를 사용하는 방법을 제안했습니다. 이는 공식 ZVM 네트워킹 계약이 아니라 커뮤니티에서 제시한 우회 방법으로 보아야 합니다. 필요한 콘솔 트래픽이 해당 포트의 일반 TCP인지 확인했고 인증 경계가 안전하게 유지되는 경우에만 유용할 수 있습니다.
보안 경계
VM 콘솔을 공개하는 것은 정적 웹 페이지를 공개하는 것보다 더 민감한 작업입니다. 관리 인터페이스에는 사설 네트워크를 우선 사용하고, 모든 계층에서 인증을 요구하며, 관리 포트를 공용 인터넷에 직접 노출하지 마세요.
현재 공식 ZimaOS 원격 접속 문서에서는 기본 제공 원격 접속 옵션과 표준 프로토콜을 사용하는 원격 접속 옵션을 설명합니다.
FAQ
콘솔이 표시되지 않는데도 VM은 왜 시작되나요?
관리 요청과 대화형 콘솔 전송은 서로 다른 요청이나 채널을 사용할 수 있습니다. 브라우저가 화면 표시 경로를 설정하지 못하더라도 VM 프로세스는 정상적으로 시작될 수 있습니다.
5700 포트를 포워딩하면 항상 ZVM 문제가 해결되나요?
아니요. 커뮤니티 스레드에는 5700 포트 포워딩이 실패한 사례도 포함되어 있으므로, 고정된 하나의 포트를 가정하지 말고 현재 트래픽을 확인하세요.
원격 ZVM에 DDNS만으로 충분한가요?
아니요. DDNS는 이름 확인만 제공하므로 VM 콘솔에 연결하려면 안전하고 프로토콜과 호환되는 경로가 별도로 필요합니다.
