Ubuntu 20.04 网络管理器 Wireguard DNS 泄漏

Ubuntu 20.04 网络管理器 Wireguard DNS 泄漏

我手动将 Wireguard 中的 Peer-Config 添加到了网络管理器中:

[Interface]
Address = 10.13.13.5
PrivateKey = key
ListenPort = 51820
DNS = 10.13.13.1, lan

[Peer]
PublicKey = key
Endpoint = domainname:51820
AllowedIPs = 0.0.0.0/0

我成功地从 wireguard 获得了连接。但我发现 Wireguard 的 DNS 未被使用。我得到了 DNS 泄漏。

当我从 wg0 检查状态时,我得到:

Link 14 (wg0)
      Current Scopes: DNS       
DefaultRoute setting: yes       
       LLMNR setting: yes       
MulticastDNS setting: no        
  DNSOverTLS setting: no        
      DNSSEC setting: no        
    DNSSEC supported: no        
  Current DNS Server: 10.13.13.1
         DNS Servers: 10.13.13.1
          DNS Domain: lan    

WLAN具有:

Link 2 (wlp59s0)
      Current Scopes: DNS        
DefaultRoute setting: yes        
       LLMNR setting: yes        
MulticastDNS setting: no         
  DNSOverTLS setting: no         
      DNSSEC setting: no         
    DNSSEC supported: no         
  Current DNS Server: 172.20.10.1
         DNS Servers: 172.20.10.1
          DNS Domain: ~. 

当我通过 dnsleaktest.com 检查我的 DNS 请求时,我发现我的 Ubuntu 使用的是来自 WLan 的 DNS,而不是来自 wireguard 的 DNS。我读到有关将 DNS 域从 Wireguard 更改为“~”的内容。

当我进行更改时,我得到的结果是我的 ubuntu 同时使用来自 Wlan 和 Wireguard 的 DNS 请求。但我找不到任何解决方案来仅使用 Wireguard 上的 DNS。

我从 2019 年的一篇文章中看到,这是 Ubuntu 网络管理器中的一个错误。现在到了 2022 年,这个错误还存在吗?

更多信息:当我在手机上使用相同的配置时,没有 DNS 泄漏。

答案1

检查ipv4.dns-priority和。如果您想避免 DNS 泄漏,则ipv6.dns-priority需要将它们设置为负值(例如)。阅读。-50man nm-settings

您可以使用 查看设置nmcli connection show "$PROFILE"。您可以$PROFILE从 获得名称nmcli connection。您可以使用 更改 DNS 优先级nmcli connection modify "$PROFILE" ipv4.dns-priority -50 ipv6.dns-priority -50

与往常一样,当您修改当前处于活动状态的配置文件时,更改仅在下次(重新)激活配置文件(或执行nmcli device reapply)后才会生效。这意味着,之后执行nmcli connection up "$PROFILE"

相关内容