在路由器后面时,静态 IP 是如何工作的?

Dis*_*oat 5 networking static-ip

我目前正在考虑在家中获取静态 IP 地址。我相信,如果我们的 ISP 为我们提供了一个静态 IP 地址,该地址将分配给路由器,而不是特定的计算机。

我们有几台通过路由器连接的计算机(两台台式机,一台笔记本电脑,有时还有我的 iPhone 和 DS)。所有这些计算机都具有相同的外部 IP 地址,还是每台计算机都不同?这有关系吗?

sas*_*nin 14

先回答

所有这些计算机都具有相同的外部 IP 地址,还是每台计算机都不同?这有关系吗?

这些位于路由器后面的计算机从外部看起来只是一台计算机(至少它们将使用相同的 IP 地址;网站仍然能够通过使用浏览器 cookie 和浏览器发送到服务器的一些信息来区分它们)。

通常这无关紧要,但所有基于 IP 的限制都适用。例如,如果您的 IP 被禁止编辑某个站点,则同一路由器后面的所有计算机都将被禁止。

什么是静态IP

实际上,您应该区分静态与动态 IP(这是一种分配方法)、“真实”IP 与来自私有范围的 IP,以及内部与外部 IP 地址。

静态是指你直接在网络设置中插入IP地址,它是预先分配给本机的,并且始终相同。机器不需要要求任何人知道自己的 IP 地址。

动态 IP 意味着您不在网络设置中分配任何特定地址。相反,它是自动分配的(通过 DHCP)。要使此自动配置起作用,网络上需要有一个设备,它提供 IP 地址。这称为 DHCP 服务器。通常,这是家庭路由器的任务。

以何种方式选择地址(和其他网络设置)并不重要,只要它们是正确的。这只是配置网络的两种不同方式。

外部和内部 IP

没有足够的可用 IPv4 地址。为了解决此限制,内部网络中使用了私有范围(10.xxx、172.16.xx、192.168.xx)中的地址,并将“真实”公共 IP 用作整个网络的单个网关。这称为网络地址转换。大多数家用路由器都这样做。

( Internet, outer network )
   \
    \
     1.2.3.4 (external IP)
      |
   [ NAT device ]
      |
     192.168.1.1 (internal private IP)
      |
      \_________________
       \                \
        \                \
        192.168.1.2     192.168.1.3
      [ PC of Alice ] [ Bob's laptop ]
Run Code Online (Sandbox Code Playgroud)

您的外部 IP 是否是静态分配的并不重要(通常它是动态的,通过 DHCP 提供,即使它大部分时间看起来是相同的),您的内部地址是否是静态分配的并不重要或动态。只要配置一致,网络就可以工作,并且所有计算机都知道它们应该将所有内容发送到路由器,并且路由器知道如何为外部网络重写地址。

大多数站点会显示您使用 1.2.3.4 IP 地址(您可以去 ipchicken.com 查看)。如果你没有安装 Java,他们将无法说出你的内部地址是什么(但 Java 插件可能会报告它;可能 Flash 和 Silverlight 也可以做到)。

路由器的外部地址也可能来自私有范围(例如 10.1.1.1)。这意味着在互联网之前至少还有另一个 NAT。

什么时候需要静态“真实”IP?

有一种情况,当您希望外部 IP 是静态的而不是来自私有范围(“真实”IP)时。通常,当您在家中运行服务器时就是这种情况。

你不希望他们自发地改变他们的 IP 地址(但你可以使用 dyndns 来处理它)。并且您不希望您的服务器具有来自私有范围的地址,因为这样外部的任何人都无法连接它。如果使用私有IP,则需要配置路由器一路到外部,使服务器可以从外部连接。如果您的路由器的外部地址不是来自私有范围(是“真实”IP),您只需要配置您自己的路由器。但是,如果路由器的外部地址来自私有范围,则您依赖于您的 ISP 为您配置他们的路由器(祝您好运)。