我有使用主/从类型设置运行PowerDNS作为ns1和ns2的twp名称服务器,这很好。我希望创建多个服务器来提供服务(即web、电子邮件等),然后让PowerDNS在ns1上或ns2上(以被击中者为准)返回与主机名关联的几个IP中的一个,具体取决于该主机是否实际启动和运行。
例如,假设我有两个web服务器,X和Y。我在DNS中有两个A记录,所以webserver.local有时解析为X的IP,有时解析到Y的IP,从而产生循环效应。太完美了。
如果X下降了,这仍然有效,但客户端必须在有机会到达Y之前超时,这意味着他们最终会到达他们想去的地方,但速度要慢得多。如果X下降,我希望将它的IP地址从IP的循环列表中删除,以便DNS只在解析webserver.local时才返回Y的IP,直到X被修复并恢复服务为止。
要求PowerDNS验证主机在每个请求上是否已启动并运行可能需要一两秒钟(如果可能的话),这将真正降低DNS查询的速度。我的一个想法是,通过cron定期检查服务器,并相应地修改PowerDNS配置,从而实现完全独立的任务。我当然可以从这个角度来攻击它,但我希望有一种更标准的方法来解决这个问题,而不需要太多的自定义开发。
发布于 2014-11-17 00:34:16
由于无法确定这是否是PowerDNS中内置的东西,或者有一种更“正式”的方法来处理这个问题,所以我选择了构建自己的程序来完成这个任务。该程序更多的是“如果主机崩溃,采取用户定义的操作”,而不是专门针对这一点,以便它有更广泛的应用。
我已经公开了它,以防它对其他人有用:https://github.com/hyperionworks/pulse/
https://serverfault.com/questions/644292
复制相似问题