PAT 无法访问网站,但 NAT 可以

PAT 无法访问网站,但 NAT 可以

我原来的问题是在这里: PAT 用户无法访问网站,但 NAT 用户可以访问?

我现在获得了一个静态 IP,并假设它有效,因为启用后我没有收到任何响应,但昨天我被告知客户端仍然无法访问网站。由于公司政策,客户无法更改其网络设置,所以我想知道我这边是否可以做些什么。

现在使用 NAT,一切都连接正常。他们的 IT 人员告诉我,它会两次连接到我们的静态 IP 地址,然后我们的网站会尝试重新连接到一个随机端口。然后它会连接到属于 Google 的另外两个 IP 地址(用于网站排名),然后网站就可以加载了。

使用 PAT 时,他们会两次连接到我们的静态 IP 地址,但什么也没发生。当我们的网站重新连接时,他们的防火墙会将其断开。

我不知道网站尝试重新连接是否正常。实际上,我根本不知道发生了什么。我不是网络专家。我只是负责网站。

答案1

假如你是我,在与双方明确想法后,我会安排一次电话会议,让你、客户的 IT 人员和托管服务提供商的技术支持人员参与进来。我会鼓励其他两人讨论细节,并希望他们共同找到解决方案或确定具体步骤来找出原因。


好的,如果您不能让客户与托管服务交谈,您就必须清楚地了解问题的技术细节。

NAT 是网络地址转换,是解决 IPV4 地址短缺问题的一种非常常见的方法。在 NAT 出现之前,每个连接到互联网的组织中的每台计算机都必须有一个全球唯一的 IP 地址。NAT 在路由器中执行,以将您的内部地址隐藏在不同的公共地址后面。这样,拥有 10,000 台计算机的企业可能只需要一个公共 IP 地址,而不是 10,000 个。如今,内部地址通常是从一组保留供私人使用的 IPV4 地址中选择的。

因此,我的 PC 可能有一个内部地址 192.168.1.1,而您的 Web 服务器也可能有一个内部地址 192.168.1.1。NAT 使这些计算机能够相互通信。www.example.com 的公共 DNS 不会给出其内部地址 192.168.1.1,而是给出路由器的公共 IP 地址,例如 1.2.3.4。

所以当我输入http://www.example.com它会向网络浏览器发送一个类似这样的 TCP 数据包

From=192.168.1.1:5432 To=1.2.3.4:80 Payload="GET / HTTP/1.0"

其中 5432 是我的 PC 随机选择的端口。我的路由器将其更改为

From=99.88.77.66:6789 To=1.2.3.4:80 Payload="GET / HTTP/1.0"

其中 99.88.77.66 是我的路由器的公共 IPV4 地址。这是网络地址转换 (NAT)。6789 是它分配的端口号(它可能已经将 5432 用于其他人的连接),这是端口地址转换 (PAT)。路由器将此转换记录在内存中以供以后调用。

位于 1.2.3.4 的托管服务路由器接收数据包并查看端口号 80,以决定将数据包传递给哪台内部计算机。这就是端口转发。因此,在托管服务 LAN 上,数据包被更改为

From=99.88.77.66:6789 To=192.168.1.1:80 Payload="GET / HTTP/1.0"

Web 服务器收到此信息。它回复 99.88.77.66:6789。当该回复到达我的路由器时,它使用目标地址 99.88.77.66:6789 中的端口号来查找原始连接的来源 - 我的 192.168.1.1:5432。我的路由器会相应地更改目标地址并将数据包转发到我的 LAN 中。

我看不出这怎么会出错。但你可以看出端口号对于一切正常运行至关重要。

相关内容