0

所以这是我的问题,我有一个从我的服务器上的虚拟机托管的网站,并且正在使用 dyndns 服务将 url 指向我的 IP。我的 ISP 最近安装了一个新的调制解调器,不幸的是它有自己的内置网关和路由器。在将其转发到端口 80 之后,我尝试通过 URL 导航到该站点并对其进行了测试,但它不起作用,然后我在连接到蜂窝数据网络的手机上对其进行了测试,并且它起作用了!只要我没有连接到我的网络,我就可以通过 URL 访问该站点。我觉得这很奇怪,不知道为什么。

我可以通过输入服务器的本地 IP 在我的网络上查看该站点。

有什么建议为什么会发生这种情况?

4

3 回答 3

0

这是因为您的路由器不支持发夹(或没有设置)。

来自思科支持社区:-

发夹一词源于这样一个事实,即流量从一个来源进入路由器或类似设备,然后掉头并以相同的方式返回。

想象一下,你会看到一个看起来像发夹的东西。

发夹 NAT 是一种使用公共 IP 访问内部服务器的有用技术。由于您使用公共 IP 尝试访问网络中的服务器,因此流量将尝试发送到 Internet。为了到达服务器,流量需要被重定向到正确的位置。

于 2014-08-20T12:12:40.747 回答
0

是的,这是一种痛苦。通常,您的调制解调器不会从内部路由发往其公共 IP 地址的流量。

当您来自外部时,流量从外部线路到达调制解调器,并应用端口转发规则,然后流量到达您的 Web 服务器。但这些端口转发规则不适用于内部流量。您正在尝试在调制解调器上浏览 Web 服务器,而不是在您的服务器上。

我曾经确实找到了一个允许转发内部流量的调制解调器,但那是很久以前的事了,从那以后我就再也没有见过这样的调制解调器了。这些天我做的是当我在内部网络上时使用内部地址,当我不在时使用外部地址。对于脚本化的东西,我有一个小函数来确定我是否在本地网络上,并以编程方式选择正确的方式来寻址服务器。

于 2014-08-19T13:47:16.040 回答
0

问题是您如何进行内部路由 DNS。

您可以进行 DNS 查找和跟踪路由以查看网站名称未解析的位置以及是否 ping 域,例如 ping something.com 返回公共 IP。

我通过在网站 FQDN 上执行策略路由以通过不同的 WAN 解决了​​我们的问题。它工作正常。这适用于在站点终止的具有不同 WAN 的用户。

另一种方法是在内部网络中重做 DNS 配置。

于 2020-04-03T07:54:03.790 回答