我刚刚订阅了一个VPN提供商。
我有Xubuntu 17.10,openvpn 2.4.3。在启动openvpn命令之后,我检查了IP (很好),并执行了一个简单的DNS泄漏试验:不是很好,它显示了我的互联网服务提供商!
我有一次初步审讯:
在我这方面,我尝试更改openvpn的.ovpn配置文件中的一些值:
C11
_1=‘dhcp-选项DNS 208.67.222.222’foreign_选项2=‘dhcp-选项DNS 208.67.220.220’foreign_3_3=‘dhcp-选项8.26.56.26'“etc/openvpn/update-conf foreign_ job _1=‘dhcp-选项DNS 208.67.222.222’foreign_job_2=‘dhcp-选项DNS 208.67.220.220’foreign_option_3=‘dhcp-选项DNS 8.26.56.26’。当/etc/resolvconf
的内容被向上/向下的脚本更新时:# glibc解析器(3)的动态resolv.conf(5)文件由解析器(8)生成#不要手工编辑这个文件--您的更改将被覆盖# 127.0.0.53是系统解析的存根解析器。#运行“systemd-解析--状态”,查看有关实际名称服务器的详细信息。名称服务器208.67.222.222名称服务器208.67.220.220名称服务器8.26.56.26搜索局域网,但DNSleaktest仍然显示我的ISP。openvpn-systemd-resolved
的存在,它提供了一个类似于update-resolve-conf
的脚本,但使它与systemd一起工作(在这里,我不知道哪些进程使用这个:网络管理器?开胸?)我安装了这个包,并在我的.ovpn文件中替换了脚本名: up“/etc/openvpn/update.”放下“.”但还是没什么好运气。[在编写这篇文章时,我刚刚想出了解决方案,请参阅 我的回答 below]/etc/resolv.conf
文件。通常情况下,它不应该被更改,所以我将我的DNS服务器地址放到/etc/resolvconf/resolv.conf.d/base
中,但是发出resolvconf -u
似乎不起作用。经过更多的检查后我注意到了。我可以删除systemd-update-resolved
行,它仍然有效,但只在某些条件下才能工作:
当openvpn
服务运行时,我会得到DNS泄漏信息。如果我停止了它,然后只为我的客户重新启动服务:
sudo service openvpn stop
sudo service openvpn@client start
那就成功了。
对不起,我想我还没有彻底检查openvpn手册,但是why是吗?这不是安全漏洞吗?特别是因为openvpn服务是在从apt安装后自动激活的。How使更改永久化?(我尝试了sudo systemctl disable openvpn
,但在下一次启动时我仍然遇到了同样的问题)。
一旦我停止了openvpn
并启动了openvpn@client
,我就没有DNS泄漏,route -n
的输出是:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 91.240.65.1 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.254 0.0.0.0 UG 100 0 0 eno1
91.240.64.17 192.168.1.254 255.255.255.255 UGH 0 0 0 eno1
91.240.65.0 0.0.0.0 255.255.255.224 U 0 0 0 tun0
128.0.0.0 91.240.65.1 128.0.0.0 UG 0 0 0 tun0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eno1
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eno1
在sudo service openvpn restart
之后:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 91.240.66.1 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.254 0.0.0.0 UG 100 0 0 eno1
91.240.64.16 192.168.1.254 255.255.255.255 UGH 0 0 0 eno1
91.240.66.0 0.0.0.0 255.255.255.224 U 0 0 0 tun0
128.0.0.0 91.240.66.1 128.0.0.0 UG 0 0 0 tun0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eno1
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eno1
不再工作了,在这两种情况下我都会发现DNS泄漏。我试着安装包openresolv
(它取代了解析器),它看起来很有效。下面是新的路由表:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 91.240.66.161 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.254 0.0.0.0 UG 100 0 0 eno1
91.240.64.15 192.168.1.254 255.255.255.255 UGH 0 0 0 eno1
91.240.66.160 0.0.0.0 255.255.255.224 U 0 0 0 tun0
128.0.0.0 91.240.66.161 128.0.0.0 UG 0 0 0 tun0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eno1
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eno1
发布于 2018-04-01 21:22:49
因此,答案是仔细遵循ArchLinux wiki提供的始终点对点的说明:
https://wiki.archlinux.org/index.php/OpenVPN#Update_系统-解决_脚本
并在后面追加相应的行。
因此,分两个步骤:
sudo apt install openvpn-systemd-resolved
并将以下行追加到.ovpn文件中:
script-security 2
dhcp-option DNS 208.67.222.222
dhcp-option DNS 208.67.220.220
dhcp-option DNS 8.26.56.26
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
如果不清楚,您的文件现在应该包含两行“向上”和两行“向下”:
# old lines
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
# new lines
script-security 2
dhcp-option DNS 208.67.222.222
dhcp-option DNS 208.67.220.220
dhcp-option DNS 8.26.56.26
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
在我的问题中,请参见Edit 1。
这个奇怪的systemd-resolved.service
行为问题被引用为这里。
在客户端配置文件中放置的选项似乎如下:
dhcp-option DOMAIN-ROUTE .
显然它通过所选的连接路由所有DNS ..。
发布于 2019-02-08 18:25:24
这似乎是一个错误,因为Ubuntu在更新网络管理器-openvpn包之前切换到systemd-解析,以了解系统解析。Ubuntu18.10似乎已经用网络管理器1.12.2-0ubuntu5解决了这个问题。这里有更多信息:https://gitlab.gnome.org/GNOME/NetworkManager-openvpn/issues/10。
“在公布之前,”鲍勃·威兰的回答对我有效。
发布于 2019-03-09 20:29:02
通过将这些行添加到我的OpenVPN配置文件中,我设法解决了这个问题:
脚本-安全性2 up /etc/openvpn/update-conf conf/etc/openvpn/update-conf conf
对于Windows用户(OpenVPN +2.3.9):
块-外部-dns
https://unix.stackexchange.com/questions/434916
复制相似问题