当我在工作时连接到 VPN 时,我经常遇到网站被 OpenDNS 阻止的问题,并且还会被限制在其 DNS 服务器上的 DNS 条目。
我想知道是否有办法让域名解析转到一个服务器,如果该名称查找失败,则让它尝试另一个服务器。解决这个问题基本上可以让你使用来自多个服务器的 DNS 条目的联合。
警告:看起来,/etc/resolv.conf
如果名称查找失败,DNS 服务器的优先列表将不会影响后续条目,只有当主 DNS 服务器实际上已关闭时,才会影响后续条目。
答案1
据我所知,你不能真正使用 union(尽管使用自定义解析器来做到这一点并非不可能),但是你能最简单的方法是运行本地解析器,将对特定域集的请求转发到权威名称服务器。我dnscache
自己就是这么做的,这几乎是微不足道的,但可以轻松配置 BIND 来做同样的事情。
如果有大量域名被阻止,这种方法效果就不是很好,但对于通常的 VPN 情况(一些“仅限内部”的域名),这种方法效果很好。
答案2
分割隧道难道不能有效地解决这个问题吗?