Grz*_*nio 340 networking dns
如何检查我使用的是哪个 DNS 服务器(在 Linux 中)?我正在使用网络管理器和到我大学 LAN 的有线连接。(我试图找出为什么我的域没有得到解析)
Lon*_*biz 274
这是我的方法:
( nmcli dev list || nmcli dev show ) 2>/dev/null | grep DNS
Run Code Online (Sandbox Code Playgroud)
nm-tool | grep DNS
Run Code Online (Sandbox Code Playgroud)
在 Debian 上,您需要安装network-manager 软件包。
小智 272
您应该能够在以下方面获得一些合理的信息:
$ cat /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)
小智 115
在运行 systemd 的系统上使用:
systemd-resolve --status
Run Code Online (Sandbox Code Playgroud)
或者:
resolvectl
Run Code Online (Sandbox Code Playgroud)
Fre*_*eit 96
我认为您还可以查询 DNS,它会显示返回结果的服务器。尝试这个:
dig yourserver.somedomain.xyz
Run Code Online (Sandbox Code Playgroud)
并且响应应该告诉您哪些服务器返回了结果。您感兴趣的输出将如下所示:
;; 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
Run Code Online (Sandbox Code Playgroud)
您还可以dig通过使用来告诉查询特定的 DNS 服务器dig @server_ip
小智 74
做一个,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
Run Code Online (Sandbox Code Playgroud)
小智 20
使用新network-manager命令nmcli,执行以下操作:
nmcli --fields ipv4.dns,ipv6.dns con show [connection_name]
Run Code Online (Sandbox Code Playgroud)
在较新版本的网络管理器上(例如在 Ubuntu 16.04 中),字段名称略有不同:
nmcli --fields ip4.dns,ip6.dns con show [connection_name]
Run Code Online (Sandbox Code Playgroud)
如果您不知道连接名称,请使用:
nmcli -t --fields NAME con show --active
Run Code Online (Sandbox Code Playgroud)
例如,在旧版本的 nmcli 上:
$ 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
Run Code Online (Sandbox Code Playgroud)
小智 13
获取第一个 DNS SERVER(仅限 IP):
cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
Run Code Online (Sandbox Code Playgroud)
cat 将输出 DNS 配置grep 仅过滤名称服务器head 将只保留第一行/实例cut 取行的 ip 部分(第二列以 ' ' 作为分隔符)要将 DNS ip 放在环境变量中,您可以使用如下:
export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2)
Run Code Online (Sandbox Code Playgroud)
oHo*_*oHo 10
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
Run Code Online (Sandbox Code Playgroud)
为了兼容性,对于 Ubuntu 18.10 ,systemd-resolve是resolvectl许多发行版上的符号链接:
$ 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
Run Code Online (Sandbox Code Playgroud)
如果您正在使用网络管理器,您可能会从您大学的 dhcp 服务器获取所有网络参数。
如果您不想使用 shell 检查您的 dns 设置(如 hesse 和 Alexios 所述),您可以从“网络信息”面板中查看它们。
您可以通过在网络管理器图标上按鼠标右键并从菜单中选择“连接信息”来访问此面板。
小智 6
我有 Fedora 25,并且在命令行上对 sudo 命令也有类似的缓慢响应。
nmcli dev show | grep DNS
Run Code Online (Sandbox Code Playgroud)
显示我的 3 个适配器中只有一个(两个活动的)有 DNS 条目。通过将 DNS 条目添加到一张没有条目的活动卡 - 快!一切都很好,响应时间很快。
| 归档时间: |
|
| 查看次数: |
916903 次 |
| 最近记录: |