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

我试图了解IP地址如何工作。 例如,当你为你的服务器租用一个colo的空间,并且说“我需要20个IP地址”时,它们是如何给你的,你的服务器是否知道它们,或者它们是从你的服务器到外? colo是否有一堆IP地址,它们只是将你购买的20个stream量路由到你的服务器,或者做其他事情? 然后,当涉及到你的networking服务器(Nginx,在我的情况下),你可以控制哪些IP地址监听或将所有通信到A Record指向任何服务器的IP地址的域被路由到相同的地方在Nginx中是相同的地方)?

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

最后,如果我在同一个colo中有两台服务器(一台用于故障切换),一台机器在另一台机器上,那么当另一台服务器时,总有可能在同一IP地址上路由到备份服务器下跌降落?

有许多不同的情况,每一个都可以在不同的设置中使用。

  • 一台服务器可以分配多个私有/公共IP地址。 所有这些IP应该路由/ NAT到这个服务器。
  • 而且,多个服务器可以被“分配”一个私人/公共IP地址(VIP)。 这个IP应该被路由/ NAT到这个服务器群(到活动的那个)。 如果使用负载平衡器,则可以将共享IP分配给负载平衡器,然后将请求发送到相应的服务器。

关于你的第一个问题,是的,主机/服务器提供商将路由到他们的路由器上的子网或一堆单独的IP地址到您的服务器上的物理IP地址。

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

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

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

现在,问题的第一部分。 20个IP? 你的意思是16或32? 这取决于。 无论如何,为您分配IP地址的标准方法是使用networking掩码来分割地址空间。 那么,如果服务器只有一个IP,那么这个IP就会有一个默认网关(一个路由器或一个防火墙)。 该设备知道如何到达您的服务器,以及如何从您的服务器上的数据包上网。