有条件地解决一个传入的DNS请求

我想有条件地解决一个基于传入查询的DNS请求。

假设我有4个域名 – www.a.com,www.b.com,www.c.com和www.d.com。 截至目前,他们指向使用CNAME的s.com。 现在基于一些条件(地理位置,时间等),我想把它们指向不同的服务器。

例如,当s.com收到来自a.com或b.com的请求时,应将其指向s1.com,在后来的情况下指向s2.com。

有没有一个托pipe的解决scheme,我可以在这里定义规则或什么。 BIND将在这种情况下工作吗?

提前致谢。

在这种情况下,DNS并不是你最好的select,因为很多原因 – 比如caching,传播时间等等。

理想情况下,您可以使用一些东西来pipe理您的传入stream量,如Stingraystream量pipe理器或F5stream量pipe理器。 不仅您可以根据条件pipe理stream量,还可以设置redirect – 例如301(因为此举不会是暂时的)。 我有Zeus / StingRay的经验,这些产品提供了你想要的。

我同意克里斯,但坚持实际问题,理论上可以用BIND完成。 我只是不会推荐它用于超短期解决scheme之外的任何事情。

将特定logging的TTL设置为零(警告:您不操作的某些caching服务器可能会select忽略此操作并实现最小TTL)或其他一些非常小的数字,并使用视图来控制哪个版本的s.com获取根据源IP提供服务。

请注意,视图会影响整个域 ,所以除非您想pipe理完全不同的域版本,否则您需要在子域上执行此操作。 (即有分裂的意见foo.s.com ,和一个单独的区域s.com没有分裂的意见)