什么DNS服务器使用多个连接

我有一个来自多个ISP的多个ADSL连接的复杂configuration,由Draytek Vigor 3300V +进行负载平衡

我的问题是我应该使用什么DNS设置。 我应该使用连接A的ISP设置还是使用连接B的ISP设置或不同的东西?

我目前正在使用Google DNS设置8.8.8.8和8.8.8.4在我的路由器和draytek,但我担心这可能是一些问题的原因。 任何人都可以提出build议或指引我正确的方向。

PS只要光纤到达我的办公室,我就可以放弃这个复杂的设置

旁注:我区分转发/recursion/parsingDNS和非转发/权威DNS。 虽然技术上他们都使用相同的协议,但他们的行为确实有很大的不同。 正如你提到的8.8.8.8,我假设一个转发DNS服务器。

通常,您的ISP将限制可能查询其DNS服务器的IP地址范围。

因此,如果您遇到ISP A的线路停机时间,您的系统可能会尝试通过您的线路和ISP B的IP地址查询ISP A的DNS服务器。如果ISP A确实pipe理他们的系统,他们拒绝来自任何“外来”IP地址(不属于ISP A)。

可能只有三个解决scheme:

  • 您的路由器可以根据连接的线路dynamic代理DNS请求
  • 运行你自己的DNS服务器
  • 查询公共DNS服务器

许多路由器都提供DNS代理服务器:您使用路由器的IP地址作为“您的DNS服务器”,路由器根据当前连接的线路将DNS请求转发给所连接的ISP。 如果您连接到多个ISP,并且其中一个ISP经历了DNS停机,那么您的一些DNS请求将会以静默方式失败,您可能会花费大量时间来弄清楚发生了什么问题。 如果您的某个ISP确实经历了DNS宕机,但不是线路停机时间,则您的所有DNS请求都需要转到另一个ISP。 在这种情况下,你需要两个互联网服务供应商:一个提供线路和DNS,另一个提供线路。 当您使用多行时,我不会推荐这些DNS代理。 复杂性被杀死。

运行您自己的DNS服务器确实有以下含义:

  • 你应该限制访问你的DNS服务器。 pipe理不善的转发DNS服务器往往被滥用,例如发起拒绝服务攻击。
  • parsingDNS名称通常涉及许多步骤,这些步骤会收集整体延迟:您的DNS服务器询问指向特定于tld的DNS服务器的根名称服务器; 然后你的DNS服务器会要求该特定于域名服务器的DNS服务器,这个服务器又指向某个托pipe服务器的一些授权DNS服务器。 您的DNS服务器将查询该DNS服务器并获得最终结果。 当然,这些请求被caching了一段时间,但毕竟这些请求都会增加一些networking延迟。 完全解决一个DNSlogging“自己”可能需要比公开的DNS服务器(谁可能已经有一个caching的结果)花费更多的时间。

所以从性能的angular度来看,使用公开的DNS服务器(如前面提到的Google DNS(8.8.8.8和8.8.4.4)或OpenDNS(请参阅opendns.com))可能是一个明智的想法。

我的多WAN连接的经验是ISP DNS通常会导致问题。 我总是尝试使用ISP不可知的DNS提供程序,如Google DNS或OpenDNS。

我的理想设置是:

ISP 1 – Google DNS /开放DNS ISP 2 – 开放DNS / Google DNS

这将会给予完全的冗余。