我在家庭网络上设置了多项服务(两台安全系统DVR&在我的Windows 7机器上安装了IIS)。
所有这些设备都位于两个路由器后面并具有静态IP。我在两台路由器上配置了端口转发,以便通过我的公共IP地址访问所有内容。当从我本地网络之外的机器查询我的公共IP地址时,一切都是100%可访问的并且按预期工作。但是,当从本地网络上的计算机或设备查询我的公共IP时,请求只是超时而没有任何服务。我可以从本地网络上的计算机访问这些资源的唯一方法是通过本地IP地址查询这些资源。
更清楚地解释(使用IP')
我的公共(静态)IP地址是222.222.222.222
当我在本地网络之外并且在浏览器中打开http://222.222.222.222/时,我的Windows 7 IIS网站会出现在我的浏览器中。当我在本地网络之外并且在浏览器中打开http://222.222.222.222:5000/时,我的第一个安全系统会出现在我的浏览器中。最后,当我在本地网络之外并在浏览器中打开http://222.222.222.222:5001/时,我的第二个安全系统会出现在我的浏览器中。
但是,当我在本地网络上时,我无法使用外部IP地址加载任何这些设备。请求只是在没有加载的情况下超时。当我在本地网络上时,我可以在浏览器中加载这些内容的唯一方法是直接浏览浏览器中的本地IP地址。
我猜测我在某种程度上需要A:在我的本地网络上首先发送到我的本地网络之后获取我的公共IP请求,然后通过我的公共IP或B发送回来:不知何故检测是否从本地IP查询公共IP地址,如果是,则通过本地IP提供这些资源......但我不知道其中任何一个是否正确,即使它们是,我也是我不知道自己该怎么做。
有人能指出我正确的方向吗?我想在本地网络上访问这些资源的所有机器都是Windows 7机器,如果这样做有所不同。
答案 0 :(得分:0)
理想情况下,如果路由器支持NAT环回,则可以使用NAT环回。 NAT Loopback Wiki
如果您的路由器不支持NAT环回,则可能必须使用选项B(优于A)。假设您只需从一台PC上获得此功能,就可能会弄乱路由表。这在Windows中会变得非常混乱,但可能。 AND 您必须以某种方式跟踪动态变化的外部IP地址。我会把选项A和B留在“不太可能”,但我很乐意让社区证明我错了=)