我的 OpenVPN 服务器的配置文件中有以下几行,但是当我使用 Linux 网络管理器连接到我的 VPN 时,查看我的 DNS,它显示我正在使用 DNS 服务器89.187.179.174
:
push "dhcp-option DNS 94.140.14.14"
push "dhcp-option DNS 94.140.15.15"
push "redirect-gateway def1 bypass-dhcp"
我知道这个地址不是我的 ISP 的 DNS,我猜测它是服务器 ISP 的 DNS,但是为什么我看到的是我服务器的 ISP DNS 而不是94.140.14.14
或94.140.15.15
?
- 有什么办法可以修复它或者检查我真正使用的 DNS 吗?
- 如何让我的 OpenVPN 服务器使用
94.140.14.14
或94.140.15.15
?
$ systemd-resolve --status
Global
LLMNR setting: no
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 94.140.14.14
DNS Servers: 94.140.14.14
94.140.15.15
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 3 (tun0)
Current Scopes: none
DefaultRoute setting: no
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Link 2 (eth0)
Current Scopes: none
DefaultRoute setting: no
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
答案1
您使用的测试无法检测您正在查询哪个 DNS 服务器。它只能检测哪个 DNS 服务器向测试所有者发出了查询。
dhcp-option
仅在与 TAP-Win32 虚拟网络适配器配合使用的 Windows 客户端上有效:
--dhcp-option type [parm]
设置扩展的 TAP-Win32 TCP/IP 属性,必须与 --ip-win32 dynamic 或 --ip-win32 adapted 一起使用。此选项可用于在 TAP-Win32 适配器上设置其他 TCP/IP 属性,对于配置 OpenVPN 客户端以通过 VPN 访问 Samba 服务器特别有用。DOMAIN 名称 - 设置连接特定的 DNS 后缀。
要在非 Windows 客户端上设置 DNS 服务器,您需要使用up
/down
脚本。更新系统已解决是一个可以执行您想要的操作的脚本。根据其设置说明,您需要将以下内容放入 OpenVPN 客户端配置中(安装完成后):
script-security 2
setenv PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
up /etc/openvpn/scripts/update-systemd-resolved
up-restart
down /etc/openvpn/scripts/update-systemd-resolved
down-pre
如果您想查看哪个 DNS 服务器处于活动状态,请选中/etc/resolv.conf
。当systemd-已解决存根解析器处于活动状态,请检查resolvectl
。
如果您想确保 DNS 流量流向所需主机,请尝试使用数据包嗅探器tcpdump
(如 CLI 工具)或 Wireshark(GUI 工具)。您可以tcpdump
像这样使用:
tcpdump -n -i tun0 port 53
然后,您将能够验证 DNS 流量确实使用了 VPN 隧道,并且通过查看删除的 IP 地址,您将看到它要去往何处。