Answers:
/etc/resolv.conf
将指向您的计算机,并dnsmasq
解析由NetworkManager配置的名称。
network-manager
软件包。
我认为您也可以查询DNS,它会向您显示哪个服务器返回了结果。尝试这个:
dig yourserver.somedomain.xyz
响应应该告诉您什么服务器返回了结果。您感兴趣的输出将如下所示:
;; Query time: 91 msec
;; SERVER: 172.xxx.xxx.xxx#53(172.xxx.xxx.xxx)
;; WHEN: Tue Apr 02 09:03:41 EDT 2019
;; MSG SIZE rcvd: 207
您还可以告诉dig
使用以下方法查询特定的DNS服务器dig @server_ip
dnsutils
软件包。
SERVER: 127.0.0.53#53(127.0.0.53)
只是做一个nslookup
。结果的一部分包括它正在使用的服务器。
在下面的示例中,它显示使用的DNS服务器位于8.8.8.8。
$ nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 172.217.22.174
$ nslookup www.google.com
dnsutils
软件包。
nslookup google.com
在Windows主机中这样做了,然后找到了名称服务器。/etc/resolv.conf
像这样添加:nameserver xx.xx.xx.xx
并重新启动service network
,一切都很好。夸你。
在运行systemd的系统上使用:
systemd-resolve --status
使用新network-manager
命令nmcli
,执行以下操作:
nmcli --fields ipv4.dns,ipv6.dns con show <connection_name>
在较新版本的网络管理器上(例如在Ubuntu 16.04中),字段名称略有不同:
nmcli --fields ip4.dns,ip6.dns con show <connection_name>
如果您不知道连接名称,请使用:
nmcli -t --fields NAME con show --active
例如:
$ nmcli --fields ip4.dns,ip6.dns con show 'Wired connection 1'
IP4.DNS[1]: 172.21.0.13
IP4.DNS[2]: 172.21.0.4
order «con» «show» is not valid
。
Error: invalid field 'ip4.dns'; allowed fields: NAME,UUID,TYPE,TIMESTAMP,TIMESTAMP-REAL,AUTOCONNECT,AUTOCONNECT-PRIORITY,READONLY,DBUS-PATH,ACTIVE,DEVICE,STATE,ACTIVE-PATH.
nmcli
是我在ubuntu 19.04上所需的一切
获得第一个DNS服务器(仅IP):
cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
cat
将输出DNS配置grep
仅过滤名称服务器head
将仅保留第一行/实例cut
将行的ip部分(第二列以''作为分隔符)要将DNS ip放入环境变量中,可以使用以下方法:
export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2)
grep -m 1
在第一次比赛之后停止比赛,因此您不必使用head
grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf
。刚刚用grep perl正则表达式
如果您正在使用网络管理器,则可能是从大学的dhcp服务器获取所有网络参数。
如果您不想使用外壳检查dns设置(如hesse和Alexios所述),则可以从“网络信息”面板中看到它们。
您可以通过在网络管理器图标上按鼠标右键并从菜单中选择“连接信息”来访问此面板。
resolvectl
$ resolvectl status | grep -1 'DNS Server'
DNSSEC supported: no
Current DNS Server: 1.1.1.1
DNS Servers: 1.1.1.1
1.0.0.1
为了兼容性,systemd-resolve
是resolvectl
许多发行版上与Ubuntu 18.10相同的符号链接:
$ type -a systemd-resolve
systemd-resolve is /usr/bin/systemd-resolve
$ ll /usr/bin/systemd-resolve
lrwxrwxrwx 1 root root 10 nov. 15 21:42 /usr/bin/systemd-resolve -> resolvectl
$ type -a resolvectl
resolvectl is /usr/bin/resolvectl
$ file /usr/bin/resolvectl
/usr/bin/resolvectl: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=09e488e849e3b988dd2ac93b024bbba18bb71814, stripped
命令
nmcli dev list iface <interfacename> | grep IP4
用您的替换“ interfacename”。
范例
nmcli dev list iface eth0 | grep IP4
这将列出所有DNS服务器(如果使用多个)。
nmcli dev list iface [devicename]
是正确的命令
我有Fedora 25,并且在命令行上对sudo命令的响应也很慢。
nmcli dev show | grep DNS
显示我的3个适配器中只有一个(两个处于活动状态)具有DNS条目。通过将DNS条目添加到一个没有条目的活动卡中-presto!一切都很好,响应时间是即时的。
在CentOS中,您可以使用:
/usr/sbin/named -v
/etc/nsswitch.conf
决定了要使用的名称服务(DNS,LDAP等)以及顺序。说fgrep hosts: /etc/nsswitch.conf
。如果仅引用DNS,/etc/resolv.conf
则是查找名称服务器的正确位置。但是,您可能还会使用mDNS(又名ZeroConf,又名Avahi,又名Bonjour等),在这种情况下,取决于您使用的是什么。