![仅对匹配模式的域使用 VPN DNS,否则继续使用 ISP DNS](https://linux22.com/image/1390353/%E4%BB%85%E5%AF%B9%E5%8C%B9%E9%85%8D%E6%A8%A1%E5%BC%8F%E7%9A%84%E5%9F%9F%E4%BD%BF%E7%94%A8%20VPN%20DNS%EF%BC%8C%E5%90%A6%E5%88%99%E7%BB%A7%E7%BB%AD%E4%BD%BF%E7%94%A8%20ISP%20DNS.png)
使用这篇超级用户文章中选择的答案我已经将我的 Mac 设置为仅通过 VPN 发送 VPN 流量。这样我就可以直接使用办公室互联网连接,而不是直接一切通过 VPN 连接。
因此,任何在 192.168.xx 上查找 IP 的内容都会被路由到 VPN。其他内容都会发送到正常的互联网连接。
但是,缺点是我不能使用他们用于 VPN 的 DNS 服务器,所以我必须维护一个 hosts 文件条目example.mycompany.com
。网络管理员将不再共享 IP 地址,并要求我使用 DNS 服务器。
如果域名匹配某种模式,我该如何指示我的系统使用不同的 DNS 服务器?
OS X Mavericks
答案1
如果你在系统上安装了 DNSMasq,似乎是可能的。然后您可以将其配置为根据域将请求定向到 DNS 服务器。您的配置看起来有点像这样。
# Google DNS by default
server=8.8.8.8
server=8.8.4.4
# add dns servers for work networks
server=/example.org/10.in-addr.arpa/10.2.2.11
server=/example.org/10.in-addr.arpa/10.2.2.12
答案2
我认为你无法轻而易举地实现自己的愿望。你或许可以设置自己的本地 DNS 服务器,然后由它为你做出这些决定。
更简单的解决方案可能是始终使用 VPN 上的 DNS 服务器。该 DNS 服务器应该能够解析 Internet 域以及本地域,并且发往 Internet IP 地址的流量将继续使用您的常规 Internet 连接。
答案3
听起来您正在寻找所谓的代理。您可以在那里添加基于 URL 的规则。
像这样:
一个最小的 PAC 文件,始终将您发送到端口 81 上的代理服务器 proxy.companyname:
function FindProxyForURL(url, host)
{
if (url = url1) return "PROXY proxy1.companyname:8080";
if (url = url2) return "PROXY proxy2.companyname:8080";
}