配置DNS客户端
DNS 客户端的配置非常简单,假设本地首选DNS服务器的IP地址为192.168.10.1,备用DNS 服务器的IP地址为192.168.10.2,则 DNS客户端的设置如下。
- 配置Windows 客户端
打开“Intermet 协议(TCP/IP)”属性对话框,在图所示的对话框中输入首选和备用DNS服务器的IP地址即可。
- 配置 Linux客户端
在Linux系统中可以通过修改/etc/resolv.conf文件来设置DNS客户端,如下所示。
[root@RHEL7-1 ~]# vim /etc/resolv.conf
nameserver 192.168.10.1
nameserver 192.168.10.2
search
其中,nameserver用于指明域名服务器的IP地址,可以设置多个DNS服务器,查询时按照文件中指定的顺序进行域名解析,只有当第一个DNS服务器没有响应时才向下面的DNS服务器发出域名解析请求。search用于指明域名搜索顺序,当查询没有域名后缀的主机名时,将会自动附加由 search指定的域名。
使用 nslookup 测试 DNS
BIND 软件包提供了3个DNS 测试工具:nslookup、dig 和 host。其中 dig和host 是命令行工具,而nslookup 命令既可以使用命令行模式也可以使用交互模式。下面在客户端 Clientl(192.168.10.20)上进行测试,前提是必须保证与RHEL7-1服务器的通信畅通。
1.nslookup 命令
[root@Client1~]# vim /etc/resolv.conf
nameserver 192.168.10.1
nameserver 192.168.10.2
search
[root@clientl~]# nslookup //运行nslookup 命令
> server
Default server: 192.168.10.1
Address:192.168.10.1#53
>www. //正向查询,查询域名 www. 所对应的IP 地址
Server: 192.168.10.1
Address: 192.168.10.1#53
Name: www.
Address: 192.168.10.4
>192.168.10.2 //反向查询,查询IP地址192.168.1.2所对应的域名
Server: 192.168.10.1
Address: 192.168.10.1#53
2.10.168.192.in-addr.arpa name = mail..
>set all //显示当前设置的所有值
Default server: 192.168.10.1
Address:192.168.10.1#53
Set options:
novc nodebug nod2
search recurse
timeout =0 retry =3 port= 53
querytype= A class= IN
srchlist =
//查询域的NS资源记录配置
>set type=NS //此行中 type 的取值还可以为 SOA、MX、CNAME、A、PTR 及any等
>
Server: 192.168.10.1
Address: 192.168.10.1#53
nameserver = dns..
>exit
[root@client1~]#
2. dig 命令
dig(domain information groper)是一个灵活的命令行方式的域名查询工具,常用于从域名服务器获取特定的信息。例如,通过dig命令查看域名 www. 的信息。
[root@Client1 ~]# dig www.
; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> www.
;;global options: +cmd
;;Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41379
flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;;OPT PSEUDOSECTION:
; EDNS:version:0, flags:; udp: 4096
:;QUESTION SECTION:
; www.. IN A
;; ANSWER SECTION:
www.. 86400 IN A 192.168.10.4
;; AUTHORITY SECTION:
. 86400 IN NS
dns..
;; ADDITIONAL SECTION:
dns.. 86400 192.168.10.1
;; Query time: 2 msec
;; SERVER:192.168.10.1#53(192.168,10.1)
;;WHEN: Tue Jul 17 22:22:40 CST 2018
;; MSG SIZE rcvd: 91
3. host 命令
host 命令用来做简单的主机名的信息查询。在默认情况下,host只在主机名和IP地址之间进行转换。下面是一些常见的host 命令的使用方法。
//正向查询主机地址
[root@Clientl~]# host dns.
//反向查询IP地址对应的域名
[root@Clientl~]# host 192.168.10.3
//查询不同类型的资源记录配置,-t 参数后可以为SOA、MX、CNAME、A、PTR等
[root@Clientl ~]# host -t NS
//列出整个 域的信息
[root@Clientl~]# host -l
//列出与指定的主机资源记录相关的详细信息
[root@Clientl_~]# host -a web.
4. DNS服务器配置中的常见错误
(1)配置文件名写错。在这种情况下,运行 nslookup 命令不会出现命令提示符“>”。
(2)主机域名后面没有“.”。这是最常犯的错误。
(3)/etc/resolv.conf文件中的域名服务器的IP地址不正确。在这种情况下,nslookup命令不出现命令提示符。
(4)回送地址的数据库文件有问题。同样 nslookup 命令不出现命令提示符。
(5)在/etc/named.conf文件中的zone 区域声明中定义的文件名与/var/named目录下的区域数据库文件名不一致。