使用Ubuntu20.04,我通过WLan使用NetworkManager连接互联网。然后用OpenConnect建立了一个虚拟专用网。我使用的是"stub resolv.conf":/etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf和hosts: files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns in /etc/nsswitch.conf。
除了VPN的DNS 10.233.63.202没有被使用之外,一切正常:
Link 37 (tun0)
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.233.63.202
DNS Servers: 10.233.63.202
10.233.63.203查看日志-u系统-解析的-f,只使用WLan链接的“当前DNS服务器”192.168.3.1:
Link 3 (wlo1)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 192.168.3.1
DNS Servers: 192.168.3.1
10.233.63.202
10.231.76.11
DNS Domain: ~.据我所知,系统解析可能不会使用tun0的DNS,因为NetworkManager将~. "DNS域“添加到wlo1。即使我用sudo resolvectl domain tun0 ~.将它添加到D10中,并使用sudo resolvectl domain wlo1 some.search.tld从wlo1中删除它,也不使用tun0的DNS。
我甚至将tun0的DNS之一添加到wlo1中,并期望从192.168.3.1开始使用它就没有答案,但事实并非如此。
只有当我更改wlo1的DNS顺序,即10.233.63.202是“当前DNS服务器”时,才能解析VPN中的主机名。似乎只有wlo1的“当前DNS服务器”才会被查询。
如果由于OpenConnect、NetworkManager和系统解析而没有使用虚拟专用网的DNS,由于某些原因,我可以接受。
但是为什么没有使用wlo1的其他DNS呢?事实上,到目前为止,这几年一直运转良好。
另外,我不知道我有多担心DNS泄漏,如果我将happens添加为WLan链接的“当前DNS服务器”,可能会发生这种情况?
发布于 2022-05-19 20:44:14
我在20.04LTS上使用了一些非常类似的网络管理器-openconnect,在阅读了mcatanzaro的关于VPN和拆分DNS的博客之后,我想出了足够的方法来完成我的设置。一些提示:
resolvectl,或者,为了在您的NetworkManager配置中永久地更改它,您可以使用名称混乱的dns-search配置: sudo nmcli con vpn0 ipv4.dns-搜索"~foo.internal,~bar.corp.com“关于nmcli输出中的倾斜点,请注意,dns-search语法允许您同时指定DNS域和DNS搜索;前缀为tildes的域不会添加到DNS搜索中,我认为这是有意义的,否则您可能会意外泄漏缺少FQDN的请求。
https://askubuntu.com/questions/1385841
复制相似问题