DNS软件bind使用(一)

一、DNS介绍

1、简介

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。例如它能够把www.baidu.com这样的域名转换为61.135.169.125这样的IP地址;没有DNS,浏览baidu.com这个网站时,就必须用61.135.169.125这么难记的数字来访问。

2、功能

每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。

主机名到IP地址的映射有两种方式:

  • 静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;
  • 动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。

通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

3、域名结构

上图中的每一个方框都是域名中的一个词段,国际组织对于每一个段,整个域名的长度,以及能支持的字符集都有明确的规定。但是现在好像有很多网络并没有严格遵守这一规范。

域名在拼装时,是沿着这棵树的最底下的叶子节点往树根上走的,如:www.sina.com.cn,其实该域名的完整写法应该是:www.sina.com.cn. 注意这最后的一个“.”,图中右边的黑体字给出了每一层的含义。

在这棵树上面,挂有互联网上面的所有域名。如果域名不在这棵树上面,那么网站就不能被互联网上面的终端访问。

每一个方框是一个词段,其实还可以把每一个方框看成是一个域名解析服务器。他负责了他所有子树的解析。

4、FQDN和正反向解析

FQDN:(Fully Qualified Domain Name)完全合格域名/全称域名,是指主机名加上全路径,全路径中列出了序列中所有域成员。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。从全域名中包含的信息可以看出主机在域名树中的位置。DNS解析流程:首先查找本机HOSTS表,有的直接使用表中定义,没有查找网络连接中设置的DNS 服务器由他来解析。

  • 正向解析:从主机名查询到IP和方式,称为:正解。及FQDN --> IP。
  • 反向解析:从IP反解析到主机名的方式,称为:反解。及IP --> FQDN。

5、完整的域名查询过程

下图给出了完整的浏览器到最终的网站的访问的全流程:

  • 用户电脑的解析器向LDNS发起域名解析请求,查询www.google.com的IP地址
  • 在缓存没有命中的情况下,LDNS向根服务器查询www.google.com的IP地址
  • 根告诉LDNS,我不知道www.google.com对应的IP,但是我知道你可以问com域的授权DNS,这个域归他管
  • LDNS向com的授权服务器问www.google.com对应的IP地址
  • com告诉LDNS,我不知道www.google.com对应的IP,但是我知道你可以问google.com域的授权DNS,这个域归他管
  • LDNS向google.com的授权服务器问www.google.com对应的IP地址
  • google.com查询自己的zone文件,找到了www.google.com对应的IP地址,返回给LDNS
  • LDNS本地缓存一份记录,把结果返回给用户电脑的解析器

在查询过程中一些名词:

  • 客户端:互联网上提出域名查询请求的终端。
  • 根域名服务器:在“域名树”的顶端,一次完整的域名查询请求的入口。
  • 子域:域名树的上下层级关系,下级是上一级的子域。如:www.google.com. 是google.com. 的子域。
  • 子域授权:上一级域名将子域的解析授予固定的服务器,这一过程为子域授权。
  • 权威域名服务器:“域名树”中的每一级域名解析服务器都是权威域名服务器。这个概念是相对于本地域名解析服务器的。 当权威域名服务器能直接给出网址的IP地址时,可以直接充当本地域名解析服务器。
  • 本地域名解析服务器:用于向网络客户端提供域名查询服务的域名服务器。该域名服务器接受网络客户端的查询,并向全球域名系统查询结果和缓存结果。
  • 递归查询:客户端向本地域名解析服务器查询域名,最终能得到答案。
  • 迭代查询:本地域名解析服务器向“域名树”通过多次查询得到正确的网址的地址。

6、资源记录(用于此记录解析的属性)

SOA:Start Of Authority,起始授权

NS:Name Server,域名服务器

A 地址: 此记录列出特定主机名的 IP 地址。这是名称解析的重要记录。

CNAME:标准名称 此记录指定标准主机名的别名。

MX邮件交换器:此记录列出了负责接收发到域中的电子邮件的主机。

NS名称服务器:此记录指定负责给定区域的名称服务器。

PTR:反向解析记录

AAAA:记录ipv6的地址

7、DNS服务器的类型

  • 主DNS服务器 :本身提供DNS 服务,并且本身含有区域数据文件。
  • 辅助DNS服务器:和Master一起提供DNS服务,当Master服务器上的配置信息修改的时候,会同步更新到Slave服务器上。
  • 缓存名称服务器:没有自己的区域数据文件,只是帮助客户端向外部DNS请求查询,然后将查询的结果保存到它的缓存中。

说明:在linux系统下DNS服务的功能是通过bind软件实现的,几乎每个linux发行版都自带了这个DNS服务软件。

  • 转发DNS服务器

8、区域传送

解析库文件同步的过程,即辅助DNS服务器从主DNS服务器或其他的辅助DNS服务器请求数据传输过程 。

  • 完全区域传送:传送区域的所有数据,简称AXFR
  • 增量区域传送:传送区域中改变的数据部分,简称IXFR

二、DNS资源记录

1、资源记录的格式:

name [ttl(缓存时间)] IN 资源记录类型(RRtype)  Value

例子:

       www  600(单位s) IN A 192.168.1.8
       www.example.com.  600 IN A 192.168.1.8

2、SOA记录

  • 格式说明

name:只能是区域名称,通常可以简写为@,例如:example.com.

value:有n个数值,最主要的是主DNS服务器的FQDN,点不可省略 。

注意:SOA必须是区域数据库文件第一条记录

  • 例子:
         @ 600 IN SOA  na.magedu.com. 管理员邮箱(dnsadmin.example.com.)(
             序列号(serial number) ;注释内容,十进制数据,不能超过10位,通常使用日期,例如2014031001
             刷新时间(refresh time) ;即每隔多久到主服务器检查一次
             重试时间(retry time) ;应该小于refresh time
             过期时间(expire time)
             netgative answer ttl ;否定答案的ttl
         )

3、NS记录

  • 格式说明

name:区域名称,通常可以简写为@

value:DNS服务器的FQDN(可以使用相对名称)

注意:如果有多台NS服务器,每一个都必须有对应的NS记录; 对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录;

  • 例子:
       @ 600 IN NS ns

4、MX记录:

  • 格式说明

name:区域名称 ,用于标识smtp服务器。

value:邮件服务器的FQDN 和优先级,优先级为0-99.数字越小,越优先。

注意:如果有多台MX服务器,每一个都必须有对应的MX记录;但各MX记录还有优先级属性 ,对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录;

  • 例如
@    IN    MX  10    mail.example.com.
@    IN    MX  20    mail2.example.com.

5、A记录

  • 格式说明

name: FQDN(可简写)

value: IP

注意:只能定义在正向区域数据文件中。

  • 例如
www  600(单位s) IN A 1.2.3.4
www  600(单位s) IN A 1.2.3.5

说明:此种方法能做最简单的负载均衡,但是由于其负载均衡的规则为轮询,故使用前一定要注意。

www  600(单位s) IN A 1.2.3.4
ftp 600(单位s) IN A 1.2.3.4

说明:此种是将一个主机名定义多个名称。

6、AAAA记录

  • 格式说明

name:FQDN(可简写)

value:ipv6 IP

7、CNAME记录

  • 格式说明

name: FQDN

value: FQDN

  • 例如
www    IN    A    172.16.10.10
ftp    IN    CNAME    www

8、PTR记录

  • 格式说明

name: 逆向的主机IP地址加后缀in-addr.arpa,例如172.16.10.10/16, 网络地址为172.16, 主机地址为10.10,其name为10.10.in-addr.arpa.(可简写)

value: FQDN

注意:只能定义在反向区域数据文件中,反向区域名称为逆向网络地址加.in.addr.arpa.后缀组成。

  • 例如
10    IN    PTR    www.example.com.

三、安装使用bind

BIND(Berkeley InternetName Daemon)是现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的九成。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。此组织还维护一个很有名的软件DHCP。我们使用时安装软件名为bind,而进程名和用户名为named。

1、安装bind

[[email protected] ~]# yum install -y bind  bind-utils

2、安装生成的配置文件

[[email protected] ~]# rpm -qc bind

/etc/logrotate.d/named
/etc/named.conf                       #主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones       #事先定义好的区域文件
/etc/named.root.key                #实现事务签名的密钥文件
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback

3、dig命令说明

dig(域信息搜索器)命令是个用于询问 DNS 域名服务器的灵活的工具。他执行 DNS 搜索,显示从受请求的域名服务器返回的答复。多数 DNS 管理员利用 dig 作为DNS 问题的故障诊断,因为他灵活性好、易用、输出清楚。虽然通常情况下 dig 使用命令行参数,但他也能够按批处理模式从文档读取搜索请求。不同于早期版本,dig 的 BIND9 实现允许从命令行发出多个查询。除非被告知请求特定域名服务器,dig 将尝试 /etc/resolv.conf 中列举的任何服务器。当未指定任何命令行参数或选项时,dig 将对“.”(根)执行 NS 查询。

dig命令格式:

  • dig –t 资源记录类型名称@server-ip
  • dig –x IP @server-ip   反向解析
  • dig –t axfr zone    验证完全区域传送
  • dig –t ixfr zone    验证增量区域传输(通常需要指定序列号)

查询根节点:

[[email protected] ~]# dig -t NS .
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t NS .
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63456
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;. INNS
;; ANSWER SECTION:
. 5333INNSa.root-servers.net.
. 5333INNSm.root-servers.net.
. 5333INNSb.root-servers.net.
. 5333INNSj.root-servers.net.
. 5333INNSc.root-servers.net.
. 5333INNSf.root-servers.net.
. 5333INNSg.root-servers.net.
. 5333INNSi.root-servers.net.
. 5333INNSl.root-servers.net.
. 5333INNSd.root-servers.net.
. 5333INNSh.root-servers.net.
. 5333INNSe.root-servers.net.
. 5333INNSk.root-servers.net.
;; Query time: 112 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Oct  2 21:51:41 2015
;; MSG SIZE  rcvd: 228

4、主配置文件说明

[[email protected] ~]# cat /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {                                                              #全局选项
 listen-on port 53 { 127.0.0.1; };                          #定义监听的IP地址和端口,若注释则监听全部IP的53端口
 listen-on-v6 port 53 { ::1; };
 directory "/var/named";                                     #区域文件目录
 dump-file "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
 allow-query     { localhost; };                            #访问控制,注释该语句后即允许所有IP访问
 recursion yes;
 dnssec-enable yes;                                             #此三项为DNS服务安全的配置,前期学习时为避免未知的错误建议注释掉
 dnssec-validation yes;  
 dnssec-lookaside auto;
 /* Path to ISC DLV key */
 bindkeys-file "/etc/named.iscdlv.key";
 managed-keys-directory "/var/named/dynamic";
};
logging {                                                     #定义日志
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {                                                 #定义区域
 type hint;                                                  # 主域(master)、从域(slave)、缓存域(hint)、转发域(forward)
 file "named.ca";
};
include "/etc/named.rfc1912.zones";                 #正反向区域文件
include "/etc/named.root.key";

5、案例使用

案例要求:

DNS服务器地址:192.168.1.8

mail:192.168.1.9

www:192.168.1.10

pop:mail别名,指向mail

ftp:www别名,指向www

要求可以实现正反向解析

更改配置文件:

[[email protected] ~]# vim /etc/named.conf
options {                
        //listen-on port 53 { 127.0.0.1; };  
        //listen-on-v6 port 53 { ::1; };
        directory       "/var/named";          
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        //allow-query     { localhost; };    
        recursion yes;    
        //dnssec-enable yes;
        //dnssec-validation yes;
        //dnssec-lookaside auto;
 
        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
 
        managed-keys-directory "/var/named/dynamic";
};
 
logging {                                          
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
 
zone "." IN {
        type hint;
        file "named.ca";
};
zone "example.com" IN {                            
        type master;
        file "example.com.zone";
};
zone "1.168.192.in-addr.arpa" IN {                  
        type master;
        file "192.168.1.zone";
};
include "/etc/named.rfc1912.zones";                
//include "/etc/named.root.key";

说明:zone "example.com" IN正向解析段和zone "1.168.192.in-addr.arpa" IN反向解析段可以写在主配置文件中,也可以写在本地区域文件中即/etc/named.rfc1912.zones,若使用后者一定不要将主配置文件中的include "/etc/named.rfc1912.zones";  给注释掉。在这里type类型有三种,他们分别为master、slave、hint,含义如下:

  • master:表示定义的主域名服务器
  • slave:表示定义的是辅助域名服务器
  • hint:表示是互联网中的根域名服务器
  • file用来指定存放DNS记录的文件(一般都是区域名称.zone),allow-update定义是否允许客户主机或服务器自行更新DNS记录,上面指定的这个正向区域不允许更新DNS记录。

定义区域数据文件:

[[email protected] named]# vim /var/named/example.com.zone   #编辑正向解析文件
$TTL 3600
@       IN      SOA     dns.example.com.        admin.example.com. (
                                                        2015100301
                                                        2H
                                                        10M
                                                        7D
                                                        1D )
@       IN      NS      dns   #若不写全会自动同步名称,若不写全不能以”.”结尾
@       IN      MX 10   mail
dns     IN      A       192.168.1.8
mail    IN      A       192.168.1.9
www     IN      A       192.168.1.10
pop     IN      CNAME   mail
ftp     IN      CNAME   www

正向区域数据文件的格式和含义:

第一行是一个TTL设定,定义区域数据文件里面的各项记录的宏,缺少此行不影响使用,但是会出现警告信息。

第二行是一个SOA记录的设定,“@“代表相应的域名,也就是在/etc/named.rfc1912.zones,如在这里表示example.com,IN表示后面的数据使用的是Internet标准。SOA表示目前区域授权开始。每一个区域数据文件只能有一个SOA,不能重复,并且必须是所负责的zone中第一个”记录“。在SOA后面分别指定这个区域的授权主机名称和管理者的邮箱。

注:授权主机名和管理员信箱后面都要有一个”.”。由于”@”在区域数据文件中有其他含义,因此管理员邮箱地址中用”.”代替“@“符号。

接下来包含在括弧内的5组数字是作为服务器同步信息而设置的,含义如下:

  • 第一段表示配置文件的修改版本,格式是年月日加上修改的次数,每次修改这个配置文件时都应该修改这个数值,因为当DNS进行信息同步时,会比较这个数值的值。如果这个数值比自身的数值大,就进行更新,否则忽略更新。(这个设置很重要,如果修改区域数据后没有更新该值,那么所做的更改就不会同步到其他DNS服务器)
  • 第二段表示用来设定DNS服务器进行同步的间隔时间又称刷新时间。只通知给本区域解析库文件中定义NS记录的所有主机;
  • 第三段表示同步更新失败之后,在进行重试的间隔时间。
  • 第四段表示同步更新失败之后,多长时间清除对应的记录,又称过期时间
  • 第五段表示否定的TTL值

接下来是对域名解析的具体设置,第1列表示不同的主机域名,但是省略了后面的域信息(若为空白表示与上面域名相同)。例如:”www”其实是www.example.com等。“IN“后面的指令含义说明如下:

  • NS:用来定义这个主机是个域名服务器,是个区域名称
  • MX:定义邮件服务器,这里需要定义优先级的!这里定义的交换级别为10
  • A:定义了一个A记录,即域名到IP的记录
  • CNAME:定义了域名的别名
[[email protected] named]# vim /var/named/192.168.1.zone   #定义反向区域文件
$TTL 3600
@       IN      SOA     dns.example.com.        admin.example.com. (
                                                        2015100301
                                                        2H
                                                        10M
                                                        7D
                                                        1D )
@       IN      NS      dns.example.com.
8      IN      PTR     dns.example.com.
9      IN      PTR     mail.example.com.
10      IN      PTR     www.example.com.

分析:可以看出,反向区域文件基本结构和正向区域数据文件基本完全相同,只不过这里多出了一个PTR选项。PTR用来定义一个反向记录,也就是通过IP可以查到对应的域名信息。最后三行的第一列表示是主机的IP地址,只不过省略了网络地址部分,系统会自动补全,如8对应的是192.168.1.8。

注意:区域名称以逆向的网络地址,并以.in-addr.arpa为后缀 ,第一条必须SOA ,应该具有NS记录,但不能出现MX和A记录,较常见的为PTR记录,名称为逆向的主机名。

定义区域文件的权限关系:

[[email protected] named]# chown root.named /var/named/example.com.zone 
[[email protected] named]# chown root.named /var/named/192.168.1.zone 
[[email protected] named]# chmod 640 /var/named/example.com.zone 
[[email protected] named]# chmod 640 /var/named/192.168.1.zone

检查区域文件语法错误与否:

[[email protected] named]# service named configtest
zone example.com/IN: loaded serial 2015100301
zone 1.168.192.in-addr.arpa/IN: loaded serial 2015100301
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
[[email protected] named]# named-checkconf    #检查主配置文件语法,无信息输出说明配置成功
[[email protected] named]# named-checkzone "example.com" /var/named/example.com.zone   #检查zone语法错误与否
zone example.com/IN: loaded serial 2015100301
OK

启动服务并查看监听的端口:

[[email protected] named]# service named start
Generating /etc/rndc.key:                                  [确定]
启动 named:                                               [确定]
[[email protected] named]# ss -tnlp |grep named
LISTEN     0      3               192.168.1.8:53                       *:*      users:(("named",3439,21))
LISTEN     0      3                 127.0.0.1:53                       *:*      users:(("named",3439,20))
LISTEN     0      128                     ::1:953                     :::*      users:(("named",3439,23))
LISTEN     0      128               127.0.0.1:953                      *:*      users:(("named",3439,22))

使用dig命令对DNS正向区域解析情况进行测试:

[[email protected] named]# dig -t A www.example.com @192.168.1.8    #解析A记录

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t A www.example.com @192.168.1.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23829
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;www.example.com.	IN	A

;; ANSWER SECTION:
www.example.com.	3600	IN	A	192.168.1.10

;; AUTHORITY SECTION:
example.com.	3600	IN	NS	dns.example.com.

;; ADDITIONAL SECTION:
dns.example.com.	3600	IN	A	192.168.1.8

;; Query time: 1 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Fri Oct  2 23:18:38 2015
;; MSG SIZE  rcvd: 83
[[email protected] ~]# dig -t NS example.com @192.168.1.8       #解析NS记录

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t NS example.com @192.168.1.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61028
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;example.com.	IN	NS

;; ANSWER SECTION:
example.com.	3600	IN	NS	dns.example.com.

;; ADDITIONAL SECTION:
dns.example.com.	3600	IN	A	192.168.1.8

;; Query time: 0 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Fri Oct  2 23:20:21 2015
;; MSG SIZE  rcvd: 63
[[email protected] ~]# dig -t SOA example.com @192.168.1.8    #解析SOA记录

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t SOA example.com @192.168.1.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10395
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;example.com.	IN	SOA

;; ANSWER SECTION:
example.com.	3600	IN	SOA	dns.example.com. admin.example.com. 2015100301 7200 600 604800 86400

;; AUTHORITY SECTION:
example.com.	3600	IN	NS	dns.example.com.

;; ADDITIONAL SECTION:
dns.example.com.	3600	IN	A	192.168.1.8

;; Query time: 24 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Fri Oct  2 23:21:01 2015
;; MSG SIZE  rcvd: 105
[[email protected] ~]# dig -t MX example.com @192.168.1.8   #解析MX记录

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t MX example.com @192.168.1.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24684
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; QUESTION SECTION:
;example.com.	IN	MX

;; ANSWER SECTION:
example.com.	3600	IN	MX	10 mail.example.com.

;; AUTHORITY SECTION:
example.com.	3600	IN	NS	dns.example.com.

;; ADDITIONAL SECTION:
mail.example.com.	3600	IN	A	192.168.1.9
dns.example.com.	3600	IN	A	192.168.1.8

;; Query time: 2 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Fri Oct  2 23:29:41 2015
;; MSG SIZE  rcvd: 100
[[email protected] ~]# dig -x 192.168.1.8          #反向区域解析

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -x 192.168.1.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37041
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;8.1.168.192.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
8.1.168.192.in-addr.arpa. 3600	IN	PTR	dns.example.com.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa.	3600	IN	NS	dns.example.com.

;; ADDITIONAL SECTION:
dns.example.com.	3600	IN	A	192.168.1.8

;; Query time: 1 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Fri Oct  2 23:19:22 2015
;; MSG SIZE  rcvd: 101
[[email protected] ~]# dig -t axfr 1.168.192.in-addr.arpa       #完全区域传送

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t axfr 1.168.192.in-addr.arpa
;; global options: +cmd
1.168.192.in-addr.arpa.	3600	IN	SOA	dns.example.com. admin.example.com. 2015100301 7200 600 604800 86400
1.168.192.in-addr.arpa.	3600	IN	NS	dns.example.com.
10.1.168.192.in-addr.arpa. 3600	IN	PTR	www.example.com.
8.1.168.192.in-addr.arpa. 3600	IN	PTR	dns.example.com.
9.1.168.192.in-addr.arpa. 3600	IN	PTR	mail.example.com.
1.168.192.in-addr.arpa.	3600	IN	SOA	dns.example.com. admin.example.com. 2015100301 7200 600 604800 86400
;; Query time: 3 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Fri Oct  2 23:22:37 2015
;; XFR size: 6 records (messages 1, bytes 205)

前面举例中均需要指定我们创建的DNS服务器192.168.1.8,若不想指定则可以将DNS指向本机即可。

修改本机的DNS解析主机名:

[[email protected] ~]# cat /etc/resolv.conf
nameserver 192.168.1.8
nameserver 8.8.8.8
nameserver 202.102.224.68
[[email protected] ~]# dig -t axfr example.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t axfr example.com
;; global options: +cmd
example.com.	3600	IN	SOA	dns.example.com. admin.example.com. 2015100301 7200 600 604800 86400
example.com.	3600	IN	NS	dns.example.com.
example.com.	3600	IN	MX	10 mail.example.com.
dns.example.com.	3600	IN	A	192.168.1.8
ftp.example.com.	3600	IN	CNAME	www.example.com.
mail.example.com.	3600	IN	A	192.168.1.9
pop.example.com.	3600	IN	CNAME	mail.example.com.
www.example.com.	3600	IN	A	192.168.1.10
example.com.	3600	IN	SOA	dns.example.com. admin.example.com. 2015100301 7200 600 604800 86400
;; Query time: 1 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Fri Oct  2 23:24:49 2015
;; XFR size: 9 records (messages 1, bytes 234)
时间: 2024-08-07 10:59:43

DNS软件bind使用(一)的相关文章

DNS软件bind使用(二)

参考:http://scholar.blog.51cto.com/9985645/1631058 一.主从服务器配置 1.主从服务器关系 如果公司内DNS服务器负载过重或者为了实现冗余这一类功能就需要用到一个备份DNS服务器,备份服务器和主DNS服务器就形成了主从关系,如果主服务器的区域文件更新就会通知从服务器同步最新的区域文件,平时从服务器不提供解析服务,如果主服务器有故障从服务器就立刻激活提供域名解析服务. 2.主从复制工作过程 主从复制配置 注意事项 ①开始配置从服务器之前,请确保主从服务

CentOS7.4下DNS服务器软件BIND安装及相关的配置(一)

(一)DNS简介:DNS,全称Domain Name System,即域名解析系统.域名是通过DNS来实现的,每个域名代表一个IP,DNS就是用来在ip地址与域名之间进行转换的服务.DNS帮助用户在互联网上寻找路径.在互联网上的每一个计算机都拥有一个唯一的地址,称作"IP地址"(即互联网协议地址)由于IP地址难以记忆,一般用域名来进行管理(ip地址偏重底层,而DNS则偏重于应用层) 1,DNS功能每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开.有了

CentOS7-1810 系统DNS服务器BIND软件配置说明

DNS的出现的历史 网络出现的早期是使用IP地址通讯的,那时就几台主机通讯.但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linux和Windows也继承保留了这个文件).这个文件中记录着主机名称和IP地址的对应表.这样只要输入主机名称,系统就会去加载hosts文件并查找对应关系,找到对应的IP,就可以访问这个IP的主机了.但是后来主机太多了,无法保证所有人都能拿到统一的最新的hosts文件,就出现了在文件服务器上集中存放hosts

DNS(bind)服务器的安装与配置

Bind服务器: bind(Berkeley Internet Name Domain Service),它是一款实现DNS服务器的开源软件,现在为最广泛的DNS服务器软件 Socket: 套接字,及IP:port(IP地址端口对) 端口: TCP:0~65535  UDP:0~65535 注: 小于1024的端口为知名端口,只有root用户有权限开放和关闭. 1.bind的安装 包名: bind 进程: named 协议: dns 使用端口: 53(tcp,udp) 相关的包: [[email

Linux运维实战之DNS(bind)服务器的安装与配置

上次博文我们讨论了DNS的基础,本次博文我们重点来看看如何配置一台DNS服务器. [本次博文的主要内容] bind服务器简介(包括客户端工具dig的介绍) 配置正向解析DNS服务器 配置反向解析DNS服务器 配置辅助DNS服务器并在主辅之间实现区域传送 一.BIND服务器简介: Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件.Bind原本是美国DARPA资助伯克利大学(Berkeley)开设的一个研究生课题,后来

Linux学习之路-DNS原理-BIND配置详解

DNS原理-BIND配置详解 DNS系统概述 DNS系统作用     a) DNS,简单地说,就是Domain Name System,翻成中文就是"域名系统".主要的功能就是将人易于记忆的Domain Name与人不容易记忆的IP Address作转换.      b) DNS提供正向解析和反向解析          正向解析:根据主机名称(域名)查找对应的IP地址.          反向解析:根据IP地址查找对应的主机域名 DNS系统结构  系统结构原理  目前DNS采用的是分布

linux命令:DNS域名解析,bind

DNS:Domain Name Service  域名服务 DNS服务器的软件bind:berkeley internet name domain  named-checkconf:检查配置文件是否有语法错误命令  named-checkzone:检查区域文件是否有语法错误命令  dig:domain information groper      dig -t NS . 查找根域的所有DNS服务器 bind97:    /etc/named.conf  主配置文件        BIND进程的

【Linux】DNS服务-BIND从服务器、缓存服务器、转发服务器配置

环境 操作系统:CentOS 6.5 DNS软件:bind(安装参照:[Linux]DNS服务-BIND基础配置(二)) BIND从服务器 从服务器就是在bind的主配置文件中添加从域example.net的配置信息即可3 1.配置文件位置 /var/named/chroot/etc/named.conf 2.在主配置文件中添加一行域的zone定义: zone "example.net" { type slave;          masters { 120.27.99.64; };

DNS和Bind配置指南

/////////////////////////////目录//////////////////////////////////////一.DNS原理相关二.使用bind搭建最简单的DNS服务器三.使用bind搭建可以解析自己添加的域名的DNS服务器四.配置DNS转发五.配置主从配置主从六.测试主从同步 拓展学习:DNS and BIND配置指南  http://anyisalin.blog.51cto.com/10917514/1753638bind配置视图(view)   http://w