我设置了一个带有静态密钥的openvpn服务器(由于国家网关DPI无法使用证书模式),但是连接后我无法成功地自动更改DNS。我在互联网和SE上搜索,每个人都建议使用dhcp-option。
我试图将这一行添加到client.ovpn中
dhcp-option DNS 8.8.8.8没有任何效果。我试图将这一行添加到服务器conf中。
push "dhcp-option DNS 8.8.8.8"两者都不起任何作用。
事实上,根据手册,
-dhcp-选项类型的帕姆集扩展TAP 32 TCP/IP属性,必须与--ip 32动态或-ip 32自适应使用.
但我的客户是一台Mac机器服务器Linux。这个问题有什么解决办法吗?
发布于 2017-09-01 02:57:35
在Linux系统上,需要运行外部脚本。
以下是文档:https://wiki.archlinux.org/index.php/OpenVPN#DNS
脚本可以在这里或更新的Linux版本这里上找到,您可以通过在openvpn客户端配置中添加这些脚本来调用它们:
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf发布于 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邮件列表中。
发布于 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连接到自动。
https://unix.stackexchange.com/questions/201946
复制相似问题