如何为来自不同网络的人提供不同的 IP 地址?

0 domain-name-system

我经常访问的一个网站有一个配置,如果您来自特定的 ISP,您将转到来自该 ISP 的特定 IP,因此对于来自不同 ISP 的用户来说,连接将是最好的。我听说这只能在 DNS 上完成,但我想知道的究竟是什么。

Man*_*aux 5

你想让我做什么?

如果您想将请求传播到您的网站,一种解决方案可能是Anycast。通过这种方式,每个客户端都将连接到不同的服务器,该服务器可用于负载平衡。另一种解决方案是DNS 循环

如果你想提供位于不同国家的不同镜像来为你的客户提供更快的速度,我认为没有关于 DNS 的解决方案。您必须在其中一台主服务器上选择一个镜像服务器,这些服务器由 DNS 根据客户端的 IP 地址解析。然后,您可以将客户端从该主服务器重定向到所选镜像。


Dav*_*ley 5

Bind 具有视图,它允许您根据 IP 地址为不同的人提供不同的答案。我相信其他 DNS 服务器也有类似的功能。例如,PowerDNS 有一个可能合适的 GeoIP 后端。

如果您足够大,可以拥有自己的 PI 地址空间,我相信您可以使用 BGP 来通告来自两个不同网络的相同范围,并且客户端将使用离它们最近的一个。我可以想象如果路由更改到另一个站点并且您使用服务器端状态,客户端会感到不安。您还需要处理一致性问题。

如果您在物理上离该 ISP 足够近,您可以要求与他们对等,这样来自该 ISP 的用户就可以使用专用网络连接。