1、IPC、NVR、Linux服务器自己的端口服务没有开放
若开放的是IPC和NVR的TCP端口(比如80、37777这种),登录web检查一下:

然后拿个笔记本直连其网口,先ping通其IP地址,然后通过telnet测试端口是否开放:

做Linux服务器的,给我狠敲命令:
netstat -tuln
处于Listen侦听状态的端口都是开放服务的端口,看看是否是你预期的开放端口

2、路由器虚拟服务器端口映射配置错误
这个不多讲了吧,LAN侧内网IPC、NVR、Linux服务器内部端口映射到WAN侧的外部端口,比如内部服务器的80端口映射到外部为9090端口,比如这样配:

内部/外部端口等参数配置错误自然映射失败。
3、IPC、NVR、Linux服务器没有配置网关
【IPC、NVR】
登录IPC、NVR界面查看网络参数配置,没有配置网关的都给我配上去,网关填写路由的地址,或者配置DHCP自动获取,别瞎填或不填。

【Linux服务器】
敲命令:
route -n
路由表没有default这条缺省路由的都没配置网关的,就像下面这样:

然后敲命令配置网关:
- 配置临时网关,Linux系统重启后失效
- route add default gw <路由器的网关IP> 备注:权限不够的sudo切换到root去配置
- 配置永久网关,重启后不失效
- 首先,列出可用的网络连接,使用命令:nmcli connection show
- 接着,设置网关,使用命令:nmcli connection modify <连接名称> ipv4.gateway <路由器的网关IP>
- 最后,激活新的设置,使用命令 nmcli connection <连接名称>
配置完成后敲命令route -n确认路由表是否有缺省路由(0.0.0.0):

4、外部映射端口和路由器自身的系统服务冲突
路由器如果通过WAN口开放了系统服务,那么映射后外部端口就不能与路由自身开放的端口冲突,一般来讲,路由器自身系统服务的优先级更高。

如上:内网NVR的内部端口TCP 80映射到外部端口也是80,恰巧路由器WAN口也开放了端口为80的web服务。那么WAN侧PC通过 WAN IP+80端口,只能访问到路由器的web服务而不是NVR。
5、IPC、NVR、Linux服务器自身存在防火墙,不允许外部SYN访问 部分服务器考虑到安全会启用内部防火墙,防止不受信任的非同网段IP设备访问自身的服务。所以WAN侧的设备主动SYN发起TCP连接会被服务器拒掉:
