物理服务器和/或 Web 服务器如何使用一个或多个 IP 地址工作?

物理服务器和/或 Web 服务器如何使用一个或多个 IP 地址工作?

我正在尝试了解 IP 地址的工作原理。例如,当您在托管服务器租用空间并说“我需要 20 个 IP 地址”时,他们是如何将这些地址提供给您的,您的服务器是否知道这些地址,或者它们只是从外部到您的服务器的路径?托管服务器是否有很多 IP 地址,他们只是将您购买的 20 个 IP 地址上的流量路由到您的服务器,还是发生了其他事情?那么,当涉及到您的 Web 服务器(在我的情况下是 Nginx)时,您可以控制要监听哪些 IP 地址,还是所有到其 A 记录指向您服务器的任何 IP 地址的域的流量都会被路由到同一个位置(即 Nginx 中的同一个位置)?

一台物理服务器可以有多个 IP 地址,对吗?

最后,如果我在同一个 colo 中有 2 台服务器(一台用于故障转移),一台位于另一台之上,当另一台服务器发生故障时,是否可以让始终从同一 IP 地址路由进入备份服务器的流量?

答案1

有许多不同的场景,每个场景都可以在不同的设置中使用。

  • 一台服务器可以同时分配多个私有/公共 IP 地址。所有这些 IP 都应路由/NAT 到此服务器。
  • 此外,可以为多台服务器“分配”一个私有/公共 IP 地址 (VIP)。此 IP 应路由/NAT 到此服务器集群(到活动服务器)。如果使用负载均衡器,则可以将共享 IP 分配给负载均衡器,然后它将请求分派到适当的服务器。

答案2

关于您的第一个问题,是的,托管/服务器提供商会将其路由器上的子网或一堆单独的 IP 地址路由到您服务器上的物理 IP 地址。

然后,您可以在服务器上的逻辑接口上使用它(与本地服务一起使用),或通过 vpn 将它们路由到另一台主机。

对于故障转移,您需要在两台服务器之间设置某种心跳,客户端使用的 IP 将在实时服务器上的逻辑接口上显示。如果实时服务器发生故障,备用服务器将响应虚拟 IP 的 arp 请求。

答案3

对于问题的第二部分,您需要一个“高可用性”解决方案。实现该解决方案的方式取决于服务器的操作系统(Linux?Windows?)。在这里回答这个问题并不那么简单。网络上有关于每个平台的 HA 解决方案的精彩教程。

现在,回答你问题的第一部分。20 个 IP?你的意思是 16 个还是 32 个?视情况而定。无论如何,为你分配一些 IP 的标准方法是使用网络掩码分割地址空间。然后,如果服务器只有一个 IP,则该 IP 将有一个默认网关(路由器或防火墙)。该设备知道如何到达你的服务器以及来自你的服务器的数据包如何传输到互联网。

相关内容