我们都知道局域网上的PC使用私有IP地址,例如192.168.2.3
,等。
现在我的问题是,PC 怎么能说我的私有地址192.168.2.3
与其他具有私有地址的 LAN PC 通信,192.168.2.5
因为并非每台 PC 都有公共地址。
为了更清楚,假设我想 ping 到具有 IP 地址的 PC 192.168.2.5
。
那么我的 PC 或路由器如何知道它必须将消息发送到哪台 PC,因为可能有许多 PC 具有相同的私有 IP 地址192.168.2.5
.
我们都知道局域网上的PC使用私有IP地址,例如192.168.2.3
,等。
现在我的问题是,PC 怎么能说我的私有地址192.168.2.3
与其他具有私有地址的 LAN PC 通信,192.168.2.5
因为并非每台 PC 都有公共地址。
为了更清楚,假设我想 ping 到具有 IP 地址的 PC 192.168.2.5
。
那么我的 PC 或路由器如何知道它必须将消息发送到哪台 PC,因为可能有许多 PC 具有相同的私有 IP 地址192.168.2.5
.
无法从公共互联网访问私有IP 范围内的PC 。
连接到 Internet 的私有范围内的设备使用代理或路由器/NAT设备,该设备将本地源 IP 替换为在您的路由器/NAT 中重新放置的单个公共 IP 地址。
但是,您可以例外,在路由器中打开一个端口,并允许将流量定向到您的公共IP 地址和该特定端口(例如,80
)通过路由器并最终到达您的 PC。
现在您的 PC 至少在端口上是公开的80
。Internet 知道如何使用公共地址访问您的 PC ,路由器将该公共IP 转换为您的设备使用的私有IP 。
一个例子:
您的 PC 具有私有IP 地址192.168.2.3
并连接到具有公共IP的 Internet 路由器54.239.25.200
。
现在,如果您打开80
路由器中的端口,那么公共互联网中的任何人都可以使用 URL http://54.239.25.200:80连接到您的 PC
公共互联网不知道您的私有 IP,他们知道您的公共IP 地址。
如果您真的想使用私有 IP 地址与远程 PC/网络、ping 等完全通信,则跨公共 Internet,您将需要一个隧道,通常是 VPN 连接。
正如您指出的原因,互联网不会路由私有 IP 地址。因此,您需要隐藏 = 将私有 IP 数据包封装在公共 IP 数据包中。在发送方的数据包被封装,在接收方的原始数据包被提取并路由到目的地。
我认为最好的方法是像Zac67所说的那样创建一个 VPN ,但是你的问题有点笼统,所以如果没有涉及设备的拓扑,就很难回答。基本上,您需要为每个主机配置一个公共对等点,因此您将拥有一个私有 ip 和一个公共对等点,这将是互联网上的面孔。此外,这将是一种更安全的方式,因为所有流量都将被加密。不建议在路由器上打开像 http/80 这样的端口并通过 inet 访问它。
这称为静态路由。以下是它如何工作的示例:
“我的私人地址为 192.168.2.3”
“其他局域网 PC 的私有地址为 192.168.2.5”
协议[静态[路由192.168.2.0/24[下一跳192.168.2.2[]]]]