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.dns和IP4.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)
小写属性是您的连接的属性...“连接”是一个配置文件,是在连接激活期间使用的一组设置。这些是由nmcli connection modify
nm-connection-editor设置的属性。
显示大写属性是因为此连接当前在设备上处于活动状态。它们是设备的属性,即系统中当前配置的内容。
大写的 DNS 服务器是从 DHCP 接收的。您可以使用 ignore-auto-dns 禁用它。
你加了8.8.8.8后,有没有重新激活连接?修改连接时,这些更改不会自动更新设备的配置。您需要做一个明确的nmcli connection up
或nmcli device reapply
使更改生效。