![使用 DNAT 和 SNAT 通过 Openvpn 隧道将本地 IP 摄像机连接到云 VPS](https://linux22.com/image/156324/%E4%BD%BF%E7%94%A8%20DNAT%20%E5%92%8C%20SNAT%20%E9%80%9A%E8%BF%87%20Openvpn%20%E9%9A%A7%E9%81%93%E5%B0%86%E6%9C%AC%E5%9C%B0%20IP%20%E6%91%84%E5%83%8F%E6%9C%BA%E8%BF%9E%E6%8E%A5%E5%88%B0%E4%BA%91%20VPS.png)
我在本地网络上运行两个 IP 摄像机,并且 RTSP 打开。我在本地网络上托管了 zoneminder(摄像机录像机),并使用 RTSP 直接将摄像机流传输到它。但是,我需要在我的云 vps 中部署 zoneminder 并将 RTSP 源直接传输到它,以便我可以在任何地方查看我的摄像机。 (我知道我仍然可以使用 openvpn 查看本地 zoneminder,但我不想这样做)
我在我的云 vps 上设置了 openvpn 服务器和 zoneminder。我在 Raspberry pi 上配置了客户端(使用路由 no-exec),它与我的 IP 摄像机位于同一网络中。
然后我在树莓派上启用 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 隧道直接与本地网络项目进行通信。我怎样才能用其他方法实现这一点