DNS服务

DNS:域名解析,BIND:Berkeley Internet Name Domain

TLD:顶级域

    组织域:.com,.org,.net,.cc

    国家域:.cn,.tw,.hk,.iq,,ir,jp

    反向域:将IP地址转化为主机名  

        反向:IP-->FQDN

        正向:FQDN-->IP

查询:

    递归:只发出一次请求

    迭代:发出多次请求

DNS服务器

    接受本地客户查询请求(递归)

    外部客户端请求:请求权威答案

        肯定答案:TTL

        否定答案:TTL

    外部客户端请求:非权威答案


DNS分布式数据库,上级仅知道其直接下级,下级只知道根的位置

DNS服务器类型

    主DNS服务器:数据修改

    辅助DNS服务器:请求数据同步

    缓存DNS服务器

    转发器


数据库中的每一个条目称作一个资源类型(Resource Record,RR)

资源记录的格式:

TTL 600

NAME        {TTL}    IN    PRT    VALUE

www.xx.com.            IN    A    1.1.1.1

1.1.1.1                IN   PRT    www.xx.com.   


资源记录类型

SOA(Start Of Authority)    起始授权记录

    ZONE NAME    TTL    IN    SOA    FQDN    邮箱地址

       \serial name;版本号-不能超过10位

        refresh;刷新时间

        retry;重试时间

        expire;重试多久

        na ttl;自杀时间

    时间单位:H(小时),M(分钟)、D(天)、W(周),默认单位是秒

    邮箱格式:[email protected]要写成137.qq.com

    eg:xx.com    600    IN    SOA    ns.xx.com    137.qq.com    201409301 1H 5M 1W 1D

NS(Name Server):ZONE-->FQDN    名称服务器

    xx.com.    600    IN    NS    ns.xx.com.

    ns.xx.com.    600    IN    NS    1.1.1.1

MX(Mail eXchanger):ZONE NAME-->FQDN    邮件交换器

    ZONE NAME    TTL    IN    MX    PRI    VALUE

    优先级从0-99,数字越小级别越高

    xx.com.    600    IN    MX    10    mail.xx.com.

    mail.xx.com.    600    IN    A    1.1.1.1  

A(address):FQDN-->IPv4(主机-->IP)

AAAA:FQDN-->IPv4

PTR(pointer):IP-->FQDN

CNAME(正式名称/别名):FQDN-->FQDN    别名记录

    www2.xxx.com    IN    CNAME    www.xxx.com    

TXT

CHAOS

SRV


域  :Domian 逻辑概念

区域:Zone 物理概念


建立两个区域文件:

正向区域文件:

    xx.com.    IN    SOA

    www.xx.com.    IN    A    192.168.0.1

    简写为:www    IN    A    192.168.0.1

反向区域文件

    0.168.192.in-addr.arpa.    IN    SOA

    1.0.168.192-in-addr.arpa.    IN    PRT    www.xxx.com.

    简写:1    IN    PRT    www.xxx.com.


区域传送的类型

    完全区域传送:axfr

    增量区域传送:ixfr

区域类型:

    主区域:master

    从区域:slave

    提示区域:hint    定义根的位置

    转发区域:forward


bind

    /etc/named.conf

        主配置文件,bind进程的工作属性,区域定义

    /etc/rndc.key

        让RNDC工作的密钥文件

        配置信息:/etc/rndc.conf

    /var/named/

        区域数据文件:默认管理员要自己定义 

    /etc/rc.d/init.d/named


caching-nameserver:构建缓存DNS的包

dig -t NS .    

dig -x IP:根据IP查找FQDN

host -t RT NAME:查询名称的解析结果


/var/named/named.ca    根服务器地址
/var/named/named.localhost

/var/named/named.oopback    本地主机正反向解析

DNS坚挺的协议及端口:53/udp,53/tcp,953/tcp,rndc远程域名服务器控制器


在/etc/named.conf文件中

区域定义

zone "zone name"    IN    {

    type{master|slave|hint|};

};

主区域:file “区域数据文件”

从区域:file    "区域数据文件"

                masters {master_ip;};

allow-recursion    定义递归对象


# forward only|first;    转发

#forwarders { 192.168.1.201 };转发对象

forward指令用于设置DNS转发的工作方式:

    first设置优先使用forwarders指定的服务器做域名解析,如果查询不到再使用本地DNS服务器做域名解析

    only设置只使用forwarders DNS服务器做域名解析,如果查询不到则返回DNS客户端查询失败。

forwarders指令用于设置将DNS请求转发到哪个服务器,可以指定多个服务器的IP地址。


构建DNS服务器

yum install bind97 bind97-utils bind97-libs

vim /etc/named.conf  

options {
        directory "/var/named";

# forward only|first;    转发

#forwarders { 192.168.1.201 };转发对象
};

zone "." in {
        type hint;
        file "named.ca";
};

zone "shilei.com" in {
        type master;
        file "shilei.com.zone";
};

zone "1.168.192.in-addr.arpa" in {
        type master;
        file "1.168.192.zone";
};


cd /var/named/

vim shilei.com.zone

$TTL 600
@       IN      SOA     ns.shilei.com.  admin.shilei.com.       (
        2014100201
        1H
        5M
        2D
        6H )
        IN      NS      ns.shilei.com.
        IN      MX  10  mail
ns      IN      A       192.168.1.201
mail    IN      A       192.168.1.2
www     IN      A       192.168.1.1
www     IN      A       192.168.1.3
ftp     IN      CNAME   www


vim 1.168.192.zone

$TTL 600
@       IN      SOA     ns.shilei.com.  admin.shilei.com.       (
        2014100201
        1H
        5M
        2D
        6H )
        IN      NS      ns.shilei.com.
1       IN      PTR     ns.shilei.com.
1       IN      PTR     www.shilei.com.
2       IN      PTR     mail.shilei.com.
3       IN      PTR     www.shilei.com.     


chmod 640 1.168.192.zone

chmod 640 shilei.com.zone

chown root:named shilei.com.zone

chown root:named 1.168.192.zone


named-checkconf

named-checkzone "shilei.com" shilei.com.zone    #检查正向区域是否正确

named-checkzone "1.168.192.in-addr.arpa"  1.168.192.zone    #检查反向区域是否正确


service named restart

故障原因:启动或重启DNS服务时,卡在Generating /etc/rndc.key:上很长时间
解决方法:
执行以下
命令

rndc-confgen -r /dev/urandom -a

然后再重启DNS服务:
service named start
服务正常

#测试

dig -t A www.shilei.com  或 dig -t NS .或 dig -t PTR shilei.com

[root@localhost named]# dig -t A www.shilei.com

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-21.P2.el5 <<>> -t A www.shilei.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4493
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

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

;; ANSWER SECTION:
www.shilei.com.         600     IN      A       192.168.1.1
www.shilei.com.         600     IN      A       192.168.1.3

;; AUTHORITY SECTION:
shilei.com.             600     IN      NS      ns.shilei.com.

;; ADDITIONAL SECTION:
ns.shilei.com.          600     IN      A       192.168.1.201

;; Query time: 7 msec
;; SERVER: 192.168.1.201#53(192.168.1.201)
;; WHEN: Thu Oct  2 07:39:34 2014
;; MSG SIZE  rcvd: 97

 

[root@localhost named]# dig -x 192.168.1.3

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-21.P2.el5 <<>> -x 192.168.1.3
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14233
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

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

;; ANSWER SECTION:
3.1.168.192.in-addr.arpa. 600   IN      PTR     www.shilei.com.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa. 600     IN      NS      ns.shilei.com.

;; ADDITIONAL SECTION:
ns.shilei.com.          600     IN      A       192.168.1.201

;; Query time: 8 msec
;; SERVER: 192.168.1.201#53(192.168.1.201)
;; WHEN: Thu Oct  2 07:40:10 2014
;; MSG SIZE  rcvd: 103


或者在windows中nslookup

>nslookup

server 192.168.1.201

set q=A

www.shilei.com    

mail.shilei.com    

set q=PTR

192.168.1.2


配置DNS从服务器

yum install bind97 bind97-utils bind97-libs

vim /etc/named.conf  

options {
        directory "/var/named";
};

zone "." in {
        type hint;
        file "named.ca";
};

zone "shilei.com" in {
        type slave;

        masters {  192.168.1.XXX; };
        file "slaves/shilei.com.zone";
};

zone "1.168.192.in-addr.arpa" in {
        type slave;

        masters { 192.168.1.XXX; };
        file "slaves/1.168.192.zone";
};


rndc:DNS远程管理工具

rndc-confgen > /etc/rndc.conf

vim /etc/rndc.conf

把如下文件去掉#,追加保存到/etc/named.conf

# key "rndc-key" {
#       algorithm hmac-md5;
#       secret "zxQHnUE4pBuZkytashXxlQ==";
# };
#
# controls {
#       inet 127.0.0.1 port 953
#               allow { 127.0.0.1; } keys { "rndc-key"; };
# };

rm -rf /etc/rndc.key

service named restart

测试

rndc -c /etc/rndc.conf status

如要实现远程访问,需修改/etc/named.conf

controls {
        inet 192.168.1.201 port 953
                allow { 192.168.1.114; } keys { "rndc-key"; };
};

#其中201是监控的服务器地址和端口

#114是允许远程管理的地址

然后把named.conf拷贝到114的主机即可


DNS视图

view VIEW_NAME {

};

所有的区域必须都定义在视图中

zone "." in {

};


vim /etc/named.conf

view  telecom {

        match-clients { IP }    #使用本IP
        zone "shilei.com" in {
                type master;
                file "telecom.shilei.com.zone";
        };
};

view unicom {

        match-clients { IP }    #使用本IP

        zone "shilei.com" in {
                type master;
                file "unicom.shilei.com.zone";
        };
};


DNS日志系统

主配置文件中加入:

query_log yes;    #允许记录日志

    可以在/var/log/message中查看

catagory:日志源

    查询或区域传送

可以通过catagory自定义日志来源

channel:日志记录/保存位置

    保存位置:syslog

                    file:自定义保存日志信息的文件

logging {
        channel querylog {
                file "/var/log/named/bind_query.log" versions 5 size 10;
                severity dynamic;
                print-category yes;
                print-time yes;
                print-severity yes;
        };

        channel xfer_log {
                file "/var/log/named/transfer.log" versions 5 size 10k;
                severity debug 3;
                print-time yes;

        };

      

        category queries { querylog; };    #查询日志

        category xfer-out { xfer_log; };    #传输日志       

};


queryperf:对DNS服务器 压力测试








   


        

你可能感兴趣的:(dns,SOA,domian,NS)