Linux DNS(nslookup)

Linux DNS(nslookup)

我是 DNS 新手,在我的 Linux VM 上安装了 DNS 服务器,并且成功了。但我对 nslookup 有一些疑问,我能够解析 FQDN,但无法解析主机名。

问:如何仅使用主机名进行 nslookup。

例如:- 以下是主机名失败的情况:-

# nslookup server01

对于具有 FQDN 的相同主机名,以下操作成功:-

# nslookup server01.example.com

以下是我当前的 DNS 配置:-


正向查找区域:-

$TTL 86400
@       IN SOA @  server01.example.com.  (
                                2014051001      ; serial
                                        3600    ; refresh
                                        1800    ; retry
                                        604800  ; expire
                                        86400    ; minimum
)
@                     NS      server01.example.com.
                      A       127.0.0.1
@                     A   192.168.0.50
server01              A       192.168.0.50
client01             A       192.168.0.60

反向查找区域:

$TTL 1D
@       IN SOA @        server01.example.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       NS      server01.example.com.
50      PTR     server01.
60      PTR     client01.

猫/etc/resolv.conf

# Generated by NetworkManager
search server01.example.com
domain server01.example.com
nameserver 192.168.0.50

下面是使用 FDQD 运行的 nslookup:-

# nslookup server01.example.com
Server:         192.168.0.50
Address:        192.168.0.50#53

Name:   server01.example.com
Address: 192.168.0.50

# nslookup client01.example.com
Server:         192.168.0.50
Address:        192.168.0.50#53

Name:   client01.example.com
Address: 192.168.0.60

以下 nslookup 因主机名失败:-

nslookup server01
Server:         192.168.0.50
Address:        192.168.0.50#53

** server can't find server01: NXDOMAIN

nslookup client01
Server:         192.168.0.50
Address:        192.168.0.50#53

** server can't find client01: NXDOMAIN

答案1

这正如预期的那样工作。短名称通常在两种情况下起作用:

  • 域后缀在 中定义/etc/resolv.conf
  • 短名称在 中定义/etc/hosts

对于nslookup和类似的 DNS 客户端实用程序,/etc/hosts这并不相关,因为这些程序不会查阅它。这使得您配置的搜索后缀成为最可能的问题。

中定义的搜索后缀/etc/resolv.conf将不起作用,因为它已被配置为服务器的 FQDN:

search server01.example.com

按理说,这些是行不通的:

# nslookup server01
# nslookup client01

上述命令分别尝试解析server01.server01.example.comclient01.server01.example.com。这两个名称都不是有效的名称。

答案2

nslookup 仅适用于主机名

谢谢提供信息。

实际上,我已经按照以下 URL 在内部配置了 DNS。他能够仅 nslookup 主机名 (server01) 以及带域的主机名 (server01.example.com),所以我想知道他是怎么做到的,如果我想成功仅 nslookup 主机名,该怎么做。

作为参考,下面是他如何 nslookup 仅主机名的屏幕截图。

按照以下 URL 配置 DNS。

https://www.youtube.com/watch?v=AMdaIeY7ozE

相关内容