Linux学习笔记<二十六>――DNS服务器

DNS(Domain Name System 域名系统):提供Internet上域名到IP地址的映射

域名:又叫主机名,FQDN(Full Qualified Domain Name完全限定域名)

基本信息:

    Linux中通常使用bind服务来提供DNS服务器

    应用层协议

    基于UDP53端口号:用于查询

    基于TCP53端口号:用于主从服务器同步数据

    基于TCP953端口号:rndc用于远程控制DNS服务器


解析方式:

    正向:FQDN <--> IP

    反向:IP <-->FQDN


解析顺序:

    本地DNS缓存-->/etc/hosts文件-->DNS服务器


查询方式:

递归查询:本地DNS服务器只发出一次请求

迭代查询:本地DNS服务器发出多次请求

    解析过程通常是两段式的,从本地主机到本地DNS服务器采用递归查询,本地DNS服务器向外查      询采用迭代查询


DNS服务器的类型:

    主DNS服务器:负责维护指定区域的域名信息

    辅助DNS服务器:实时向主DNS服务器同步数据,备用服务器

    缓存DNS服务器:没有域名数据库,只负责缓存查询结果下次可直接使用

    转发DNS服务器:接到查询请求时先在缓存中查找,如查不到就把请求转发给指定的DNS服务器


主从同步数据时,区域传送的类型

完全区域传送:axfr

增量区域传送:ixfr


bind97组成:

/etc/named.conf

named进程的工作属性

区域的定义

/etc/rndc.key

rndc:Remote Name Domain Controller

密钥文件

配置信息:/etc/rndc.conf


/var/named/

区域数据文件


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

{start|stop|restart|status|reload}

/usr/sbin/named:二进制文件


常用命令:

    named-checkconf:检测配置/etc/named.conf是否存在语法错误


    named-checkzone "ZONE_NAME" /path/to/zone_data_file

[root@localhost ~]# named-checkzone "cqy.com" /var/named/cqy.com.zone 
zone cqy.com/IN: fin.cqy.com/NS 'ns1.fin.cqy.com' (out of zone) has no addresses records (A or AAAA)
zone cqy.com/IN: market.cqy.com/NS 'ns1.marknet.cqy.com' has no address records (A or AAAA)
zone cqy.com/IN: loaded serial 2015081901
OK


    dig:Domain Information Gropher

    +[no]recurse:是否使用递归查询

    +[no]trace:跟踪显示整个查询过程


    dig -t ZONE_TYPE NAME @IP:向指定IP查NAME对应的ZONE_TYPE记录,@IP可省,省略是向设置                        的DNS服务器查

        -t axfr:完全区域传送,显示所有的数据条目

        -t IXFR=serial number:serial number之后发生改变的条目

[root@localhost ~]# dig -t NS  cqy.com

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t NS cqy.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21531
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
cqy.com.		43200	IN	NS	ns1.cqy.com.

;; ADDITIONAL SECTION:
ns1.cqy.com.		43200	IN	A	192.168.0.150

;; Query time: 2 msec
;; SERVER: 192.168.0.150#53(192.168.0.150)
;; WHEN: Thu Aug 20 02:16:37 2015
;; MSG SIZE  rcvd: 59
[root@localhost ~]# dig -t A www.baidu.com @192.168.0.1

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t A www.baidu.com @192.168.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17896
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

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

;; ANSWER SECTION:
www.baidu.com.		648	IN	CNAME	www.a.shifen.com.
www.a.shifen.com.	600	IN	A	180.97.33.108
www.a.shifen.com.	600	IN	A	180.97.33.107

;; Query time: 33 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Aug 20 02:17:53 2015
;; MSG SIZE  rcvd: 90


    dig -x IP:反向查询,根据IP查FQDN


    host -t RT NAME:查询某个对应名称的解析结果

[root@localhost ~]# host -t NS cqy.com
cqy.com name server ns1.cqy.com.
[root@localhost ~]# host -t A www.cqy.com
www.cqy.com has address 192.168.0.151


    nslookup:交互式

    nslookup>

    server IP

    set q=RT

    NAME 

[root@localhost ~]# nslookup
> exit

[root@localhost ~]# nslookup
> server 192.168.0.150
Default server: 192.168.0.150
Address: 192.168.0.150#53
> set q=A
> www.cqy.com
Server:		192.168.0.150
Address:	192.168.0.150#53

Name:	www.cqy.com
Address: 192.168.0.151


DNS相关的配置文件

/etc/resolv.conf:配置DNS服务器,声明主机域名

格式:

domain DOMAIN_NAME:定义主机域名

serach DOMAIN1 MOMAIN2 ...:定义域名的搜索列表

nameserver IPADDR:定义DNS服务器的IP地址

[root@localhost ~]# cat /etc/resolv.conf 
search localdomain
nameserver 192.168.0.1


/etc/hosts:定义本地DNS解析列表

格式:

IPADDR    FQDN    Aliases

192.168.0.150    www.cqy.com    www

[root@localhost ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1		localhost.localdomain localhost
::1		localhost6.localdomain6 localhost6

 

/etc/named.conf:定义named进程的工作属性,定义区域

option格式

option {

    OPTIONS1;

    OPTIONS2;

    ...

};

常见的option选项

    directory "path/to/directory";:定义工作目录


    recursion {yes|no};:定义是否递归查询


    allow-query { 网段|IP地址|主机名;... };:定义可以进行查询的列表


    allow-transefer { 网段|IP地址|主机名;... }; 定义可以进行区域传送的列表

        none;:表示禁止所有

        any;:表示允许所有


    notify yes;:更改后通知从服务器更新


forward {only|first}; 选择转发机制,only只转发,first先转发,没结果再转发给根


querylog yes;: 开启日志记录查询结果,日志保存在/var/log/message


zone格式

zone "ZONE NAME" IN {

type {master|slave|hint|forward};

    file "path/to/zone_data_file";:工作目录下区域数据文件的路径

    OPTIONS1;

    ...

};

区域类型:

主区域:master

从区域:slave

提示区域:hint,定义根在什么地方

转发区域:forward


logging格式

logging {

    channel CHANNEL_NAME {

        OPTIONS1;

        OPTIONS2;

        ...

    };

    category queries { CHANNEL_NAME; };

    

    channel...

    ...

};


acl格式:acl用于定义多个网段或IP地址或主机

acl ACL_NAME {

    网段1;

    网段2;

    IP地址3;

    ...

};


view格式:使用view时必须把所有zone包含在view内

view VIEW_NAME {

    match-clients { acl|网段|IP地址|主机; };

    zone...

    ...

};


/var/named/下的区域数据文件

区域数据文件中资源记录RR的格式

可全局定义$TTL 600;

NAME    [TTL]    IN    RRT(资源记录类型)    VALUE


RRT资源记录类型:

SOA(Start Of Authority):必须是RR中的第一条,标明如何完成数据同步

ZONENAME    TTL    IN    SOA    FQDN    ADMINISTRATOR_MAILBOX(

                    serial number

                    refresh

                    retry

                    expire

                    na ttl )

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

邮箱格式:admin.cqy.com

cqy.com.    600    IN    SOA    ns1.cqy.com   admin.cqy.com. 20150819 1H 5M 1W 1D

cqy.com.    600    IN    SOA    ns1.cqy.com   admin.cqy.com.(

                          20150819 

                          1H 

                          5M 

                          1W 

                          1D )


NS(Name Server):ZONE_NAME-->FQDN

cqy.com.    600    IN    NS    ns1.cqy.com.

ns1.cqy.com. 600    IN    A     1.1.1.2

cqy.com.    600    IN    NS    ns2.cqy.com.

ns2.cqy.com. 600    IN    A     1.1.1.5


MX(Mail eXchanger):ZONE_NAME-->FQDN

ZONE NAME    TTL    IN    MX    pri VALUE

cqy.com.    600    IN    MX    10 mail.cqy.com.

mail.cqy.com. 600   IN    A     1.1.1.3

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

A(address):FQDN-->IPv4 只能定义在正向区域数据文件

ns1.cqy.com.    600    IN    A    1.1.1.2

ns2.cqy.com.    600    IN    A    1.1.1.5


PTR(pointer):IP-->FQDN只能定义在反向区域数据文件

150.0.168.192.in-addr.arpa.    IN    PTR    ns1.cqy.com


CNAME(canonical NAME正式名称):FQDN-->FQDN  

www2.cqy.com. IN    CNAME    www.cqy.com


其他类型

AAAA:FQDN-->IPv6

TXT

CHAOS

SRV



  

你可能感兴趣的:(dns,dig,Linux学习,bind97)