启动 Ubuntu 18.10 后,我无法解析域名,我的/etc/resolv.conf
文件如下所示:
# Generated by NetworkManager
nameserver 127.0.0.53
该$ nslookup google.com - 127.0.0.53
命令也没有返回任何内容。
在 OpenVPN 中安装此脚本以支持 DNS 后,这成为一个问题:https ://github.com/masterkorp/openvpn-update-resolv-conf
我想我已经安装了该openresolv
软件包,但我不确定如何配置所有内容以协同工作。
现在,我只需要在/etc/resolv.conf
每次启动后手动更新 Google DNS 服务器。但是,VPN 工作正常,所以看起来它正在为此更新 DNS。
在重新启动 PC 并使用 OpenVPN 建立 VPN 隧道后,可以做些什么来使其工作?
任何建议将不胜感激。
@heynnema 请求的命令:
我在重新启动后运行它们,然后连接到 VPN。
$ cat /etc/issue
Ubuntu 18.10
$ uname -a
Linux destiny 4.18.0-13-generic #14-Ubuntu SMP Wed Dec 5 09:04:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ ls -al /etc/resolv.conf
-rw-r--r-- 1 root root 52 янв 21 21:20 /etc/resolv.conf
$ ps auxc | grep -i dns
$ host 8.8.8.8
;; connection timed out; no servers could be reached
$ host www.ebay.com
;; connection timed out; no servers could be reached
$ ps auxc | grep -i resolv
$ cat /run/resolvconf/resolv.conf
cat: /run/resolvconf/resolv.conf: No such file or directory
$ cat /run/systemd/resolve/resolv.conf
cat: /run/systemd/resolve/resolv.conf: No such file or directory
$ ls -al /etc/openvpn
total 36
drwxr-xr-x 5 root root 4096 янв 15 14:54 .
drwxr-xr-x 139 root root 12288 янв 21 23:43 ..
drwxr-xr-x 2 root root 4096 сен 3 11:57 client
drwxr-xr-x 2 root root 4096 янв 15 14:25 scripts
drwxr-xr-x 2 root root 4096 сен 3 11:57 server
-rwxr-xr-x 1 root root 1468 сен 3 11:57 update-resolv-conf
-rwxr-xr-x 1 root root 2152 янв 15 14:54 update-resolv-conf.sh
# openvpn --version
OpenVPN 2.4.6 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Sep 3 2018
library versions: OpenSSL 1.1.1 11 Sep 2018, LZO 2.10
Originally developed by James Yonan
Copyright (C) 2002-2018 OpenVPN Inc <[email protected]>
Compile time defines: enable_async_push=no enable_comp_stub=no enable_crypto=yes enable_crypto_ofb_cfb=yes enable_debug=yes enable_def_auth=yes enable_dependency_tracking=no enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown enable_fast_install=needless enable_fragment=yes enable_iproute2=yes enable_libtool_lock=yes enable_lz4=yes enable_lzo=yes enable_maintainer_mode=no enable_management=yes enable_multihome=yes enable_pam_dlopen=no enable_pedantic=no enable_pf=yes enable_pkcs11=yes enable_plugin_auth_pam=yes enable_plugin_down_root=yes enable_plugins=yes enable_port_share=yes enable_selinux=no enable_server=yes enable_shared=yes enable_shared_with_static_runtimes=no enable_silent_rules=no enable_small=no enable_static=yes enable_strict=no enable_strict_options=no enable_systemd=yes enable_werror=no enable_win32_dll=yes enable_x509_alt_username=yes with_aix_soname=aix with_crypto_library=openssl with_gnu_ld=yes with_mem_check=no with_sysroot=no
$ systemctl status | head -n 6
● destiny
State: running
Jobs: 0 queued
Failed: 0 units
Since: Tue 2019-01-22 17:33:01 MSK; 1min 29s ago
CGroup: /
$ systemctl status systemd-resolved
● systemd-resolved.service - Network Name Resolution
Loaded: loaded (/lib/systemd/system/systemd-resolved.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:systemd-resolved.service(8)
https://www.freedesktop.org/wiki/Software/systemd/resolved
https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
注意:DNS 在 18.xx 中被破坏,有/没有 VPN。
问题...
/etc/resolv.conf
是一个硬连线文件,应该是一个符号链接/run/resolvconf/resolv.conf
并且/run/systemd/resolve/resolv.conf
没有被填充openresolv
systemd-resolved
已禁用且未运行network-manager
软件包所以……刚开始……
openresolv
根据 github 链接删除所有 mod
重新启用并重新启动
systemd-resolved
sudo systemctl enable systemd-resolved
# 重新启用 systemd-resolvedsudo systemctl start systemd-resolved
# 启动 systemd-resolvedsudo systemctl status systemd-resolved
# 检查状态/etc/resolv.conf
符号链接sudo rm -i /etc/resolv.conf
# 移除硬连线文件sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
# 重新创建符号链接sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
# 重新创建符号链接reboot
#重启系统重启后...
cat /etc/resolv.conf
# 检查 /etc/resolv.conf 的内容并确认它包含类似 192.168.x.1 或上游 DNS 服务器的 IP 地址。
我们将修改您的 .ovpn 脚本,将它们导入 NetworkManager,然后测试 VPN。需要注意的一件事是,使用
sudo openvpn script_name.ovpn
可能会产生与将 .ovpn 文件导入 NetworkManager 不同的结果。对于您的 .ovpn 文件...
在文件末尾添加以下内容(仅使用您的一个 .ovpn 文件尝试此操作)。
然后尝试...
sudo openvpn script_name.ovpn
# 通过cli连接cat /etc/resolv.conf
# 重新检查内容并确认更改resolvectl
# 检查 DNS 服务器是否被分配给 tap0在http://dnsleak.com检查 DNS 泄漏
更新#1:
我改变了主意(至少是暂时的)并决定在“重新创建
/etc/resolv.conf
符号链接”步骤中更改符号链接....../etc/resolv.conf
符号链接sudo rm -i /etc/resolv.conf
# 删除符号链接sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
# 重新创建符号链接sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
# 重新创建符号链接resolvectl
在 VPN 启动的情况下,设备 tap0 可能无法显示预期结果更新#2:
现在我们将修改后的 .ovpn 文件导入 NetworkManager。
Network
设置面板Import from file
在http://dnsleak.com检查 DNS 泄漏
resolvectl
应显示 VPN 启动的设备 tap0 的预期结果更新#3:
network-manager-openvpn
network-manager-openvpn-gnome
network-manager-vpnc
dpkg -l *resolv* | grep ii
)...resolvconf
libnss-resolve
更新#4:
这是我正在谈论的“有线连接”NM脚本的屏幕截图...您可以在那里设置DNS(记得将DNS AUTO设置为OFF,然后输入逗号分隔的DNS IP地址)...或编辑/etc/systemd/resolved.conf
和编辑该#DNS=
行...但是其中任何一个都可能会覆盖我们试图达到 100% 的 VPN 对 DNS 的自动处理。请记住,使用
sudo openvpn client.ovpn
与使用导入的 .ovpn 脚本从 NetworkManager 启动 VPN 连接产生的结果略有不同。在任何一种情况下,您都需要监视我们符号链接到的两个 resolv.conf/etc/resolv.conf
并查看哪个适当地显示来自您的本地网络或 VPN 网络的 DNS 服务器,但通常不会同时显示...然后调整如果需要,符号链接。(注意:我们可能还需要编辑/etc/nsswitch.conf
......稍后会详细介绍)。请记住,我说过 DNS 在 18.xx 中有点麻烦 :-) 我终于让我的工作正常,但花了一些时间。更新#5:
可以尝试的东西...我自己没有玩过这个...所以报告你的结果。
编辑
/etc/nsswitch.conf
并暂时注释掉:hosts: files myhostname mdns4_minimal [NOTFOUND=return] dns
并把它放在它的位置:
hosts: files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns myhostname
更新#6:
如果这令人困惑...记得我说过它可能是...
这是一个供您运行的测试...仔细记录,因为很容易从记忆中弄错...我知道我做到了...
让我们纯粹看一下 的输出
resolvectl
。我们必须查看 3 个不同的地方,看看它是否真的工作正常。和...
和...
运行两个单独的测试...
测试#1...
sudo openvpn client.ovpn
http://dnsleak.com
并检查 VPN IP 和 DNS 泄漏测试#2...
http://dnsleak.com
并检查 VPN IP 和 DNS 泄漏