题 如何确保OpenVPN连接使用特定的DNS?


我在MacOS X Lion上通过Tunnelblick使用OpenVPN。

我需要在此VPN会话期间设置特定的DNS(使用本地IP,仅在VPN启动时才有效)。

一世 无法访问OpenVPN服务器配置。 只有客户端配置。此外,来自服务器的DNS 不起作用。

所以它的工作原理如下:我连接到VPN,转到网络首选项并手动设置DNS。 断开VPN后,我切换回默认值。它有效,但它需要 自动。

经过一番探索后,我发现OpenVPN上下脚本可能对我有所帮助。不幸的是,我还没有找到任何关于如何完成它的具体文档。

如何做到或不做?任何意见,将不胜感激!


34
2017-08-12 13:10




我也考虑过ControlPlane应用程序 - 没有运气搞清楚:-) - Stanislav Shabalin
@quanta很好,但我必须列出所有域名 - 这太多了:-((我们的开发人员基础设施中有几十个域名。) - Stanislav Shabalin


答案:


尝试添加:

# put actual dns name here
dhcp-option DNS 10.11.12.13

到你客户的配置


43
2017-08-12 14:45



谢谢!有效。我偶然发现了 push "dhcp-option DNS 10.11.12.13" 关于服务器配置,不知道如何将其转换为客户端配置。再次感谢 :-) - Stanislav Shabalin
这工作,但仍然在openvpn我可以看到我的本地DNS仍然被推送:DNS服务器的4.2.2.1 4.2.2.2 192.168.0.1'将用于VPN查询当VPN处于活动时注意:DNS服务器不包括任何Tunnelblick已知的免费公共DNS服务器。这可能导致DNS查询失败或被截获或伪造,即使它们是通过VPN定向的。仅指定位于VPN网络上的已知公共DNS服务器或DNS服务器以避免此类问题。 - meso_2600


您可以在OpenVPN中添加此选项 server.conf 如果你想推动所有客户:

push "dhcp-option DNS 8.8.8.8"

你可以改变 8.8.8.8 到你想要的DNS。


1
2017-12-27 11:25



OP显然说他无法访问服务器配置。 - Kennet Celeste