近日有用户咨询一套方案:将NVR(硬盘录像机)放在公网侧也就是WAN侧,将IPC(摄像机)放在LAN侧,然后做端口映射、一对一NAT或者DMZ将内部的IPC映射到WAN口,能否通过Onvif协议添加上线?

经过多轮、海大宇等多品牌测试,得出结论:NAT场景下,无法通过Onvif添加IPC。

为什么呢?明明是映射出去了呀?
为什么NAT场景做了映射后WAN侧NVR无法Onvif添加IPC,重点在于Onvif协议的设计,报文和分析如下:
【第一阶段:发现】
NVP通过Onvif协议手动/自动添加时,会发TCP/UDP包与IPC映射后的IP交互,也就是1.240和1.46先交互
-
UDP交互中,IPC会告知NVR自身的真实IP地址,即192.168.11.233
【第二阶段:握手】
下一步,NVR就直接和IPC的真实地址11网段去走TCP连接了,但显然位于WAN侧的NVR是找不到11网段在哪里的,所以无法打通WAN—>LAN,Onvif连接建立失败;
所以onvif交互最终需要是192.168.1.240直接和192.168.11.233完成TCP交互,从而实现onvif通信,要走的是路由。也就是说,NVR必须要ping通IPC的自身IP,才能Onvif添加。
发表回复