bind的简单配置

bind的简单配置

摘要:DNS  bind简单配置

       FQDN

       http://www.178linux.com.  WWW是主机名  .178linux.COM.是私有域名  .com.是DNS一级域名 .是根域

DNS解析顺序

/etc/hosts→DNS缓存→DNS域服务器

主机优先查找本地的hosts(/etc/hosts)文件,没有想对应的记录则去查找本地DNS客户端的解析缓存库,缓存库没有想对应的记录则询问本地配置的DNS服务器(DNS服务器配饰文件 /etc/resolv.conf)

DNS服务器同样优先查找本地缓存
数据,没有相对应的记录直接去找根,根会告诉你这事我委托给.com管理了这是.com的地址你去找他吧,DNS服务器找到.com得到这事我委托给
178linux.com管理员ns.178linux.com来管理这事他的地址你去找他吧;继续拜访ns.178linux.com得到www.178linux.com的地址返回给主机。

主机得到对应的IP地址就将访问数据报文发送给此IP

递归查询:主机访问DNS服务器,并且DNS服务器最终返回解析结果给客户端的方式为递归查询。不轮客户端所查询的域名是否为此DNS服务器管理它最终会个客户端返回解析结果。

迭代查询:DNS服务器子根向下逐级查找解析资源记录的过程为迭代查询,被DNS访问的服务器只返回下级域的域管理员的地址。

DNS域服务器架构

二、搭建一个DNS服务器

2.1 DNS服务器软件搭建采用bind

Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet
Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和 windows平台。

2.2 安装bind

yum install bind -y

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


#rpm生成的几个重要的配置文件

/etc/named.conf           #bind的主配置文件    

/etc/named.rfc1912.zones  #bind的zone配置文件,通过主配置的include选项作为主配置文件的一部分  

/etc/rndc.conf            #rndc的主配置文件       

/etc/rndc.key             #rndc的消息完整性验证key

/var/named/named.ca       #DNS根服务器信息

#以上文件权限模型  640 root named

/var/named/sslaves/       #    丛服务器配置文件存放目录 权限模型 770 named named

2.3 bind的主配置文件


// 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; };        #监听的端口和地址   {  } 前后需各有一个空格否则为语法错误,

                                                 #每行结束需以“;”结尾否则也为语法错误

        listen-on-v6 port 53 { ::1; };           #IPv6的端口和地址配置

        directory       "/var/named";            #bind工作目录;配置文件内的相对文件路径都是在此目录下

        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; };          #允许那些客户端来查询  此内的localhost为内置acl

        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";                          

};

include "/etc/named.rfc1912.zones";              #配置文件包含这个文件

include "/etc/named.root.key";                   #同上

2.4 allow白名单控制


allow-***

allow-query         #原先那些主机前来查询DNS       

allow-transfer      #允许那些主机进行区域传送

allow-update        #允许接收那些主机动态DNS更新  

allow-recursion     #允许为哪些主机进行递归查询

 2.5 acl控制列表;定义在options内

几个内建的acl:none: 所有都不
                            any: 任意
                            localhost: 本机


acl 语法格式

acl ACL_NAME {

                ip;

                ip;

                network;

            };

#示例 递归查询白名单

acl rec_network {

                10.10.10.0/24#网段

                192.168.1.254; #ip

                localhost;     #可包含其他acl   

               };

recursion yes

allow-recursion { localhost;rec_network; }

2.6 named.rfc1912.zones配置文件

域分为正向域和反向域:正向域为FQDN→IP地址;反向域为IP地址→FQND。

正向域和反向域的域配置文件是两份独立的配置文件。

其中邮件地址需配置反向域否则会被认为是垃圾邮件。


#####named.rfc1912.zones配置文件内容

// named.rfc1912.zones:

//

// Provided by Red Hat caching-nameserver package

//

// ISC BIND named zone configuration for zones recommended by

// RFC 1912 section 4.1 : localhost TLDs and address zones

// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt

// (c)2007 R W Franks

//

// See /usr/share/doc/bind*/sample/ for example named configuration files.

//

zone "localhost.localdomain" IN {         #域名;IN为固定格式

        type master;                      #服务类型:master|slave|forward|hind

        file "named.localhost";           #区域解析库配置文件,相对路径在options定义的工作目录下

        allow-update { none; };           #不接受任何动态数据更新

};

zone "localhost" IN {

        type master;

        file "named.localhost";

        allow-update { none; };

};

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 {

        type master;

        file "named.loopback";

        allow-update { none; };

};

zone "1.0.0.127.in-addr.arpa" IN {        #反向域

        type master;

        file "named.loopback";

        allow-update { none; };

};

zone "0.in-addr.arpa" IN {

        type master;

        file "named.empty";

        allow-update { none; };

};

2.7 区域解析库配置文件

区域解析库内存放地址映射资源记录:rr(resource record);映射信息有类型的概念:用于此记录解析的属性;主要类型分为以下几种
                SOA: Start Of Authority, 起始授权记录,一个区域文件只能有一个;
                NS:Name Server
                MX: Mail eXchange, 邮件交换器,MX记录有优先级属性(0-99);
                A:FQDN –> IP,专用于正向解析库
                PTR: IP –> FQDN,专用于反向解析库
                AAAA:FQDN –> IPv6,专用于正向解析库
                CNAME: Canonical Name,正式名称
    这些配置信息需要手动配置,配置前需要做好信息收集及信息注册
        资源记录类型书写格式

SOA:


@      TTL      IN        SOA    FQDN        ADMIN.MAIL    ( 

                           serial number   ;解析库的版本号,

                           refresh time    ;主丛服务器周期性同步的时间间隔;time默认单位秒,也可使用1D,1H等代替

                           retry time      ;主服务器为响应丛服务器后丛服务器的重试时间间隔

                           expire time     ;主服务器一直未响应;丛服务器解析库失效时长

                           negative answer ttl ;无效主机名否定答案的统一缓存时长

                    )                    

# @:域名替代符

# TTL:缓存时间

# IN:固定字符

# SOA:资源记录类型

# FQND:区域内主DNS服务器的FQDN

# ADMIN.MAIL:管理邮箱 其中邮箱的@在配置文件中有特殊意义需替换成.

NS:


@        TTL        IN         NS         FQDN

# @:域名替代符

# TTL:缓存时间 

# IN:固定字符

# NS:资源记录类型

# FQND:DNS服务器的FQDN

MX:


@        TTL        IN         NS       priority       FQDN

# @:域名替代符

# TTL:缓存时间 

# IN:固定字符

# NS:资源记录类型

# priority:优先级 0-99 越小越优先,用于有多个邮件服务器

# FQND:邮件服务器的FQDN

A:


FQND        TTL        IN         A|AAAA       IPADDR

# FQDN:主机完全域名

# TTL:缓存时间 

# IN:固定字符

# A:IPV4资源记录类型

# AAAA:IPV6资源记录类型

# IPADDR:IPV4或IPV6的主机地址

CNAME:


FQND1        TTL        IN         CNAME       FQDN2

# FQDN1:主机完全域名

# TTL:缓存时间 

# IN:固定字符

# FQDN2:主机完全域名,必须有A记录,访问FQDN1时会先解析到FQDN1=FQDN2然后再去查FQDN2的A记录

PTR:


反序IP.in-addr.arpa        TTL        IN         PTR       FQDN

# 反序IP.in-addr.arpa:示例192.168.1.1PTR=1.1.168.192.in-addr.arpa

# TTL:缓存时间 

# IN:固定字符

# FQDN:主机完全域名

    2.8 搭建缓存bind服务器

逻辑拓扑结构图  bind服务器OS系统为centos 6.7  IP地址:10.10.10.3

第一步:安装bind程序前面已经做完

第二步:配置主配置文件 /etc/named.conf


###将以下参数注释掉        

        //listen-on port 53 { 127.0.0.1; };  #注释后bind将监听所有IPv4地址的53号端口

        listen-on-v6 port 53 { ::1; };       #如果你没有IPv6的配置这项无需配置 

        //allow-query     { localhost; };    #注释后允许所有任何地址前来查询

        recursion yes;                       #允许为所有客户端进行递归查询 

        //dnssec-enable yes;                 #与DNS信息完整性及安全相关,简单那配置暂不做配置,注释掉   

        //dnssec-validation yes;             #与DNS信息完整性及安全相关,简单那配置暂不做配置,注释掉 

        //dnssec-lookaside auto;             #与DNS信息完整性及安全相关,简单那配置暂不做配置,注释掉 

        /* Path to ISC DLV key */            #与DNS信息完整性及安全相关,简单那配置暂不做配置,注释掉 

        //bindkeys-file "/etc/named.iscdlv.key";    #与DNS信息完整性及安全相关,简单那配置暂不做配置,注释掉 

        //managed-keys-directory "/var/named/dynamic";    #与DNS信息完整性及安全相关,简单那配置暂不做配置,注释掉 

//include "/etc/named.root.key";    #与DNS信息完整性及安全相关,简单那配置暂不做配置,注释掉

第三步:增加解析域信息至named.rfc1912.zones


zone "mylinux.com" IN {

        type master;

        file "mylinux.zone";

        allow-update { none; };

};

zone "10.10.10.in-addr.arpa" IN {         #反向区域,我选的这个地址不是太直观,如果是172.16.1.2的话反向就是这样写1.16.172.in-addr.arpa

        type master;

        file "10.10.10.zone";

        allow-update { none; };

};

#####检查配置文件是否正确 

    [[email protected] named]# named-checkconf 

    [[email protected] named]#                  ##没有输出就没有错误

       第四步配置解析资源记录


[[email protected] named]# vim /var/named/mylinux.zone 

################全称拼写格式

$TTL 7200

@       IN      SOA     ns.mylinux.com.    admin.mylinux.com.   (

                        2015101600

                        1H

                        300

                        1W

                        1D

)

        IN      NS              ns.mylinux.com.      #第一个字段如果与上一行一样可省略不写会自动补全

        IN      MX      10      mail.mylinux.com.

ns.mylinux.com.         IN      A       10.10.10.3   #FQDN全名后面必须加.,.代表根区域

mail.mylinux.com.       IN      A       10.10.10.4

www.mylinux.com.        IN      A       10.10.10.5

ftp.mylinux.com.        IN      A       10.10.10.6

###############  简写

$TTL 7200

$ORIGIN mylinux.com     #自动将此变量作为FQDN的一部分补在,如果不声明此变量内容默认为zones文件中定义的域名

@       IN      SOA     ns         admin        (       

                        2015101600

                        1H

                        300

                        1W

                        1D

)

        IN      NS              ns    

        IN      MX      10      mail

ns      IN      A       10.10.10.3

mail    IN      A       10.10.10.4

www     IN      A       10.10.10.5

ftp     IN      A       10.10.10.6

#####反向域配置

$TTL 7200

@               IN      SOA     ns.mylinux.com.     admin.mylinux.com.     (

                                2015101600

                                1H

                                300

                                1W

                                2D)

                IN      NS      ns.mylinux.com.

3               IN      PTR     ns.mylinux.com.

4               IN      PTR     mail.mylinux.com.

5               IN      PTR     www.mylinux.com.

6               IN      PTR     ftp.mylinux.com.

 

#####检查zone配置文件是否有错误

[[email protected] ~]# chown root:named /var/named/mylinux.zone  /var/named/10.10.10.zone

[[email protected] ~]# chmod 640 /var/named/mylinux.zone /var/named/10.10.10.zone

[[email protected] named]#named.checkzone "mylinux.com" /var/named/mylinux.zone   #检查无错误后执行重读配置文件

[[email protected] named]# named-checkzone "10.10.10.in-addr.arpa" /var/named/10.10.10.zone 

zone 10.10.10.in-addr.arpa/IN: loaded serial 2015101600

OK

[[email protected] named]# rndc reload   #重读配置文件

server reload successful

[[email protected] named]# service named reload

Reloading named:                                           [  OK  ]   #重读配置文件

[[email protected] named]

####如果修改过端口及监听地址需要重启服务

[[email protected] named]# service named restart

[[email protected] ~]# chkconfig --level 2345 named on

DNS测试

常用的DNS测试命令有

1、host -t RRType NAME [SERVER]
         例如:host -t NS mylinux.com  10.10.10.3

2、nslookup      交互式测试工具
        nslookup>
            server IP:
            set type={A|SOA|NS|MX}
            name
 3、dig
            dig -t TYPE name @server
                -t AXFR: 标示区域传送
                -x:测试反解
                +(no)trace:是否显示查询过程
                +(no)recurse:是否递归查询


[[email protected] ~]$ dig -t AXFR mylinux.com @10.10.10.3     #做区域传输测试,查看DNS服务器所有记录

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t AXFR mylinux.com @10.10.10.3

;; global options: +cmd

mylinux.com.        7200    IN    SOA    ns.mylinux.com. admin.mylinux.com. 2015101600 1800 300 604800 86400

mylinux.com.        7200    IN    NS    ns.mylinux.com.

mylinux.com.        7200    IN    MX    10 mail.mylinux.com.

ftp.mylinux.com.    7200    IN    A    10.10.10.6

mail.mylinux.com.    7200    IN    A    10.10.10.4

ns.mylinux.com.        7200    IN    A    10.10.10.3

www.mylinux.com.    7200    IN    A    10.10.10.5

mylinux.com.        7200    IN    SOA    ns.mylinux.com. admin.mylinux.com. 2015101600 1800 300 604800 86400

;; Query time: 0 msec

;; SERVER: 10.10.10.3#53(10.10.10.3)

;; WHEN: Thu Oct 15 21:09:36 2015

;; XFR size: 8 records (messages 1, bytes 217)

[[email protected] ~]$ dig -x 10.10.10.5 @10.10.10.3

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -x 10.10.10.5 @10.10.10.3

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50444

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;5.10.10.10.in-addr.arpa.    IN    PTR

;; ANSWER SECTION:

5.10.10.10.in-addr.arpa. 7200    IN    PTR    www.mylinux.com.

;; AUTHORITY SECTION:

10.10.10.in-addr.arpa.    7200    IN    NS    ns.mylinux.com.

;; ADDITIONAL SECTION:

ns.mylinux.com.        7200    IN    A    10.10.10.3

;; Query time: 2 msec

;; SERVER: 10.10.10.3#53(10.10.10.3)

;; WHEN: Thu Oct 15 23:18:54 2015

;; MSG SIZE  rcvd: 103

windows下测试

时间: 2024-08-04 10:16:14

bind的简单配置的相关文章

Linux-dns基础知识和BIND的简单配置-2(正向解析和反向解析)

DNS服务器基本配置 bind详解:包名:bind进程:named协议:dns使用端口:53(tcp,udp)相关包:bind-chroot:将named进程的活动范围限定在chroot目录,保证安全性.bind-devel:与开发相关的头文件和库文件(编译安装bind时所需)bind-libs:bind服务器端和客户端都使用到的公共库文件bind-utils : bind客户端工具程序文件:/usr/sbin/namedbind权限相关:安装完named会自动创建用户named系统用户,nam

Linux-dns基础知识和BIND的简单配置-1

1.什么是DNSDNS:(Domain Name Service)域名服务,是一种组织成层次结构的计算机和网络服务命名系统,用于实现名称解析(hostname<-->IP).其中通过计算机名解析出ip地址的叫做正向解析,通过ip地址解析出计算机名的叫做反向解析.DNS采用C/S架构,服务监听在主机的TCP/UDP的53号端口.传输层协议UDP用于域名解析:TCP用于区域传送本地名称解析文件:hosts(主机有限时候可用)/etc/hosts%WINDOWS%/system32/drivers/

&nbsp; &nbsp; &nbsp; &nbsp; 基于bind的简单DNS搭建

我们都知道互联网通信是基于IP地址的,然而我们在访问一个网站的时候只需输入主机名(有时也指我们所说的域名)即可实现,那是因为我们在背后用到了将主机名解释为了对应的IP地址的机制--DNS.下面我们来介绍DNS的实现过程. 一:bind的安装配置(正反解析): 1.bind 介绍:bind:bekerleyinternet name domain,我们简单的理解它是用bind 工具实 现DNS服务器的配置. 2.bind 安装:bind 安装比较简单我们可以使用下面命令安装并查看安装bind都生成

简单配置PostFix服务器

简单配置PostFix服务器 安装包: [[email protected] named]# yum install postfix telnet [[email protected] named]# yum install bind bind-chroot 配置 DNS 服务器 [[email protected] named]# vi /etc/named.conf options { listen-on port 53 {  any; }; listen-on-v6 port 53 { :

DNS服务器之简单配置(一)

名词解释: 域名: 域名是域名系统名字空间中,从当前节点到根节点的路径上所有节点标记的点分顺序连接. 域: 域是指域名系统名字空间中的一个子集,也就是树形结构名字空间中的一颗子树.这个子树根节点的域名就是该域的名字, 域的级别: 顶级域(TLD, Top Level Domain)是指域名系统名字空间中根节点下最顶层的域.顶级域也称一级域,顶级域的下级就是二级域,二级域的下级就是三级域,以此类推.每个域都是其上级域的子域.最早的顶级域名,也是现在说的国际域名,按照用途分为的7个大类: .com:

dns协议的简单配置

DNS(Domain Name System,域名系统),因特网上作为域名和ip相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53. 域名系统作为一个层次结构和分布式数据库,包含各种类型的数据,包括主机名和域名.DNS数据库中的名称形成一个分层树状结构称为域命名空间.完全限定的域名 (FQDN) 唯一地标识在 DNS 分层树

springMVC 简单配置

spring 的简单配置 一,首先将创建一个web项目,命名为springMVC. 二,在web.xml中配置spring启动的servlet <!-- 首先配置springmvc启动servlet --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</ser

0123简单配置LNMP

简单配置LNMP不怕出现错误,就怕错误不知道出现在哪里?看日值tail -f /var/log/message -- 系统整个的日志tail -f /var/log/nginx/error.log -- 单个应用的日志http://www.cnblogs.com/make217/p/5836864.htmlhttp://www.cnblogs.com/xiaoit/p/3991037.html

Samba服务器的简单配置

案例说明: 公共目录        public   /abc            ro  允许任何人匿名访问, Daiqing1        smbdq1   /tmp/daiqing1   rw  不允许他人访问 Daiqing2        smbdq2   /tmp/daiqing2   rw  不允许他人访问 Samba服务器的简单配置,布布扣,bubuko.com