番茄VPN用户中心
番茄VPN
节点与线路

OpenVPNDNS推送配置及版本升级检查完整实操指南

OpenVPNDNS推送配置及版本升级检查完整实操指南

很多使用OpenVPN搭建远程接入服务的运维人员和个人用户,经常会遇到连接VPN之后内网域名无法解析、本地DNS泄露的问题,同时老旧版本的OpenVPN还可能出现推送规则不兼容、番茄加速器参数失效的异常情况,这份OpenVPNDNS推送配置及版本升级检查完整实操指南,完全基于常规Linux服务端和全平台客户端的真实使用场景,覆盖配置前提、分步操作、验证方法和故障定位的全流程,不需要依赖第三方额外工具就能完成全部操作。

OpenVPN DNS推送配置的前置准备

在开始配置之前,首先要确认服务端的基础运行环境,目前绝大多数常见的Linux发行版都可以正常部署OpenVPN,不需要额外修改系统内核参数,仅需提前确认你要推送的DNS服务器地址的连通性,比如企业内部场景下要先保证所有接入VPN的客户端都能正常访问内网DNS服务器,避免推送之后出现解析超时的问题。

同时要提前排除客户端侧的特殊限制,比如部分企业管控的Windows终端默认锁定了网卡DNS的修改权限,这类场景下即使OpenVPN DNS推送规则配置正确,番茄也无法把DNS参数写入系统网卡配置,需要提前放开对应虚拟网卡的权限限制,避免后续配置完成之后出现异常。

运维调试OpenVPNDNS推送配置

运维人员在工位调试OpenVPN服务,排查DNS解析异常与版本兼容问题。

服务端与客户端DNS推送分步操作

首先修改服务端的核心配置文件server.conf,在配置段的末尾添加两行规则,番茄第一行填写push "dhcp-option DNS 主DNS服务器地址",第二行填写push "dhcp-option DNS 备用DNS服务器地址",如果需要让所有客户端的流量全部走VPN隧道转发,还要额外添加push "redirect-gateway def1 bypass-dhcp"规则,避免本地默认网关的优先级更高,覆盖VPN的路由转发规则。

如果你的使用场景需要支持IPv6解析,还要额外添加IPv6对应的DNS推送规则,也就是push "dhcp-option DNS6 对应IPv6的DNS服务器地址",不然Windows和macOS系统会默认优先调用本地网卡的IPv6 DNS服务器,导致部分IPv6域名的解析请求绕过VPN隧道,出现解析泄露的问题。

绝大多数常规客户端不需要做任何额外配置,服务端配置完成保存之后,重启OpenVPN服务,客户端重新发起VPN连接的时候,就会自动接收服务端下发的DNS推送参数,自动写入对应虚拟网卡的配置里,不需要用户手动修改系统的DNS设置。

很多Linux桌面端用户配置完之后发现DNS推送不生效,这类情况大多是系统的resolv.conf被systemd-resolved服务接管,原生的OpenVPN程序没有权限直接修改这个文件,只需要额外安装对应发行版源里的openvpn-systemd-resolved组件,重启客户端之后就能正常识别推送的DNS参数。

OpenVPN版本升级检查实操流程

OpenVPN DNS推送:版本升级检查的第一步,是分别在服务端和客户端执行版本查询命令,Linux服务端直接在终端输入openvpn --version,Windows客户端可以在程序的关于页面查看版本号,把查询到的版本号和OpenVPN官方发布的稳定版列表做对比,如果当前使用的版本比最新稳定版低两个以上大版本,不仅很多新的DNS推送规则不支持,番茄还可能存在已经公开的安全漏洞。

执行版本升级之前,一定要先完整备份/etc/openvpn整个配置目录,尤其是自定义的server.conf配置文件和客户端的ovpn配置包,部分Linux发行版的包管理器在升级大版本软件的时候,会默认替换原有配置文件,如果没有提前备份,之前配置好的所有DNS推送规则都会直接丢失。

升级完成之后不要直接启动服务,先打开server.conf配置文件逐一核对之前添加的所有push规则是否完整保留,确认没有被替换之后再启动OpenVPN服务,同时可以在服务端用命令行查看运行日志,确认服务启动过程中没有出现参数不兼容的报错提示。

配置完成后的验证与故障定位

客户端连接VPN之后就可以开始验证配置是否生效,Windows用户可以打开命令提示符输入ipconfig /all,找到对应生成的OpenVPN虚拟网卡条目,查看里面的DNS服务器列表,确认和你在服务端配置推送的地址完全一致,macOS用户可以在网络设置的VPN详情页里查看DNS配置项,Linux用户可以查看/etc/resolv.conf里的nameserver条目确认。

如果验证之后发现生效的DNS地址不是你配置的推送地址,首先排查客户端有没有安装第三方DNS代理、广告过滤类工具,这类工具的DNS接管优先级远高于OpenVPN的推送规则,暂时退出这类工具之后重新连接VPN,大多就能正常拿到服务端下发的DNS参数。

如果是版本升级之后之前正常运行的DNS推送突然失效,可以去官方的版本更新公告里查看对应大版本的参数调整说明,部分新版本调整了dhcp-option的参数格式,把旧的写法替换成新版兼容的格式之后重启服务,就能恢复DNS推送的正常运行。

远程办公编辑组
远程办公编辑组
内容编辑

围绕办公网络、视频会议和远程访问,说明连接准备与常见排查步骤。

查看更多文章
连接指南

从一个连接问题开始

遇到VPN配置文件安全备份相关问题,可从“保存在受控位置并按需要限制分享”开始阅读。脱敏副本适合排查,但不能保证能直接恢复连接,需要结合具体环境判断。