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


44

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

我只需要在此VPN会话的持续时间内设置特定的DNS(使用本地IP,仅当VPN启动时才能使用)。

无权访问OpenVPN服务器配置。仅客户端配置。另外,来自服务器的DNS 不起作用。

所以它是这样的:我连接到VPN,转到“网络”偏好设置并手动设置DNS。VPN断开连接后,我切换回默认设置。它可以工作,但必须是自动的。

经过一番探索后,我发现OpenVPN上下脚本可能会帮助我。不幸的是,我还没有找到任何有关如何精确完成的特定文档。

它怎么可能或不能完成?任何意见,将不胜感激!


我也考虑过ControlPlane应用-运气不佳:-)
Stanislav Shabalin 2012年

@quanta尼斯,但我必须列出所有域-太多了:-((我们的开发人员基础结构中有几十个域。)
Stanislav Shabalin 2012年

Answers:


53

尝试添加:

# put actual dns name here
dhcp-option DNS 10.11.12.13

到您客户的配置


1
谢谢!有效。我偶然发现push "dhcp-option DNS 10.11.12.13"服务器配置,不知道如何将其转换为客户端配置。再次感谢:-)
斯坦尼斯拉夫·

此方法有效,但仍在openvpn中,我仍然可以看到我的本地DNS被推送:当VPN处于活动状态时,DNS服务器'4.2.2.1 4.2.2.2 192.168.0.1'将用于DNS查询注意:DNS服务器不包含任何DNS服务器Tunnelblick已知的免费公共DNS服务器。即使DNS查询是通过VPN定向的,这也可能导致DNS查询失败或被拦截或伪造。请仅指定已知的公共DNS服务器或VPN网络上的DNS服务器,以避免此类问题。
meso_2600

2

server.conf如果要推送所有客户端,可以在OpenVPN中添加此选项:

push "dhcp-option DNS 8.8.8.8"

您可以将更8.8.8.8改为所需的DNS。


1
OP明确表示他无权访问服务器配置。
Kennet Celeste

为什么仍然要投票?显然,这是一个错误的答案,push在客户端配置文件中不起作用
xiamx

0

将此添加到客户端配置文件:

#ipv4
pull-filter ignore "dhcp-option DNS"
#ipv6
pull-filter ignore "dhcp-option DNS6"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.