我有一个静态本地IP地址:10.8.4。,我的机器的公共IP地址是:72.43.135。。当服务器(坐在我工作站的不同网络上)从我的机器获得请求时,它会从
中看到我的IP地址Context.Request.UserHostAddress
并得到10.20.102。*。
为什么服务器没有获得IP:72.43.135。*?
答案 0 :(得分:0)
如果您定义 public 和 local ,您将了解这些术语在某些情况下可能会引用同一网络。例如,这可能是非军事区(DMZ)。
目标服务器看到的IP取决于您发送数据包的接口以及它通过的路由器。
是否有伪装(NAT)? - 是主要问题。您可以使用完全不同的网络,但路由器可能仍会转发您的本地IP,现在这也取决于路由表。数据包可以找回主机吗?从主机到您的机器是否有相反的路线?
目标主机可能有2个接口,1个IP 72.43 ..一个带10.8 ..也许它通过72接收但是通过10.8发回,因为它有不同的路由返回。网络可以是真正的伏都教!跟踪您的数据包,询问您的系统管理员..
(这里不讨论代理,它们提供不同IP的不同自定义标头)