DNAT 및 SNAT를 사용하여 Openvpn 터널을 통해 로컬 IP 카메라를 클라우드 VPS에 연결

DNAT 및 SNAT를 사용하여 Openvpn 터널을 통해 로컬 IP 카메라를 클라우드 VPS에 연결

RTSP가 켜져 있는 로컬 네트워크에서 두 개의 IP 카메라가 실행되고 있습니다. 내 로컬 네트워크에 호스팅된 zoneminder(카메라 레코더)가 있고 RTSP를 사용하여 카메라를 직접 스트리밍합니다. 그러나 어디에서나 카메라를 볼 수 있도록 클라우드 vps에 zoneminder를 배포하고 RTSP 피드를 직접 스트리밍해야 합니다. (저는 여전히 openvpn을 사용하여 로컬 zoneminder를 볼 수 있다는 것을 알고 있지만 그렇게 하고 싶지는 않습니다.)

내 클라우드 vps에 openvpn 서버와 zoneminder를 설정했습니다. 내 IP 카메라와 동일한 네트워크에 있는 Raspberry pi(라우팅 no-exec 사용)에서 클라이언트를 구성했습니다.

그런 다음 Raspberry Pi에서 IP 전달을 활성화하고 다음 두 가지 DNAT 및 SNAT 규칙을 추가했습니다.

iptables -t nat -I PREROUTING -p udp -i tun0 --dport 3354 -j DNAT --to-destination 192.168.5.10:8554

iptables -t nat -I POSTROUTING -p udp -s 192.168.5.10 --sport 8554 -j SNAT --to-source 192.168.100.50:3354

네트워크 세부사항은 다음과 같습니다

Local network - 192.168.5.0/24
VPN network - 192.168.100.0/24
Raspberry pi local IP - 192.168.5.9
IP camera IP - 192.168.5.10
Raspberry pi VPN IP - 192.168.100.50
VPN sever IP - 192.168.100.1
RTSP port - 8554

하지만 클라우드 VPS에서 zoenminder에 카메라를 추가하려고 하면 항상 카메라에 액세스할 수 없다는 오류와 함께 실패합니다. 아래 RTSP 링크를 사용하여 카메라를 추가했습니다.

rtsp://192.168.100.50:3354/unicast

구역 관리자 오류

Unable to open input rtsp://192.168.100.50:3354/unicast

Nmap을 사용하여 포트 스캔을 수행하면 다음 메시지가 나타납니다.

3354/udp open|filtered suitjd

어디서 잘못 구성했나요? 기본적으로 VPN 터널을 통해 로컬 네트워크 프로젝트와 직접 통신해야 합니다. 다른 방법을 사용하여 어떻게 이를 달성할 수 있습니까?

관련 정보