我是 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.com
和client01.server01.example.com
。这两个名称都不是有效的名称。
答案2
谢谢提供信息。
实际上,我已经按照以下 URL 在内部配置了 DNS。他能够仅 nslookup 主机名 (server01) 以及带域的主机名 (server01.example.com),所以我想知道他是怎么做到的,如果我想成功仅 nslookup 主机名,该怎么做。
作为参考,下面是他如何 nslookup 仅主机名的屏幕截图。
按照以下 URL 配置 DNS。