首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >默认DNS服务器在连接到OpenVPN后未切换

默认DNS服务器在连接到OpenVPN后未切换
EN

Ask Ubuntu用户
提问于 2019-05-17 07:06:34
回答 1查看 8.8K关注 0票数 6

我在我的笔记本电脑和我的服务器之间使用OpenVPN连接。直到今天,配置才开始工作(我只是运行了apt update && apt upgrade),但从那以后,我的DNS设置在连接到OpenVPN之后就“出错”了。

在连接到OpenVPN服务器之后,我的systemd-resolve配置中有两个“捕获所有”DNS域条目(DNS Domain: ~.)。

剥夺了systemd-resolve --status的输出:

代码语言:javascript
运行
复制
Link 11 (tun0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 192.168.X.Y
          DNS Domain: ~.

Link 2 (enp0s25)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.16.X.Y
                      10.16.X.Y
          DNS Domain: ~.

因此,DNS查询现在不是通过VPN进行隧道传输,而是可以通过正常的网络传输。

这导致了一个DNSLeak,甚至更糟的是:VPN-内部主机名没有被正确解析(偶尔)。

我只知道将DNS Domain: ~.条目添加到tun0-Interface以进行解析的选项。但是如何从真正的界面中删除已经存在的一个呢?

我已经使用这个配置更新了在我的OpenVPN client.conf中解决的系统:

代码语言:javascript
运行
复制
# Upate systemd-resolvd
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre
dhcp-option DOMAIN-ROUTE .

有谁知道怎么解决这个问题吗?

// Update:看起来这是一个较长的已知问题,因为NetworkManager开始随机将根DNS域附加到链接。在GitHub问题中,update-systemd-resolved脚本的开发人员对此进行了有趣的讨论。

//可能是此承诺 to NetworkManager破坏了它。因为它引入了所有接口行为的默认dns路由。

EN

回答 1

Ask Ubuntu用户

发布于 2019-11-11 20:16:53

向从.ovpn服务器下载的客户端配置文件(扩展名为OpenVPN的文件)添加一行:

代码语言:javascript
运行
复制
dhcp-option DOMAIN-ROUTE .

如您所知,在添加这一行之前,在Ubuntu18.04中,您必须安装update-systemd-resolved脚本,如https://github.com/jonathanio/update-systemd-resolved中所述

如果它仍然不工作,也许您必须添加您的内部DNS服务器。检查在.ovpn文件末尾添加的行,如下所示:

代码语言:javascript
运行
复制
script-security 2
dhcp-option DNS 10.1.0.1  # replace this IP with your DNS server IP.
dhcp-option DOMAIN yourinternaldomain.local  # replace this with your internal domain name.
dhcp-option DOMAIN-ROUTE .
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre

如果您使用UI (gnome)连接

最后,如果使用UI VPN图标连接到VPN,则必须重新导入修改后的文件。

要在终端中执行该操作,请执行:

代码语言:javascript
运行
复制
sudo apt install openvpn openvpn-systemd-resolved resolvconf
sudo apt install network-manager-openvpn network-manager-openvpn-gnome

单击Ubuntu菜单:

键入“网络”一词,然后单击“网络”。它应该显示出以下几点:

单击VPN上的"+“签名,然后单击”导入文件“选项:

导入后,添加一个名称并单击对话框右上角的" add“按钮。

你们都准备好了!

若要连接到VPN,请单击网络图标,然后单击锁定图标。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1143932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档