两个Internet连接上的主DNS和辅助DNS,一台服务器

时间:2012-01-12 07:47:09

标签: dns

目前我的网络设置如下:

1台服务器,3个以太网卡。

eth0 - ISP1 eth1 - ISP2 eth2 - 本地网络。

配置主DNS和辅助DNS的正确方法是什么? 使用tinydns。

目前的配置: 在同一台机器上运行的2个tinydns服务,每个服务在不同的ip上配置(NS1 = eth0,NS2 = eth1)

每个dns配置都包含两个记录: NS1:

.domain.lv:10.10.10.10:ns.domain.lv
.domain.lv:20.20.20.20:ns2.domain.lv
@domain.lv:10.10.10.10:mail.didzis.lv:10:256::
@domain.lv:20.20.20.20:mail.domain.lv:20:256::
+www.domain.lv:10.10.10.10

NS2:

.domain.lv:20.20.20.20:ns.domain.lv
.domain.lv:10.10.10.10:ns2.domain.lv
@domain.lv:10.10.10.10:mail.didzis.lv:10:256::
@domain.lv:20.20.20.20:mail.domain.lv:20:256::
+www.domain.lv:20.20.20.20

第二个链接更像是备份,以防第一个链接失败,反之亦然。如果eth1关闭并且www解析为20.20.20.20

,则此配置将失败

谢谢!

1 个答案:

答案 0 :(得分:1)

这种配置可以工作,但会有问题。你想要做的是制作“www.domain.lv”的TTL。记录真的很低。 TTL告诉其他DNS服务器允许它们缓存响应的时间。你做得越低,当你的一个ISP关闭时,客户会更快注意到它,但是降低它也会使它们更加频繁地重新检查IP地址,这将花费时间。 300秒(5分钟)可能是一个合理的妥协,但如果您能承受故障转移需要15分钟,我建议延长(如900秒)。

顺便说一下,我不知道你是如何为tinydns中的记录设置TTL的。我从来没有使用它(坦率地说,如果你的区域文件的成绩单可以通过,我发现它的语法非常神秘和可怕。)

当两个ISP都启动时,这一切都能正常工作。

此解决方案的主要缺点是,当其中一个ISP关闭时,无论如何都会出现DNS解析延迟。幸运的客户端将尝试查询仍在响应的名称服务器并获取用于答案的IP地址。不幸的客户端会尝试先查询名称服务器。这不行。它们最终将故障转移到仍然可用的IP地址,但是在发生这种情况之前,你必须准备延迟(可能)几秒钟。