有没有办法从 Internet 访问子网上的计算机?

网络工程 子网
2021-07-16 00:37:43

我的计算机似乎从我的 isp 路由器分配了一个子网 ip 地址,而我实际上没有自己的 ip 地址。这可以通过网络地址转换或 NAT 实现吗?

我现在想托管一个网站有一段时间了,但我认为我不能使用我的数据包似乎来自的任何 ip 地址(我认为这将是我的路由器或网关),因为要么 ISP 不想成为服务器,或者它根本不知道子网上的谁;路由数据包。只是要痛苦地清楚,说我的IP地址(或网关的IP地址)是233.234.92.3(我只是编造的)。如果我将我的域名链接到该 IP 地址,我所在的网关将无法知道将数据包路由到它所连接的子网上的何处。

2个回答

如果我将我的域名链接到该 IP 地址,我所在的网关将无法知道将数据包路由到它所连接的子网上的何处。

让我们回顾一下您所描述的内容:此处的网关有一个面向公共 Internet 的 IP 地址(您在访问 WhatIsMyIP 时看到的地址?)。它还具有面向私有子网的 IP 地址。网关进行网络地址转换 (NAT):它将传入数据包中的(公共的、共享的)目标 IP 地址转换为子网上主机的私有 IP 地址,并转换来自子网上主机的传出数据包的私有源地址。子网连接到网关的公共 IP 地址,该地址由子网上的所有主机共享。

在此处输入图片说明

(图片来源:FileZilla Wiki,根据GNU 自由文档许可证 1.2获得许可

您已经正确地注意到,在大多数情况下,NAT 可以转发传出流量,并接收已建立会话的传入流量(例如,这是您联系网站后接收数据的方式),但它不知道如何转发会话的传入流量

这个特殊问题的解决方案是NAT“端口转发”或“端口映射”。要使用它,您需要在 NAT 设备(例如路由器)上定义端口转发规则,例如,“在 TCP 端口 80 上接收的数据包应转发到 192.168.0.44”。

(但是,您可能会面临端口转发无法解决的其他问题。例如,如果您没有为静态 IP 地址付费,您的 ISP 可能会随时更改分配给您网关的公共 IP 地址,这会导致会破坏你的设置。)

你的问题似乎有很多困惑。让我看看我能不能解开一些。

  1. 你编的IP地址实际上在组播地址范围内。目前,这些未通过 Internet 路由。暂时忽略这一点:

  2. 理论上,您可以在您的网络上设置一个 Web 服务器。您的 ISP 可能有防止这种情况发生的政策,但从网络的角度来看,它会正常工作。您的网关已经知道如何将数据包路由到您的主机。否则你怎么能浏览网页?(即,所有这些有趣的猫视频是如何带给您的?)

  3. 您可以暂时忽略这一点,但您的主机很可能位于执行网络地址转换或 NAT 的路由器后面。您可以阅读更多相关信息,但简单地说,路由器会将您的 IP 地址从私有地址转换为 ISP 分配的地址。这通常是动态完成的。您将需要设置静态翻译。

  4. 看来您对“子网”的想法很感兴趣。子网只是网络。从路由的角度来看,“网络”和“子网”是一回事。