因此,我正在将我们的办公室从当前代理(在我们的邮件服务器上的 Windows 中运行的 Squid...我没有设置它......)迁移到一个新的代理,即在 Vyatta 上运行的 Squid。
到目前为止,我已经设置好一切并且运行正常,但是我无法让它使用两个不同的 DNS 服务器,一个用于互联网(8.8.8.8),另一个用于内部域名站点。
如果我首先使用以下命令设置我们的内部 DNS IP:
set system name-server 192.168.47.1
set system name-server 8.8.8.8
然后它似乎确实解决了所有问题,但是互联网上的任何公共网站都需要很长时间才能解决。但是,如果我将其切换为公共 DNS 为第一,网站加载速度会非常快,但它只会加载公共 DNS 中的记录。
无论使用哪种设置,使用 nslookup 似乎都只使用第一个名称服务器。
以前有人处理过这个问题吗?
答案1
上面的 squid 配置发生的情况是,它尝试通过内部服务器解析公共 DNS,然后等待它失败,然后尝试公共 DNS。
我建议在系统上运行单独的 DNS 代理并告诉 squid 使用它。像 dnsmasq 这样简单易用的工具允许您为内部域设置不同的 DNS 服务器,但其他一切都将转到公共互联网 DNS。看起来 Vyatta 包含 dnsmasq。
或者,在您的内部 DNS 服务器上设置转发以允许它解析互联网域名,然后只需使用 squid 中的一个 DNS 服务器。