我想在一个14.04桌面机器上创建一个分割式DNS配置,同时具有本地eth网络和VPN连接。也就是说,我应该将通过VPN访问的地址范围的DNS查询发送到为该特定VPN连接配置的(私有的)DNS服务器。其他通过本地网络提供的地址应该使用不同的(公共的)DNS服务器。
https://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/建议现在很容易做到这一点,因为我们有了一个本地的dnsmasq解析器。引用:
但是我无法弄清楚如何使其工作!当VPN处于非活动状态时,网络管理器会告诉dnsmasq使用本地公共DNS服务器作为上游服务器(这很好)。如果我现在激活VPN连接,网络管理器会告诉dnsmasq将上游DNS服务器更改为为VPN连接配置的私有服务器。现在,我的所有本地流量都通过VPN进行DNS查询(这很糟糕!)其中的一个重大优势是,如果您连接到VPN,与过去通过VPN路由所有DNS流量不同,您现在只会发送与该VPN公布的子网和域名相关的DNS查询。这对于高延迟的VPN连接尤其有趣,过去的情况下会减慢所有的操作速度。
如果我有一个“真正的”dnsmasq设置,我可以在dnsmasq.conf中告诉它将特定的查询路由到特定的DNS服务器。但是,在Ubuntu桌面提供的简化版dnsmasq /网络管理器设置中,这是如何工作的呢?
我猜想其中一种选择就是安装完整的dnsmasq,但这意味着我需要在两个不同的地方维护配置详细信息,而这正是网络管理器大多数情况下要克服的问题。有什么建议吗?