DNS是计算机域名系统(Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,一个IP地址可以有多个域名,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器通常为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。提供DNS服务的就是DNS服务器。DNS服务器可以分为三种,高速缓存服务器(Cache-only server)、主服务器(Primary Name server)、辅助服务器(Second Name Server)。
一般运作中的域名最好有两台或以上的DNS服务器,一台称为主域名服务器,而另一台称为从域名服务器。第二个DNS服务器通常用于故障转移:如果一台宕机,另外一台就激活成为DNS服务器。
二、查看服务器的DNS信息
Linux系统中如何查看配置的DNS服务器信息呢? 一般有下面几种方法
1:查看/etc/resolv.con文件
[root@localhost ~]# cat /etc/resolv.conf
nameserver 192.168.xxx.xxx
#search localdomain
[root@localhost ~]#
2:使用nslookup命令查看DNS信息
[root@localhost ~]# nslookup 127.0.0.1 | grep Server
Server: 192.168.xxx.xxx
[root@localhost ~]#
3:使用dig命令来查看DNS信息
root@localhost ~]# dig
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>>
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36888
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 3
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 86163 IN NS m.root-servers.net.
. 86163 IN NS a.root-servers.net.
. 86163 IN NS j.root-servers.net.
. 86163 IN NS l.root-servers.net.
. 86163 IN NS e.root-servers.net.
. 86163 IN NS d.root-servers.net.
. 86163 IN NS k.root-servers.net.
. 86163 IN NS f.root-servers.net.
. 86163 IN NS h.root-servers.net.
. 86163 IN NS c.root-servers.net.
. 86163 IN NS g.root-servers.net.
. 86163 IN NS b.root-servers.net.
. 86163 IN NS i.root-servers.net.
;; ADDITIonAL SECTION:
a.root-servers.net. 3599 IN A 112.4.20.71
b.root-servers.net. 86163 IN A 192.228.79.201
i.root-servers.net. 86173 IN A 192.36.148.17
;; Query time: 8 msec
;; SERVER: 192.168.xxx.xxx#53(192.168.xxx.xxx)
;; WHEN: Sat Apr 16 07:34:37 2016
;; MSG SIZE rcvd: 289
[root@localhost ~]# dig | grep SERVER: | awk -F# '{ print $1 }' | awk -F: '{ print $2 }'
192.168.xxx.xxx
4:其它一些方法查看DNS信息
在网上看到还有一些其他方法,查看服务器的DNS配置信息,如下所示,不过这些方法,由于环境限制,我没有验证过,仅供参考。
nm-tool | grep DNS
nmcli dev list iface eth0 | grep IP4
修改服务器的DNS信息
修改DNS服务器非常简单,只需要修改/etc/resolv.conf配置文件即可。那么修改DNS是否需要重启某些服务,答案是不需要。修改后会立即生效,不需做任何额外处理。