Linux服务器篇------DNS(1)

概述:
DNS工作在OSI七层参考模型中的应用层,监听在TCP/UDP的53端口,全球一共有13个根节点DNS服务器。由于对于当前的IPv4对人们而言就很难记忆,而IPv6正在迅速的蔓延,所以DNS是Internet的一项核心服务;DNS的工作采用的是分层结构,不用的DNS服务器负责着不同的域,而整个域名空间的层次结构类似一个倒置的树,在域名层次结构中,每一层称作为一个域,每一个域都有一个域名,域又可以进一步划分成子域,最高层是根,最底层是主机。

查询分类:
递归查询:发起一次请求就可以得到结果。
迭代查询:发起n次请求后才可以得到结果。
DNS查询内容分为:

正向查询:IP-->FQDN
反向查询:FQDN-->IP

解析流程:
Client:缓存-->hosts-->dns
Server:1.如果查询请求是本机所负责区域中的数据的话,要通过查询区域数据文件返回结果。
    2.如果查询请求不是本机所负责的区域中的数据的话,就查询缓存。
    3.如果缓存中没有答案,则向根发起查询请求。

DNS服务器类型:
主DNS---master
辅助DNS---slave
转发器---forward
缓存服务器

DNS资源记录类型:
SOA:起始授权记录,在一个区域内必须是唯一的,定义了区域的全局参数
NS:名称服务器(name server),记录某个区域的授权服务器
●MX:邮件交换器(mail exchanger)
CNAME:别名记录,也被成为规范名字
A:正向查找记录
PTR:反向查找记录

特征:
安装包为:bind.i386
运行的进程:named
服务的协议类型:dns
配置文件:/etc/named.conf
区域文件(工作目录):/var/named/
注:全局配置文件和工作目录中的区域配置文件的属组全部应该是"named"

全局配置文件书写格式:/etc/named.conf
options {                             ###options 用于指定BIND服务参数
    directory "/var/named";             ###指定其工作目为"/var/named"
};

zone "." IN {                            ###定义BIND所管辖的区域
    type hint;                            ###类型为hint,只有根的类型为hint
    file "named.ca";                     ###指定区域配置文件名,此处的"named.ca"为固定写法,这里的路径都是相对路径,相对于options块中的directory
};

zone "localhost" IN {                   ###定义localhost区域
    type master;                         ###类型为master
    file "localhost.zone;               ###区域文件名。redhat中通常将其命名为localhost.zone
};

zone "0.0.127.in-addr-arpa" IN {       ###定义反向区域,将IP地址的所在的网段倒置写,其中".in-addr-arpa"是固定写法
    type master;                         ###类型为master
    file "named.local";                ###区域文件名。redhat中通常将其命名为named.local
};

注:在全局配置文件中,除了花括号的左边,其他的新行全部都要使用分号";"结尾

区域配置文件的书写格式:
在BIND中定义资源记录的基本格式如下:
[名称] [TTL] [网络类型] 资源记录类型 数据
名称:指资源记录引用的对象名,可以是主机也可以是域名,对象名可以是相对名称或完整名称,安正名称必须使用"."结束。如果连续的资源记录是同一个对象名,则第一条资源记录后的资源记录可以省略对象名。
TTL:指定资源记录存放在告诉缓存中的时间。
网络类型:指网络类型,通常为"IN"
资源类型:说明资源记录的类型,通常有"SOA NS MX CNAME A PTR",一般SOA记录应为整个区域文件的第一行,NS记录第二行,其他记录可任意排列。
SOA:
区域名称  记录类型  SOA  主域名服务器  管理员邮件地址  (序列号 刷新间隔 重试间隔 过期间隔 TTL)
序列号:最多为十位,一般用时间+版本号
刷新时间:指辅助服务器请求主服务器同步的等待时间
重试时间:辅助服务器在请求失败后等待多长时间重试
过期时间:当这个时间到期后,辅助服务器还无法于主服务器进行区域传输,则辅助服务器会把它的本地数据当作不可靠数据
TTL:区域的默认生存时间和缓存是否应答名称查询的最大间隔
●NS:NS后面一定有要跟上一个A记录
区域名称  TTL  IN  NS  FQDN

●MX:只出现在正向查找区域文件中,后面也要跟上一个A记录
区域名  TTL  IN  MX  优先级(0-99)  邮件服务器的A记录

●CNAME:
别名  TTL  IN  CNAME  对应A记录

●A:
FQDN  TTL  IN  A  IP地址

●PTR:
IP地址  TTL  IN  PTR  FQDN

编辑全局配置文件:/etc/named.conf

  
  
  
  
  1. options { 
  2.         directory "/var/named"
  3. }; 
  4.  
  5. zone "." IN { 
  6.         type hint; 
  7.         file "named.ca"
  8. }; 
  9.  
  10. zone "localhost" IN { 
  11.         type master; 
  12.         file "localhost.zone"
  13. }; 
  14.  
  15. zone "0.0.127.in-addr.arpa" IN { 
  16.         type master; 
  17.         file "named.local"
  18. }; 
  19.  
  20. zone "magedu.com" IN { 
  21.         type master; 
  22.         file "magedu.com.zone"
  23. }; 
  24.  
  25. zone "16.172.in-addr.arpa" IN { 
  26.         type master; 
  27.         file "172.16.zone"
  28. }; 

编辑对应的区域文件"/var/named/named.ca"

  
  
  
  
  1. ; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> -t NS . 
  2. ;; global options:  printcmd 
  3. ;; Got answer: 
  4. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52493 
  5. ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 8 
  6.  
  7. ;; QUESTION SECTION
  8. ;.                              IN      NS 
  9.  
  10. ;; ANSWER SECTION
  11. .                       515139  IN      NS      g.root-servers.net. 
  12. .                       515139  IN      NS      h.root-servers.net. 
  13. .                       515139  IN      NS      i.root-servers.net. 
  14. .                       515139  IN      NS      j.root-servers.net. 
  15. .                       515139  IN      NS      k.root-servers.net. 
  16. .                       515139  IN      NS      l.root-servers.net. 
  17. .                       515139  IN      NS      m.root-servers.net. 
  18. .                       515139  IN      NS      a.root-servers.net. 
  19. .                       515139  IN      NS      b.root-servers.net. 
  20. .                       515139  IN      NS      c.root-servers.net. 
  21. .                       515139  IN      NS      d.root-servers.net. 
  22. .                       515139  IN      NS      e.root-servers.net. 
  23. .                       515139  IN      NS      f.root-servers.net. 
  24.  
  25. ;; ADDITIONAL SECTION
  26. a.root-servers.net.     603239  IN      A       198.41.0.4 
  27. a.root-servers.net.     603239  IN      AAAA    2001:503:ba3e::2:30 
  28. b.root-servers.net.     603240  IN      A       192.228.79.201 
  29. e.root-servers.net.     603220  IN      A       192.203.230.10 
  30. f.root-servers.net.     603220  IN      A       192.5.5.241 
  31. f.root-servers.net.     603220  IN      AAAA    2001:500:2f::f 
  32. m.root-servers.net.     603244  IN      A       202.12.27.33 
  33. m.root-servers.net.     603244  IN      AAAA    2001:dc3::35 

也可已使用命令:

#dig -t NS . > /var/named/named.ca

编辑对应的正向解析区域文件"/var/named/localhost.zone"

  
  
  
  
  1. $TTL 600 
  2. @               IN      SOA     localhost.      admin.localhost. ( 
  3.                                 2012030601 
  4.                                 20M 
  5.                                 5M 
  6.                                 5D 
  7.                                 1D ) 
  8. localhost.              IN      NS      localhost. 
  9. localhost.              IN      A       127.0.0.1 

编辑对应的反向解析区域文件"/var/named/named.local"

  
  
  
  
  1. $TTL 600 
  2. @               IN      SOA     localhost.      admin.localhost. ( 
  3.                                 2012030601 
  4.                                 20M 
  5.                                 5M 
  6.                                 5D 
  7.                                 1D ) 
  8. @                       IN      NS      localhost. 
  9. 1                       IN      PTR     localhost. 

编辑对应的正向解析区域文件"/var/named/magedu.com.zone"

  
  
  
  
  1. $TTL 600 
  2. $ORIGIN magedu.com. 
  3. @               IN      SOA     dns.magedu.com. admin.magedu.com. ( 
  4.                                 2012030701 
  5.                                 20M 
  6.                                 5m 
  7.                                 5D 
  8.                                 1D ) 
  9.                 IN      NS      dns 
  10.                 IN      NS      ns 
  11. mail            IN      MX  10  mail 
  12. dns             IN      A       172.16.100.1 
  13. ns              IN      A       172.16.100.1 
  14. mail            IN      A       172.16.0.1 

编辑对应的反向解析区域文件"/var/named/172.16.zone"

  
  
  
  
  1. $TTL 600 
  2. @               IN      SOA     dns.magedu.com. admin.magedu.com. ( 
  3.                                 2012030701 
  4.                                 20M 
  5.                                 5m 
  6.                                 5D 
  7.                                 1D ) 
  8.                 IN      NS      dns 
  9.                 IN      NS      ns 
  10. 1.100           IN      PTR     dns.magedu.com 
  11. 1.100           IN      PTR     ns.magedu.com 
  12. 0.1             IN      PTR     mail.magedu.com 

到此记得将这些文件的属组修改为named,之后DNS的初始配置就完成了!

#chown :named /var/named/*

 

 

 

 

 

你可能感兴趣的:(linux,职场,休闲,应用层,named)