DNS服务器的搭建

时间:2022-09-22 18:02:45

                             DNS服务器的搭建

                                                  作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.什么是DNS?

  60年末代,美国资助试验性广域计算机风,称为ARPAnet。70年代时,ARPAnet只是一个拥有几百台主机的小网络,仅需要一个HOSTS文件就可以容纳所需要主机信息,HOSTS提供的是主机名也IP地址的映射关系,也就是说可以用主机名进行网络信息的共享,而不需要记住IP地址。但是随着网络的扩在,HOSTS文件已经不能够快速完成解析任务了,这时DNS出现了。

  DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。

  那么我问一句为什么要用dns呢?大家应该都知道hosts文件,他可以将主机名和IP一一对应起来,但是难免会遇到主机名一样的情况,如何解决这个情况呢?我们就需要用到dns啦,在dns进行配置,dns的功能强大之处有很多,我这篇博客主要写的是的安装过程和配置过程。注意:我们自己搭建的dns服务器并不是合法的哟,但是不影响使用,你可以给你的dns服务器做一个nat,然后再网络上dns服务器指向你搭建的服务器即可。

 

二.DNS功能

  每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。 主机名到IP地址的映射有两种方式:   1>.静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;   2>.动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。[1]  通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。     三.DNS查询过程

  可以以不同的方式对DNS查询进行解析。

  1>.第一种是本地解析,就是客户端可以使用缓存信息就地应答,这些缓存信息是通过以前的查询获得的;

  2>.第二种是直接解析,就是直接由所设定的DNS服务器解析,使用的是该DNS服务器的资源记录缓存或者其权威回答(如果所查询的域名是该服务器管辖的);

  3>.第三种是递归查询,即设定的DNS服务器代表客户端向其他DNS服务器查询,以便完全解析该名称,并将结果返回至客户端。

  4>.第四种是迭代查询,即设定的DNS服务器向客户端返回一个可以解析该域名的其他DNS服务器,客户端再继续向其他DNS服务器查询。

1.本地解析

  本地解析的过程如图所示。客户机平时得到的DNS查询记录都保留在DNS缓存中,客户机操作系统上都运行着一个DNS客户端程序。当其他程序提出DNS查询请求时,这个查询请求要传送至DNS客户端程序。DNS客户端程序首先使用本地缓存信息进行解析,如果可以解析所要查询的名称,则DNS客户端程序就直接应答该查询,而不需要向DNS服务器查询,该DNS查询处理过程也就结束了。
     DNS服务器的搭建

2.直接解析

  如果DNS客户端程序不能从本地DNS缓存回答客户机的DNS查询,它就向客户机所设定的局部DNS服务器发一个查询请求,要求局部DNS服务器进行解析。如图14-3所示,局部DNS服务器得到这个查询请求,首先查看一下所要求查询的域名是不是自己能回答的,如果能回答,则直接给予回答,如是不能回答,再查看自己的DNS缓存,如果可以从缓存中解析,则也是直接给予回应。

 DNS服务器的搭建

3.递归解析

  当局部DNS服务器自己不能回答客户机的DNS查询时,它就需要向其他DNS服务器进行查询。此时有两种方式,如图14-4所示的是递归方式。局部DNS服务器自己负责向其他DNS服务器进行查询,一般是先向该域名的根域服务器查询,再由根域名服务器一级级向下查询。最后得到的查询结果返回给局部DNS服务器,再由局部DNS服务器返回给客户端。

DNS服务器的搭建

4.迭代解析

  当局部DNS服务器自己不能回答客户机的DNS查询时,也可以通过迭代查询的方式进行解析,如图所示。局部DNS服务器不是自己向其他DNS服务器进行查询,而是把能解析该域名的其他DNS服务器的IP地址返回给客户端DNS程序,客户端DNS程序再继续向这些DNS服务器进行查询,直到得到查询结果为止。

DNS服务器的搭建

 详情可参考:http://blog.sina.com.cn/s/blog_4078ccd60101cj6r.html.          四.DNS常用术语 1.正解:即主机名查询到IP的流程 正解相关:   1>.SOA:(start of Authority)起始授权机构   2>.NS  :(NameServer),记录DNS服务器   3>.A    :Adress,记录的是IP。 2.反解:即IP反解析到主机名的流程(PTR) 反解相关:   反解是由IP找主机名,所以重点是IP的所有人是谁。 3.Zone:即不管正解反解,每个domain的记录都是一个区域(zone)     扩充:   1.APNIC    APNIC (Asia-Pacific Network Information Center的简称,中文:亚太互联网络信息中心)是世界中操作的五个地区的因特网登记处之一,分配B类IP地址的国际组织。属于开放性、会员制的非营利机构,其主要职责是确保IP地址和其他相关资源的公正分配以及负责管理。APNIC秘书处作为该机构的执行部门,负责维护公共APNICWhois数据库、管理储备DNS区域分派并提供资源认证服务。该机构通过开展培训和教育服务、为域名根服务器配置提供支持等技术活动以及与其他地区性和国际性组织合作等方式积极推动互联网的发展。APNIC负责管理数字互联网资源,但不负责注册域名。它提供全球性的支持互联网操作的分派和注册服务。这些成员包括网络服务提供商、全国互联网登记, 和相似的组织的一个非营利, 基于会员资格的组织。APNIC 负责亚洲太平洋区域,包含 56 经济区。  InternetIP地址AS号码分配是分级进行的。ICANN (The Internet Corporation for Assigned Names and Numbers),负责全球Internet上的IP地址进行编号分配的机构(原来是由IANA负责)。 根据ICANN的规定,ICANN将部分IP地址分配给地区级的Internet注册机构 (Regional Internet Registry),然后由这些RIR负责该地区的登记注册服务。  全球一共有5个RIR:ARIN,RIPE,APNIC,LACNIC,AfriNIC. ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务,亚太地区国家的IP地址AS号码分配由APNIC管理。在RIR之下还可以存在一些注册机构, 如:*注册机构(NIR),普通地区级注册机构(LIR)。这些注册机构都可以从APNIC那里得到Internet地址及号码, 并可以向其各自的下级进行分配。   2.CNNIC
  中国互联网络信息中心(China Internet Network Information Center,简称CNNIC)是经国家主管部门批准,于1997年6月3日组建的管理和服务机构,行使国家互联网络信息中心的职责。  作为中国信息社会重要的基础设施建设者、运行者和管理者,中国互联网络信息中心(CNNIC)在“国家公益、安全可信、规范高效、服务应用”方针的指导下,负责国家网络基础资源的运行管理和服务,承担国家网络基础资源的技术研发并保障安全,开展互联网发展研究并提供咨询,促进全球互联网开放合作和技术交流,不断追求成为“专业·责任·服务”的世界一流互联网络信息中心。 3.AS.
  自治系统:autonomous system。在互联网中,一个自治系统(AS)是一个有权自主地决定在本系统中应采用何种路由协议的小型单位。这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元(例如一所大学,一个企业或者一个公司个体)。一个自治系统有时也被称为是一个路由选择域(routing domain)。一个自治系统将会分配一个全局的唯一的16位号码,有时我们把这个号码叫做自治系统号(ASN)。          五.搭建DNS服务器 1.安装依赖包 [root@yinzhengjie bind-9.9.9]# yum -y install gcc 2.下载bind软件 [root@yinzhengjie ~]# mkdir -pv /yinzhengjie/tools/ [root@yinzhengjie ~]# cd /yinzhengjie/tools/ [root@yinzhengjie tools]# wget ftp://ftp.isc.org/isc/bind9/9.9.9/bind-9.9.9.tar.gz #安装bind软件 [root@yinzhengjie tools]# tar -zxvf bind-9.9.9.tar.gz  [root@yinzhengjie tools]# cd bind-9.9.9 [root@yinzhengjie bind-9.9.9]# ./configure --prefix=/usr/local/named --enable-threads  --without-openssl  #表示开启多线程

[root@yinzhengjie bind-9.9.9]# make -j 4 && make install

3.设定用户,目录权限

[root@yinzhengjie ~]# groupadd bind
[root@yinzhengjie ~]# useradd bind -g bind -d /usr/local/named/ -s /sbin/nologin

[root@yinzhengjie ~]# cd /usr/local/named/

[root@yinzhengjie named]# mkdir /var/named
[root@yinzhengjie named]# chown -R bind:bind /usr/local/named/
[root@yinzhengjie named]# chown -R bind:bind /var/named/
[root@yinzhengjie named]# chmod 700 /usr/local/named/etc/

4.生成name.root文件(这里存取的是正解需要的根,我们可以用dig命令直接生成)

[root@yinzhengjie ~]# cd /var/named/

方法一:

[root@yinzhengjie named]# wget http://ftp.intermic.net/domain/named.root

方法二:

[root@yinzhengjie named]# dig > named.conf

5.BIND路径与chroot

架设BIND所需的文件:

配置文件:named.conf,设定zone file的目录,权限等;

Zone file:记录主机与IP对应;

named.conf:这是BIND的主配置文件;

/var/named:zone文件默认存放的位置;

/var/run/named:named程序执行时默认放置的pid-file在此

 

6.Cache-only与forwarding DNS

cache-only服务器:

  仅有“.”这个zone file 的简单DNS,没有自己的DNS服务器,只有缓存查询结果的功能。

forwarding服务器:

   指定一台上层DNS服务器作为forwarding目标。

如何设定cache-only与forwarding:

  很简单,因为不需要设定正反解的zone文件,所以主需要设定一下named.conf配置文件即可。

[root@yinzhengjie etc]# cd /usr/local/named/etc

[root@yinzhengjie etc]# more named.conf   #创建“named.conf”配置文件
options{  #与服务器环境有关的参数
listen-on port 53{any;};    #默认是监听在127.0.0.1,只有本机可以对DNS服务器进行查询,这里要改成any。记得,因为可以监听多个接口,因此,any后面得要加上分号。另外,这个参数如果忘记也没有关系,因为默认是对整个主机系统的所有接口进行监听的,
directory "/var/named"; #zone file放置在哪个目录下;
allow-query {any;};      #这个是针对客户端,到底谁可以对我的DNS服务器踢出查询请求,原本仅是针对localhost开放而已,我们这里改成对所有的用户开放,不过,默认DNS就是对所有的用户放行,所以这个设置也可以不用写。
recursion yes;
forward only;     #这个设定可以让你的DNS服务器仅进行forward,即使有,这个zone  file的设定,也不会使用“.”的资料,只会讲查询权交个上层DNS服务器而已,是cache only DNS最常见的设定了。
forwarders {219.141.136.10;219.141.140.10;114.114.114.114;};    #既然有forward only,那么到底要针对哪部分上层DNS服务器进行转发呢?那就是forwarders参数的重要性了,由于担心上层DNS服务器也可能会挂掉,因此可以设定多个上层DNS服务器,每个forwarder服务器的IP都需要有“;”来做为结尾。
};
[root@yinzhengjie etc]#

 

7.启动named

[root@yinzhengjie ~]# cat /dev/null > /var/log/messages  #清空系统日志,注意这个操作,在实际生产环境中请自行考虑日志的重要性

[root@yinzhengjie ~]# tailf -10f /var/log/messages   #在一个终端打印日志

[root@yinzhengjie ~]# /usr/local/named/sbin/named -c /usr/local/named/etc/named.conf -u bind

检查服务是否启动成功:

[root@yinzhengjie ~]# ps -ef |grep named
bind 28019 1 0 08:29 ? 00:00:00 /usr/local/named/sbin/named -c /usr/local/named/etc/named.conf -u bind
root 28062 28041 0 08:31 pts/8 00:00:00 grep named

[root@yinzhengjie ~]# lsof -i :53
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
named 28019 bind 20u IPv4 59906 0t0 TCP localhost:domain (LISTEN)

DNS服务器的搭建DNS服务器的搭建
 1 [root@yinzhengjie ~]# tailf /var/log/messages
2 Mar 28 08:29:28 yinzhengjie named[28019]: generating session key for dynamic DNS
3 Mar 28 08:29:28 yinzhengjie named[28019]: sizing zone task pool based on 0 zones
4 Mar 28 08:29:28 yinzhengjie named[28019]: set up managed keys zone for view _default, file 'managed-keys.bind'
5 Mar 28 08:29:28 yinzhengjie named[28019]: configuring command channel from '/usr/local/named/etc/rndc.key'
6 Mar 28 08:29:28 yinzhengjie named[28019]: couldn't add command channel 127.0.0.1#953: file not found #这里我们忽略掉就好
7 Mar 28 08:29:28 yinzhengjie named[28019]: configuring command channel from '/usr/local/named/etc/rndc.key'
8 Mar 28 08:29:28 yinzhengjie named[28019]: couldn't add command channel ::1#953: file not found
9 Mar 28 08:29:28 yinzhengjie named[28019]: managed-keys-zone: loaded serial 0
10 Mar 28 08:29:28 yinzhengjie named[28019]: all zones loaded
11 Mar 28 08:29:28 yinzhengjie named[28019]: running
成功启动是有running出现说明启动成功

 

8.抓包:

[root@yinzhengjie ~]# dig www.baidu.com @127.0.0.1 #首先要用tcpdump先抓取53端口,然后再运行此条命令哟~

[root@yinzhengjie ~]# tcpdump -K dst port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
08:41:15.529583 IP 200.200.200.103.36749 > cache1-ja.bjtelecom.net.domain: 21148+ [1au] A? www.baidu.com. (42)   #正解A记录
08:41:15.541745 IP 200.200.200.103.40769 > xd-cache-1.bjtelecom.net.domain: 47239+ PTR? 10.140.141.219.in-addr.arpa. (45)
08:41:16.729992 IP 200.200.200.103.41195 > public1.114dns.com.domain: 43553+ [1au] A? www.baidu.com. (42)
08:41:17.930927 IP 200.200.200.103.40813 > xd-cache-1.bjtelecom.net.domain: 45941+ [1au] A? www.baidu.com. (42)
08:41:19.531914 IP 200.200.200.103.52859 > cache1-ja.bjtelecom.net.domain: 6895+ [1au] A? www.baidu.com. (42)
08:41:19.547699 IP 200.200.200.103.48250 > cache1-ja.bjtelecom.net.domain: 55948+ [1au] A? www.a.shifen.com. (45)
08:41:20.547733 IP 200.200.200.103.46986 > cache1-ja.bjtelecom.net.domain: 47239+ PTR? 10.140.141.219.in-addr.arpa. (45)
08:41:20.580047 IP 200.200.200.103.36905 > xd-cache-1.bjtelecom.net.domain: 6930+ PTR? 103.200.200.200.in-addr.arpa. (46)  #反解
08:41:20.916711 IP 200.200.200.103.40868 > xd-cache-1.bjtelecom.net.domain: 18045+ PTR? 10.136.141.219.in-addr.arpa. (45)
08:41:20.922642 IP 200.200.200.103.37876 > xd-cache-1.bjtelecom.net.domain: 26950+ PTR? 114.114.114.114.in-addr.arpa. (46)

 

 

六.DNS详解 

在安装BIND后,我们需要知道DNS的几点知识:

  1>.DNS服务器需要在域名提供商处注册才可以成为合法的DNS服务器;

  2>.配置文件及目录的位置;

  3>.named主要配置文件named.conf;

  4>.正解反解都要有自己的zone文件,文件名有named.conf指定;

  5>.当DNS查询时,若本事没有解析,则想root(.)或forwarders服务器查询;

  6>.任何时候都要记得查看日志文件/var/log/messages;

 

1.正解(Resource Record,简称RR)

 正解资源记录格式(Resource Record,简称RR)

 1 正解一定要有的几个RR:
2 $ttl : 缓存时间
3 ORIGIN : 域名
4 SOA : master/slave认证
5 A : IP
6 NS : Name server
7 MX : mail eXchange
8 CNAME : 别名
9
10 几个需要注意的地方:
11 数据一定要从行首开始,前面不可有空格符
12 @代表zone的意思,在yinzhengjie.com.zone中,@代表yinzhengjie.com.,在yinzhengjie.com.zone中。
13 @代表96.16.172.in-addr.arpa.的意思
14 "."代表完整主机名FQDN而不是仅有的hostname,在yinzhengjie.com.zone文件中写www.yinzhengjie.com则代表FQDN为www.yinzhengjie.com.@ ===> www.yinzhengjie.com.yinzhengjie.com.因此必须写成www.yinzhengjie.com.或www(所以要注意这个"."的用法!)换句话说:加了“.”表示这是一个FQDN,即hostname+domain name,如果没有加“.”的话,仅表示该名称为hostname

 

 

DNS服务器的搭建DNS服务器的搭建
 1 [root@yinzhengjie named]# dig www.baidu.com @127.0.0.1
2
3 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.baidu.com @127.0.0.1
4 ;; global options: +cmd
5 ;; Got answer:
6 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 298
7 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
8
9 ;; QUESTION SECTION:
10 ;www.baidu.com. IN A
11
12 ;; ANSWER SECTION:
13 www.baidu.com. 190 IN CNAME www.a.shifen.com.
14 www.a.shifen.com. 110 IN A 220.181.111.188
15 www.a.shifen.com. 110 IN A 220.181.112.244
16
17 ;; Query time: 11 msec
18 ;; SERVER: 127.0.0.1#53(127.0.0.1)
19 ;; WHEN: Wed Mar 29 00:01:33 2017
20 ;; MSG SIZE rcvd: 90
21
22 [root@yinzhengjie named]#
dig www.baidu.com @127.0.0.1
DNS服务器的搭建DNS服务器的搭建
 1 [root@yinzhengjie named]# dig www.baidu.com @127.0.0.1
2
3 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.baidu.com @127.0.0.1
4 ;; global options: +cmd
5 ;; Got answer:
6 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 298
7 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
8
9 ;; QUESTION SECTION:
10 ;www.baidu.com. IN A
11
12 ;; ANSWER SECTION:
13 www.baidu.com. 190 IN CNAME www.a.shifen.com.
14 www.a.shifen.com. 110 IN A 220.181.111.188
15 www.a.shifen.com. 110 IN A 220.181.112.244
16
17 domaom TTL In RR type RR Date
18
19 各个参数用法详解:
20 domaom :解析出来的结果,都是主机名结尾加上一个小数点(.),称为FQDN
21 TTL :Time To live 的缩写,单位为秒,当次记录被其他DNS服务器查询到后,保持在对方DNS服务器的缓存中多长时间,在机房搬迁要调整DNS时需要调低此值以使得新纪录新纪录快速生效。
22 IN :关键字Internet。
23 RR type与RR data:
24 主机名. TTL IN A IPV4的IP地址
25 主机名. TTL IN AAAA IPV6的IP地址
26 域名. TTL IN NS 管理此域名的服务器主机名字
27 域名. TTL IN SOA 管理此域名的七个重要参数
28 域名. TTL IN MX 数字 接受邮件的服务器主机名字
29 主机别名 TTL IN CNAME 实际的主机名字
30 域名. TTL IN TXT 文本信息,多以spf的文本格式出现(用来管理邮件服务器)
31
32
33
34
35
36
37 ;; Query time: 11 msec
38 ;; SERVER: 127.0.0.1#53(127.0.0.1)
39 ;; WHEN: Wed Mar 29 00:01:33 2017
40 ;; MSG SIZE rcvd: 90
41
42 [root@yinzhengjie named]#
dig www.baidu.com @127.0.0.1输出信息说明

 

 

2.反解(Resource Record,RR)

.(root)>org>etiantian>www,由大到小

反解则要将IP反过来写,在IP结尾处添加".in-addr.arpa"

DNS服务器的搭建DNS服务器的搭建
  1 '''
2 PTR就是pointer反解,查询ip所对应的主机名,后面对应的是主机名,主机名精灵使用完整的FQDN,亦即末尾加上小数点“.”;
3 比如172.16.96.0/24,反解要写成96.16.172.in-addr.arpa.这样的zone名称才行。
4
5 '''
6 下面我们来看一下如何反解一个域名的案例。
7
8 [root@yinzhengjie ~]# dig -t mx google.com #找出“google.com ”的mx记录
9
10 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t mx google.com
11 ;; global options: +cmd
12 ;; Got answer:
13 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63558
14 ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 4, ADDITIONAL: 14
15
16 ;; QUESTION SECTION:
17 ;google.com. IN MX
18
19 ;; ANSWER SECTION:
20 google.com. 575 IN MX 30 alt2.aspmx.l.google.com.
21 google.com. 575 IN MX 50 alt4.aspmx.l.google.com.
22 google.com. 575 IN MX 40 alt3.aspmx.l.google.com.
23 google.com. 575 IN MX 10 aspmx.l.google.com. #假设我们要反解这个域名
24 google.com. 575 IN MX 20 alt1.aspmx.l.google.com.
25
26 ;; AUTHORITY SECTION:
27 google.com. 11681 IN NS ns2.google.com.
28 google.com. 11681 IN NS ns3.google.com.
29 google.com. 11681 IN NS ns1.google.com.
30 google.com. 11681 IN NS ns4.google.com.
31
32 ;; ADDITIONAL SECTION:
33 aspmx.l.google.com. 172 IN A 108.177.97.26
34 aspmx.l.google.com. 250 IN AAAA 2404:6800:4008:c06::1b
35 alt1.aspmx.l.google.com. 259 IN A 74.125.30.27
36 alt1.aspmx.l.google.com. 36 IN AAAA 2607:f8b0:4003:c03::1a
37 alt2.aspmx.l.google.com. 215 IN A 173.194.197.27
38 alt2.aspmx.l.google.com. 261 IN AAAA 2607:f8b0:4001:c1b::1b
39 alt3.aspmx.l.google.com. 106 IN A 173.194.219.26
40 alt3.aspmx.l.google.com. 142 IN AAAA 2607:f8b0:4002:c03::1a
41 alt4.aspmx.l.google.com. 97 IN A 173.194.66.26
42 alt4.aspmx.l.google.com. 268 IN AAAA 2607:f8b0:400d:c01::1a
43 ns1.google.com. 179207 IN A 216.239.32.10
44 ns2.google.com. 180021 IN A 216.239.34.10
45 ns3.google.com. 166012 IN A 216.239.36.10
46 ns4.google.com. 166615 IN A 216.239.38.10
47
48 ;; Query time: 5 msec
49 ;; SERVER: 219.141.136.10#53(219.141.136.10)
50 ;; WHEN: Wed Mar 29 05:26:16 2017
51 ;; MSG SIZE rcvd: 492
52
53 [root@yinzhengjie ~]# dig aspmx.l.google.com #首先我们查找一下这个域名所对应的ip
54
55 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> aspmx.l.google.com
56 ;; global options: +cmd
57 ;; Got answer:
58 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20194
59 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
60
61 ;; QUESTION SECTION:
62 ;aspmx.l.google.com. IN A
63
64 ;; ANSWER SECTION:
65 aspmx.l.google.com. 600 IN A 74.125.204.26 #我们找到“aspmx.l.google.com”这个域名所对应的ip就是“74.125.204.26 ”
66
67 ;; AUTHORITY SECTION:
68 l.google.com. 8342 IN NS ns1.google.com.
69 l.google.com. 8342 IN NS ns4.google.com.
70 l.google.com. 8342 IN NS ns2.google.com.
71 l.google.com. 8342 IN NS ns3.google.com.
72
73 ;; ADDITIONAL SECTION:
74 ns1.google.com. 170922 IN A 216.239.32.10
75 ns2.google.com. 16902 IN A 216.239.34.10
76 ns3.google.com. 166265 IN A 216.239.36.10
77 ns4.google.com. 194192 IN A 216.239.38.10
78
79 ;; Query time: 2 msec
80 ;; SERVER: 219.141.136.10#53(219.141.136.10)
81 ;; WHEN: Wed Mar 29 05:26:46 2017
82 ;; MSG SIZE rcvd: 188
83
84 [root@yinzhengjie ~]# dig -x 74.125.204.26 #于是我们反解一下这个“74.125.204.26 ”
85
86 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -x 74.125.204.26
87 ;; global options: +cmd
88 ;; Got answer:
89 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26280
90 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
91
92 ;; QUESTION SECTION:
93 ;26.204.125.74.in-addr.arpa. IN PTR
94
95 ;; ANSWER SECTION:
96 26.204.125.74.in-addr.arpa. 86400 IN PTR ti-in-f26.1e100.net. #这个就是反解的信息,我们发现这条记录把“74.125.204.26 ”反着写了,其对应的域名就是“ti-in-f26.1e100.net.”
97
98 ;; AUTHORITY SECTION:
99 125.74.in-addr.arpa. 12383 IN NS ns1.google.com.
100 125.74.in-addr.arpa. 12383 IN NS ns4.google.com.
101 125.74.in-addr.arpa. 12383 IN NS ns3.google.com.
102 125.74.in-addr.arpa. 12383 IN NS ns2.google.com.
103
104 ;; ADDITIONAL SECTION:
105 ns1.google.com. 170625 IN A 216.239.32.10
106 ns2.google.com. 16605 IN A 216.239.34.10
107 ns3.google.com. 13225 IN A 216.239.36.10
108 ns4.google.com. 172774 IN A 216.239.38.10
109
110 ;; Query time: 59 msec
111 ;; SERVER: 219.141.136.10#53(219.141.136.10)
112 ;; WHEN: Wed Mar 29 05:27:02 2017
113 ;; MSG SIZE rcvd: 223
114
115 [root@yinzhengjie ~]#
反解案例展示

 

3.配置文件说明

  1>. /etc/hosts:这是早期hostname对应的IP的文件;

  2>./etc/resolv.conf:这是记录DNS服务器的文件;

  3>./etc/nsswitch.conf:这是决定优先级;

 

4.查询命令

1>.host

  改命令默认定义了会先从本地上去找对应的IP,然后再去DNS去查找

DNS服务器的搭建DNS服务器的搭建
1 [root@yinzhengjie ~]# host google.com
2 google.com has address 172.217.24.14 #表示解析到的ipv4的地址
3 google.com has IPv6 address 2404:6800:4008:803::200e #表示解析到ipv6的地址
4 google.com mail is handled by 30 alt2.aspmx.l.google.com.#表示解析到邮件服务器的地址
5 google.com mail is handled by 10 aspmx.l.google.com.
6 google.com mail is handled by 20 alt1.aspmx.l.google.com.
7 google.com mail is handled by 40 alt3.aspmx.l.google.com.
8 google.com mail is handled by 50 alt4.aspmx.l.google.com.
9 [root@yinzhengjie ~]#
host + 域名
DNS服务器的搭建DNS服务器的搭建
 1 [root@yinzhengjie ~]# host google.com  dns.cnmsn.net  #表示用指定dns服务器进行解析
2 Using domain server:
3 Name: dns.cnmsn.net
4 Address: 180.163.194.140#53
5 Aliases:
6
7 google.com has address 172.217.27.142
8 google.com has IPv6 address 2404:6800:4008:803::200e
9 google.com mail is handled by 20 alt1.aspmx.l.google.com.
10 google.com mail is handled by 50 alt4.aspmx.l.google.com.
11 google.com mail is handled by 40 alt3.aspmx.l.google.com.
12 google.com mail is handled by 30 alt2.aspmx.l.google.com.
13 google.com mail is handled by 10 aspmx.l.google.com.
14 [root@yinzhengjie ~]#
host + 域名 + DNS服务器

 

  2>.nslookup     3>.dig DNS服务器的搭建DNS服务器的搭建
 1 [root@yinzhengjie ~]# dig www.google.com @127.0.0.1  #通过本机查询谷歌的A记录
2
3 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.google.com @127.0.0.1
4 ;; global options: +cmd
5 ;; Got answer:
6 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61658
7 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
8
9 ;; QUESTION SECTION:
10 ;www.google.com. IN A
11
12 ;; ANSWER SECTION:
13 www.google.com. 69534 IN A 93.46.8.89
14
15 ;; AUTHORITY SECTION:
16 google.com. 64662 IN NS ns2.google.com.
17 google.com. 64662 IN NS ns1.google.com.
18 google.com. 64662 IN NS ns4.google.com.
19 google.com. 64662 IN NS ns3.google.com.
20
21 ;; ADDITIONAL SECTION:
22 ns1.google.com. 9167 IN A 216.239.32.10
23 ns2.google.com. 73262 IN A 216.239.34.10
24 ns3.google.com. 86170 IN A 216.239.36.10
25 ns4.google.com. 159425 IN A 216.239.38.10
26
27 ;; Query time: 36 msec
28 ;; SERVER: 127.0.0.1#53(127.0.0.1) #这个就是本机的地址和端口哟
29 ;; WHEN: Tue Mar 28 08:36:14 2017
30 ;; MSG SIZE rcvd: 184
31
32 [root@yinzhengjie ~]#
通过本机的DNS查询解析记录
a.查询IPv4DNS服务器的搭建DNS服务器的搭建
 1 [root@yinzhengjie named]# dig www.google.com
2
3 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.google.com
4 ;; global options: +cmd
5 ;; Got answer:
6 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38338
7 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
8
9 ;; QUESTION SECTION:
10 ;www.google.com. IN A
11
12 ;; ANSWER SECTION:
13 www.google.com. 2031 IN A 37.61.54.158
14
15 ;; Query time: 4 msec
16 ;; SERVER: 219.141.136.10#53(219.141.136.10)
17 ;; WHEN: Wed Mar 29 00:22:33 2017
18 ;; MSG SIZE rcvd: 48
19
20 [root@yinzhengjie named]#
A:查询IP记录,这是最易被查的一个RR标志

b.查询IPv6

DNS服务器的搭建DNS服务器的搭建
 1 [root@yinzhengjie named]# dig -t aaaa www.google.com
2
3 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t aaaa www.google.com
4 ;; global options: +cmd
5 ;; Got answer:
6 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27377
7 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
8
9 ;; QUESTION SECTION:
10 ;www.google.com. IN AAAA
11
12 ;; ANSWER SECTION:
13 www.google.com. 1194 IN AAAA 200:2:9f6a:794b::
14
15 ;; Query time: 3 msec
16 ;; SERVER: 219.141.136.10#53(219.141.136.10)
17 ;; WHEN: Wed Mar 29 00:26:06 2017
18 ;; MSG SIZE rcvd: 60
19
20 [root@yinzhengjie named]#
AAAA查询用法展示

c.查询NS记录

DNS服务器的搭建DNS服务器的搭建
 1 [root@yinzhengjie named]# dig -t ns etiantian.org
2
3 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t ns etiantian.org
4 ;; global options: +cmd
5 ;; Got answer:
6 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6195
7 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
8
9 ;; QUESTION SECTION:
10 ;etiantian.org. IN NS
11 ;上面的参数“etiantian.org. ”是您输入的是的域名加上了一个点(.)
12
13 ;; ANSWER SECTION:
14 etiantian.org. 600 IN NS dns.cnmsn.net.
15 etiantian.org. 600 IN NS dns.bizcn.com.
16
17 ;; Query time: 62 msec
18 ;; SERVER: 219.141.136.10#53(219.141.136.10)
19 ;; WHEN: Wed Mar 29 00:28:52 2017
20 ;; MSG SIZE rcvd: 85
21
22 [root@yinzhengjie named]#
NS:查询管理域名的服务器主机名

 d.查询SOA记录

DNS服务器的搭建DNS服务器的搭建
 1 [root@yinzhengjie ~]# dig -t soa etiantian.org
2
3 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t soa etiantian.org
4 ;; global options: +cmd
5 ;; Got answer:
6 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34960
7 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
8
9 ;; QUESTION SECTION:
10 ;etiantian.org. IN SOA
11
12 ;; ANSWER SECTION:
13 etiantian.org. 593 IN SOA dns.bizcn.com. dnscont.dns.bizcn.com. 3 28800 14400 14400 3600
14
15 ;; Query time: 5 msec
16 ;; SERVER: 219.141.136.10#53(219.141.136.10)
17 ;; WHEN: Wed Mar 29 01:05:04 2017
18 ;; MSG SIZE rcvd: 88
19
20 [root@yinzhengjie ~]#
SOA:查询管理域名的服务器管理信息
DNS服务器的搭建DNS服务器的搭建
 1 [root@yinzhengjie ~]# dig -t soa etiantian.com
2
3 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t soa etiantian.com
4 ;; global options: +cmd
5 ;; Got answer:
6 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27079
7 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
8
9 ;; QUESTION SECTION:
10 ;etiantian.com. IN SOA
11
12 ;; ANSWER SECTION:
13 etiantian.com. 274 IN SOA dns.etiantian.com. liugy.etiantian.com. 201406271 900 1800 604800 3600
14
15 master DNS email serial refresh retry exprie
16 我们从上面一行的SOA后面发现有七个参数,那么SOA后面的这七个参数到底是干嘛使用的呢?
17 Master DNS服务器主机名:这个主要确定哪部DNS作为master的意思。这里我们可以看到dns.etiantian.com是etiantian.com的主要DNS服务器;
18 管理员的email : 有问题了可以联系这个管理员地址。要注意的是,由于@在zone文件中有特别意义,代表named.conf中这个zone file所对应的zone.因此就将@改成了小数点"."
19 序列号(serial) : 这个序列号代表zone文件的版本,序列号越大,代表越想新。当slave要判断是否主动更新zone文件时,就以序列号来进行对比,若slave上的就则下载,若一样则不下载。所以当修改zone文件时,记得更新一下这个值,为了方便用户记忆,通常序列号都会使用日期格式“YYYYMMDDNUMBER”的形式
20 刷新频率(refresh) : 何时slave会向master要求数据更新呢?就是由这个数值定义的。etiantian.com的DNS设定每900秒(15min)slave向master要求数据更新,那每次slave去更新时,如果发现序列号没有大,那就不会更新,这里要注意的地方是:在master upate Date 完成到slave来检查时在update可能还要一段时间,因此这段时间master/slave DNS的zone file可能出现不一致的情况,所以在Bind新版本中加入了notify功能,使用者在named.conf设定中在需要的zone中加入notify的设定,master在更新完成某个zone file的数据后会主动发讯通知其他的slave,因此如果slave也支持“notify”时,接下来slave马上就可以做zone transfer进行数据的更新。
21 失败重试时间(retry) : 如果因为某些因素,导致slave无法从master更新数据,那么在多久的时间内,slave会尝试重新联机到master。etiantian.com的DNS设定1800秒(30min)会尝试重新联机到master。意思是说:每refresh(900)秒slave会主动向Master联机,但如果该次联机没有成功,那接下来尝试联机的时间会变成retry(1800s)
22 失效时间(exprie) : 如果尝试时间一直失败,持续联机到达这个设定值时限,那么slave将不再继续尝试联机,并且尝试删除这份下载的zone file信息。etiantian.com被设定为604800秒(168h)。
23 缓存时间(minumum TTL): 如果在这个zone file中,每笔RR记录都都没有写TTL缓存时间的话,那么久以这个SOA的设定值为主。
24
25 注意:
26 除了Serial不可以超过2的32次方之外,针对这几个数值有没有其他的什么限制,基本上就是这样
27 refresh >= retry *2
28 refresh + retry < exprire
29 exprire >= retry *10
30 exprire >= 7Days
31 一般来说,如果DNS RR资料变更情况频繁的,那么上述的相关数值可以订定的小一些,如果DNS RR是很稳定的,为了节省贷款,则可以将Refresh 设置的较大一些,
32
33 ;; Query time: 3 msec
34 ;; SERVER: 219.141.136.10#53(219.141.136.10)
35 ;; WHEN: Wed Mar 29 01:21:26 2017
36 ;; MSG SIZE rcvd: 77
37
38 [root@yinzhengjie ~]#
SOA后面的这七个参数详解
DNS服务器的搭建DNS服务器的搭建
1 [root@yinzhengjie ~]# dig -t soa etiantian.org google.com baidu.com taobao.com qq.com 163.com soho.com | grep SOA | grep -v ";"
2 etiantian.org. 558 IN SOA dns.bizcn.com. dnscont.dns.bizcn.com. 3 28800 14400 14400 3600
3 google.com. 558 IN SOA ns4.google.com. dns-admin.google.com. 151527935 900 900 1800 60
4 baidu.com. 594 IN SOA dns.baidu.com. sa.baidu.com. 2012134621 300 300 2592000 7200
5 taobao.com. 1758 IN SOA ns1.taobao.com. tiexin.taobao.com. 2013135837 1800 600 1814400 300
6 qq.com. 558 IN SOA ns1.qq.com. webmaster.qq.com. 1330914143 3600 300 86400 300
7 163.com. 86358 IN SOA ns4.nease.net. admin.nease.net. 20160705 7200 1800 1209600 600
8 soho.com. 371 IN SOA ns.soho.com. root.soho.com. 1445772059 86400 7200 604800 300
9 [root@yinzhengjie ~]#
对比大型企业的SOA记录

提示:

  如果你有多部DNS服务器管理同一个域名时,最好使用master/slave的方式来进行管理。既然要这样管理,那就得要知道被管理的zone file是如何进行传输的,此时要得到SOA(start of authority)的标志了。

e. 查询CNAME

DNS服务器的搭建DNS服务器的搭建
 1 [root@yinzhengjie ~]# dig image.google.com img.baidu.com | grep -v ";"
2
3
4
5 image.google.com. 600 IN CNAME images.google.com.
6 images.google.com. 86196 IN CNAME images.l.google.com.
7 images.l.google.com. 600 IN A 172.217.24.14
8
9 l.google.com. 11577 IN NS ns2.google.com.
10 l.google.com. 11577 IN NS ns1.google.com.
11 l.google.com. 11577 IN NS ns4.google.com.
12 l.google.com. 11577 IN NS ns3.google.com.
13
14 ns1.google.com. 170212 IN A 216.239.32.10
15 ns2.google.com. 183576 IN A 216.239.34.10
16 ns3.google.com. 169567 IN A 216.239.36.10
17 ns4.google.com. 170170 IN A 216.239.38.10
18
19
20
21
22 img.baidu.com. 787 IN CNAME static.n.shifen.com.
23 static.n.shifen.com. 600 IN A 61.135.186.152 #其实这里配置的ip就是给“img.baidu.com”这个域名配置的,因为“static.n.shifen.com”这个域名是“img.baidu.com”的别名。
24
25 n.shifen.com. 15119 IN NS ns4.n.shifen.com.
26 n.shifen.com. 15119 IN NS ns2.n.shifen.com.
27 n.shifen.com. 15119 IN NS ns1.n.shifen.com.
28 n.shifen.com. 15119 IN NS ns3.n.shifen.com.
29 n.shifen.com. 15119 IN NS ns5.n.shifen.com.
30
31 ns1.n.shifen.com. 208 IN A 61.135.165.226
32 ns2.n.shifen.com. 447 IN A 180.149.133.243
33 ns3.n.shifen.com. 951 IN A 61.135.162.218
34 ns4.n.shifen.com. 940 IN A 115.239.210.178
35 ns5.n.shifen.com. 1194 IN A 119.75.222.14
36
37
38 [root@yinzhengjie ~]#
CNAME:设定主机名的别名(alias)为什么要用cname,就是为了方便改动

f.查询MX

DNS服务器的搭建DNS服务器的搭建
 1 [root@yinzhengjie ~]# dig -t mx google.com baidu.com taobao.com qq.com 163.com | grep -i mx
2 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t mx google.com baidu.com taobao.com qq.com 163.com
3 ;google.com. IN MX
4 google.com. 456 IN MX 10 aspmx.l.google.com. #第一,先从这个邮箱开始发邮件
5 google.com. 456 IN MX 50 alt4.aspmx.l.google.com. #第五
6 google.com. 456 IN MX 30 alt2.aspmx.l.google.com. #第三
7 google.com. 456 IN MX 40 alt3.aspmx.l.google.com. #第四
8 google.com. 456 IN MX 20 alt1.aspmx.l.google.com. #第二,再从这个邮箱开始发邮件
9 aspmx.l.google.com. 293 IN A 64.233.189.26
10 aspmx.l.google.com. 149 IN AAAA 2404:6800:4008:c00::1b
11 alt1.aspmx.l.google.com. 65 IN A 74.125.30.27
12 alt1.aspmx.l.google.com. 150 IN AAAA 2607:f8b0:4003:c03::1b
13 alt2.aspmx.l.google.com. 121 IN A 173.194.197.26
14 alt2.aspmx.l.google.com. 136 IN AAAA 2607:f8b0:4001:c1b::1a
15 alt3.aspmx.l.google.com. 150 IN A 173.194.219.27
16 alt3.aspmx.l.google.com. 150 IN AAAA 2607:f8b0:4002:c03::1a
17 alt4.aspmx.l.google.com. 150 IN A 173.194.66.27
18 alt4.aspmx.l.google.com. 150 IN AAAA 2607:f8b0:400d:c01::1a
19 ;baidu.com. IN MX
20 baidu.com. 5167 IN MX 20 jpmx.baidu.com.
21 baidu.com. 5167 IN MX 20 mx50.baidu.com.
22 baidu.com. 5167 IN MX 20 mx1.baidu.com.
23 baidu.com. 5167 IN MX 10 mx.n.shifen.com.
24 ;taobao.com. IN MX
25 taobao.com. 600 IN MX 10 mx1.alibaba-inc.com.
26 ;qq.com. IN MX
27 qq.com. 4374 IN MX 10 mx3.qq.com.
28 qq.com. 4374 IN MX 20 mx2.qq.com.
29 qq.com. 4374 IN MX 30 mx1.qq.com.
30 ;163.com. IN MX
31 163.com. 14196 IN MX 10 163mx01.mxmail.netease.com.
32 163.com. 14196 IN MX 50 163mx00.mxmail.netease.com.
33 163.com. 14196 IN MX 10 163mx03.mxmail.netease.com.
34 163.com. 14196 IN MX 10 163mx02.mxmail.netease.com.
35 163mx01.mxmail.netease.com. 415 IN A 220.181.14.142
36 163mx01.mxmail.netease.com. 415 IN A 220.181.14.143
37 163mx01.mxmail.netease.com. 415 IN A 220.181.14.135
38 163mx01.mxmail.netease.com. 415 IN A 220.181.14.136
39 163mx01.mxmail.netease.com. 415 IN A 220.181.14.137
40 163mx01.mxmail.netease.com. 415 IN A 220.181.14.138
41 163mx01.mxmail.netease.com. 415 IN A 220.181.14.139
42 163mx01.mxmail.netease.com. 415 IN A 220.181.14.140
43 163mx01.mxmail.netease.com. 415 IN A 220.181.14.141
44 [root@yinzhengjie ~]#
MX:Mail echange邮件交换,查询域名的邮件服务器主机名,数字代表优先次序,此值越低表示有越高的邮件处理优先权。

g.查询TXT

DNS服务器的搭建DNS服务器的搭建
 1 '''
2 TXT:txt记录用来保存域名的附加文本信息,txt记录的内容按照一定的格式编写,最常用的是SPF(sender policy framework)格式,SPF用于等级某个域名拥有的用来外发邮件的所有IP地址
3
4 MX记录的作用是给发信者指明某个域名的邮件服务器有哪些。
5 SPF格式的txt记录的作用跟mx记录相反,记录了允许哪些邮件服务器代表您的域来发送电子邮件。
6
7 SPF的作用主要是反垃圾邮件,阻止垃圾邮件发件人发送假冒您的域中的“发件人”地址的电子邮件,收件人可以参考SPF记录来确定号称来自拟的域的邮件是否来自授权邮件服务器。按照SPF格式在dns中增加一条txt类型的记录,将提高该域名的信誉度,同事可以防止垃圾邮件伪造盖与的发件人发送垃圾邮件。
8
9 我们来看看SPF是如何防止伪造邮件的:
10 当发件人向接收方发送了一封电子邮件,邮件服务器接收到电子邮件后,将执行如下操作:
11 1>.检查哪一个域名声称发送了该邮件并检查该域名的SPF记录的DNS;
12 2>.确定发送服务器的IP地址是否与SPF记录中的已发布的IP地址相匹配;
13 3>.对电子邮件进行打分:如果IP地址匹配,则邮件通过身份验证并获得一个正分,如果IP地址不匹配,则邮件无法通过身份验证并获得一个负分。然后对现有的防垃圾邮件筛选策略和启发筛选应用这些结果。
14
15 SPF格式比较复杂,我们来看看Google的SPF格式的txt记录:
16 google.com. 3600 IN TXT "v=spf1 include:_spf.google.com ~all"
17 其中我们只看类型为TXT的后半部分:
18 "v=spf1 include:_spf.google.com ~all"
19 这段内容表示:_spf.google.com有权限使用这个域名发送邮件。
20 v=spf1 表示折条txt记录使用的spf格式版本为“1”
21 ~all表示除了前面所指定的,其他的IP地址通用不认可
22
23 那么域名“_spf.google.com”所对应的IP是多少呢?
24 很简单,我们直接用[root@yinzhengjie ~]# dig -t txt _spf.google.com
25 用这个命令递归去查找,总会查到最后的IPV4或者IPV6的地址。
26
27 '''
28 [root@yinzhengjie ~]# dig -t txt google.com baidu.com taobao.com qq.com 163.com | grep -i txt
29 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t txt google.com baidu.com taobao.com qq.com 163.com
30 ;google.com. IN TXT
31 google.com. 3600 IN TXT "v=spf1 include:_spf.google.com ~all"
32 ;baidu.com. IN TXT
33 baidu.com. 2039 IN TXT "v=spf1 include:spf1.baidu.com include:spf2.baidu.com include:spf3.baidu.com a mx ptr -all"
34 baidu.com. 2039 IN TXT "google-site-verification=GHb98-6msqyx_qqjGl5eRatD3QTHyVB6-xQ3gJB5UwM"
35 ;taobao.com. IN TXT
36 taobao.com. 600 IN TXT "v=spf1 include:spf1.staff.mail.aliyun.com -all"
37 ;qq.com. IN TXT
38 qq.com. 5507 IN TXT "v=spf1 include:spf.mail.qq.com ~all"
39 ;163.com. IN TXT
40 163.com. 872 IN TXT "v=spf1 include:spf.163.com -all"
41 [root@yinzhengjie ~]#
TXT:txt记录用来保存域名的附加文本信息,txt记录的内容按照一定的格式编写,最常用的是SPF(sender policy framework)格式,SPF用于登记某个域名拥有的用来外发邮件的所有ip地址。

 

    4>.whois     七.DNS环境规划   [root@yinzhengjie ~]# cd /usr/local/named/etc/

[root@yinzhengjie etc]# more named.conf
options{
  directory "/var/named";
  pid-file "named.pid";
  forwarders {219.141.136.10;219.141.140.10;114.114.114.114;};
  allow-query {any;};
  allow-transfer {none;};
};

zone "." IN {
  type hint;
  file "named.root";

};


zone "yinzhengjie.com" IN {
  type master;
  file "yinzhengjie.com.zone";
  allow-update {none;};
  allow-transfer {172.16.96.205;};
  notify yes;
  also-notify {172.16.96.205;};

};


zone "96.16.172.in-addr.arpa" IN {
  type master;
  file "172.16.96.zone";
  allow-transfer{172.16.96.205;};
};


[root@yinzhengjie etc]#

DNS服务器的搭建DNS服务器的搭建
 1 options{
2 directory "/var/named";
3 pid-file "named.pid";
4 forwarders {219.141.136.10;219.141.140.10;114.114.114.114;};
5 allow-query {any;};
6 allow-transfer {none;};
7 };
8
9 zone "." IN { #定义根域
10 type hint; #hint代表根
11 file "named.root"; #文件名就是在“/var/named”目录下的文件
12
13 };
14
15
16 zone "yinzhengjie.com" IN { #定义一个叫“yinzhengjie.com”区
17 type master; #类型是master,都是主从复制要用的参数
18 file "yinzhengjie.com.zone"; #定义区的文件名
19 allow-update {none;}; #表示允许更新
20 allow-transfer {172.16.96.205;}; #以下3行都是主从同步要用到的参数
21 notify yes;
22 also-notify {172.16.96.205;};
23
24 };
25
26 zone "96.16.172.in-addr.arpa" IN { #这是定义一个反解的参数,其中如果你不总主从的话,下面就file那一行才是有用的参数
27 type master;
28 file "172.16.96.zone";
29 allow-transfer{172.16.96.205;};
30 };
31
32
33 提示:
34 type :三种zone类型,针对“.”(根)的hint,需要手动修改的master,可以自动更新的slave
35 file :zone file的文件名
36 反解zone:主要就是In-addr.arpa
named.conf配置参数详解