首页 > 解决方案 > 如何访问 newtork 中的特定计算机?

问题描述

假设我有一个由 5 台计算机组成的家庭网络。它们都共享相同的外部 IP 地址。假设网络外部的一台机器向这个家庭网络中的 5 台计算机(这台计算机将是服务器)中的一台发送请求(作为客户端)。它将消息发送到外部 IP 地址。那么,路由器如何知道消息必须路由到家庭网络中的哪台计算机?

标签: networkingiprouter

解决方案


通常,当您谈论 NAT 时,有两种主要的“风格”——源 NAT 和目标 NAT。还有另一个称为“PAT”(或端口地址转换)的功能。

当您的 5 台计算机都尝试访问公共(Internet)网络时,将使用源 NAT。此时,您的 5 台计算机被您的公共 IPv4 地址伪装。

目标 NAT 是您所要求的。在这种情况下,您必须将您的路由器/防火墙(保存您的公共地址并维护您的公共连接的设备)配置为“重定向”或“DNAT”所有发往特定应用程序(或端口)的传入数据包。例如,如果您在地址为 10.0.0.3 的私有网络服务器上运行 HTTP 服务器,您只需指示您的路由器发送所有(或选择性)已发送到端口 80/443 上的公共 IP 的 TCP 数据包并发送那些到 10.0.0.3。

在 DNAT 场景中,您必须明确指示您的路由器/防火墙每种预期的传入连接类型。另一个例子可以是相同的公共地址被用于 SMTP 服务器,因此这次将在端口 25 上接收到的所有 TCP 数据包发送到本地服务器 10.0.0.4。等等等等

简而言之,它是如何工作的。


推荐阅读