我的公司有一个简单的网络,我使用 ISP 的 ADSL 路由器。局域网是192.168.1.0/24。路由器的IP是192.168.1.1。它还启用了 DHCP,范围从2 to 250.
我有一个配置了静态 IP 地址的数字视频录像机 (DVR),具有以下 LAN 配置:
IP : 192.168.1.254
MASK: 255.255.255.0
GW : 192.168.1.1
DNS1: 192.168.1.1
HTTP: 8080
SRVR: 6036
我还需要配置连接端口——在这种情况下,DVR 的 HTTP 端口是8080,服务器端口是6036. 我在路由器上进行了调整,将端口转发到 DVR。
所以我下载了手机APP并将其配置为连接192.168.1.254- 它可以工作。因此,DVR 网络配置是正确的。然后,我配置了 DVRDDNS并重新配置了手机上的 APP ......这就是问题发生的地方:
当我在工作网络之外(即 3G 或在我家)时,它可以工作。它使用DDNS. 但是,如果我在网络中,它就不起作用。
假设我的网络的公共地址是200.30.20.10. 因此,从我的手机向两个端口(8080 和 6036)发送目标地址为 200.30.20.10 的数据包。所以它正在尝试按预期正确连接(因为我可以从我家连接到 DVR,所以我知道 DDNS 和端口转发都是正确的)
我的推理:当我在网络中时,数据包到达我的路由器,只匹配默认路由并从网关出去。但是,现在数据包的源地址和目标地址都等于200.30.20.10......所以网关网络只会丢弃我的数据包?
我认为向我的路由表添加一个静态路由可以解决这个问题,但是由于我的公共 IP 总是在变化,所以这并不是很有效......
到目前为止,我的结论是:您无法使用公共地址连接到您的网络。
(我为什么要解决这个问题:现在的情况,所有手机都需要两种配置:一种在我们在这里时连接到 DVR,另一种在我们不在时连接到 DVR。)
我的问题:到底发生了什么,为什么?