nmcli:dns 设置重复?IP4.DNS 与 ipv4.dns

can*_*rdo 7 dns networkmanager

~ $ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description:    Linux Mint 18 Sarah
Release:        18
Codename:       sarah
~ $ uname -r
4.4.0-21-generic
~ $ nmcli -v
nmcli tool, version 1.2.0
Run Code Online (Sandbox Code Playgroud)

使用配置文件“Auto JinJiangHotels”连接到wifi网络:

~ $ nmcli device
DEVICE   TYPE      STATE        CONNECTION          
docker0  bridge    connected    docker0             
wlan0    wifi      connected    Auto JinJiangHotels 
eth0     ethernet  unavailable  --                  
eth1     ethernet  unavailable  --                  
lo       loopback  unmanaged    --  
Run Code Online (Sandbox Code Playgroud)

由于无法访问默认的 DNS 服务器,我想更改 DNS 服务器。所以我设置了ipv4.dns属性为 8.8.8.8 。

但是现在我发现 dns 设置似乎出现了两次:

~ $ nmcli connection show Auto\ JinJiangHotels | grep -i dns
ipv4.dns:                               8.8.8.8
ipv4.dns-search:                        
ipv4.dns-options:                       (default)
ipv4.ignore-auto-dns:                   no
ipv6.dns:                               
ipv6.dns-search:                        
ipv6.dns-options:                       (default)
ipv6.ignore-auto-dns:                   no
IP4.DNS[1]:                             210.22.70.3
IP4.DNS[2]:                             210.22.84.3
Run Code Online (Sandbox Code Playgroud)

问题:ipv4.dnsIP4.DNS[*] 有 什么区别什么?

dns 查找仍然失败:

~ $ host maps.google.com
;; connection timed out; no servers could be reached
Run Code Online (Sandbox Code Playgroud)

所以我假设 8.8.8.8 仍然没有被使用,尽管nmcli con show命令显示ipv4.dns被设置为 8.8.8.8。

如果我直接指定 8.8.8.8,dns 查找会按预期工作:

~ $ host maps.google.com 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases: 

maps.google.com has address 216.58.221.110
maps.google.com has IPv6 address 2404:6800:4005:804::200e
Run Code Online (Sandbox Code Playgroud)

tha*_*ler 7

小写属性是您的连接的属性...“连接”是一个配置文件,是在连接激活期间使用的一组设置。这些是由nmcli connection modifynm-connection-editor设置的属性。

显示大写属性是因为此连接当前在设备上处于活动状态。它们是设备的属性,即系统中当前配置的内容。

大写的 DNS 服务器是从 DHCP 接收的。您可以使用 ignore-auto-dns 禁用它。

你加了8.8.8.8后,有没有重新激活连接?修改连接时,这些更改不会自动更新设备的配置。您需要做一个明确的nmcli connection upnmcli device reapply使更改生效。