首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在openvpn中如何定义DNS服务器?

在openvpn中如何定义DNS服务器?
EN

Unix & Linux用户
提问于 2015-05-07 07:12:43
回答 4查看 84.6K关注 0票数 22

我设置了一个带有静态密钥的openvpn服务器(由于国家网关DPI无法使用证书模式),但是连接后我无法成功地自动更改DNS。我在互联网和SE上搜索,每个人都建议使用dhcp-option

我试图将这一行添加到client.ovpn

代码语言:javascript
复制
dhcp-option DNS 8.8.8.8

没有任何效果。我试图将这一行添加到服务器conf中。

代码语言:javascript
复制
push "dhcp-option DNS 8.8.8.8"

两者都不起任何作用。

事实上,根据手册,

-dhcp-选项类型的帕姆集扩展TAP 32 TCP/IP属性,必须与--ip 32动态或-ip 32自适应使用.

但我的客户是一台Mac机器服务器Linux。这个问题有什么解决办法吗?

EN

回答 4

Unix & Linux用户

发布于 2017-09-01 02:57:35

在Linux系统上,需要运行外部脚本。

以下是文档:https://wiki.archlinux.org/index.php/OpenVPN#DNS

脚本可以在这里或更新的Linux版本这里上找到,您可以通过在openvpn客户端配置中添加这些脚本来调用它们:

代码语言:javascript
复制
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
票数 10
EN

Unix & Linux用户

发布于 2015-05-07 09:30:10

我不是专家,但通过阅读下面的man页面:

-dhcp-选项型帕姆 .注意,如果--dhcp-选项通过--push推送到非windows客户端,则在调用up脚本之前,该选项将保存在客户端的环境中,名称为"foreign_option_{n}“。

在foreign_option_{n}下:

foreign_option_{n}一个通过--推送到一个本机不支持它的客户端的选项,例如非Windows系统上的-dhcp-选项,将在执行-up脚本之前记录到这个环境变量序列中。

因此,命令行openvpn客户端在建立连接后不会自动修改OSX计算机上的DNS设置。但是,由于DNS选项保存到客户端的环境中,所以可以指定一个脚本,将推送服务器附加到系统当前的DNS配置中,并使用--up选项:

- UID运行命令cmd后,成功地TUN/TAP设备打开(用户前UID更改)。cmd由脚本(或可执行程序)的路径组成,可选地后面跟着参数。路径和参数可以是单引号或双引号和/或使用反斜杠转义,并且应该用一个或多个空格分隔。

例如,图尼布利克也通过利用这个脚本来做到这一点。

另一个解决方案可能是将脚本发布到OS客户端的DNS -最终指南的openvpn邮件列表中。

票数 6
EN

Unix & Linux用户

发布于 2016-05-23 16:42:55

我在Linux操作系统(服务器和客户端)上也有同样的问题,我解决了itm在服务器上安装dnsmasq时丢失的问题。

所以我的脚步:

apt-get install dnsmasq

在server.conf中

push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4"

我还可以通过服务器IP连接和浏览域,通过DNS集与NetWorkManager连接到自动。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/201946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档