如何测试 OpenVPN 提供商的 DNS 泄漏?

如何测试 OpenVPN 提供商的 DNS 泄漏?

我目前正在使用 VPNBook 和 OpenVPN。我最近才了解到 DNS 泄漏。有办法扫描它吗?

答案1

如果您从终端运行 OpenVPN,它不会分配服务器的 DNS 解析器。这是一种已知行为,在 OpenVPN 开发人员修复它之前,您必须运行外部脚本来在隧道连接后分配 DNS 解析器,并在断开连接时恢复。这应该适用于 Ubuntu、Debian 和任何基于 Debian 的发行版。

步骤1

首先,您必须更新.ovpn配置文件以运行脚本,该脚本将分配 DNS 解析器并在 VPN 连接关闭时恢复原始解析器。将以下几行添加到文件 .ovpn

script-security 2  
up updatedns.sh  
down updatedns.sh

请注意,如果您从当前文件夹运行 openvpn [server profile.ovpn],则适用此规定,而不是例如。

openvpn /home/myself/Downloads/openvpn-profiles/server-location.ovpn 

如果您从不同的文件夹运行,则必须相应地包含完整路径(也包括下面的批量更新命令)

要批量更新.ovpn文件夹中的所有配置文件,请解压缩服务器配置文件,然后从同一文件夹运行:

for filename in *.ovpn; do  echo -e "script-security 2\nup updatedns.sh\ndown updatedns.sh" >> $filename; done

第2步

获取updatens.sh脚本:

wget https://vpn.ac/configs/misc/updatedns.sh

运行chmod +x updatedns.sh to make it executable步骤 3

通过运行进行连接:

openvpn ./[location-profile].ovpn

连接后,检查dnsleak 测试。它应该报告我们的 DNS 解析器。

断开连接后,原始文件resolv.conf将被恢复。如果发生任何问题,无法正确恢复(即 openvpn 进程被终止),请通过运行以下命令手动恢复:

cp -a /etc/resolv.conf.orig /etc/resolv.conf 

来源:VPN交流

相关内容