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/*








本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/798875,如需转载请自行联系原作者
目录
相关文章
|
15天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
16天前
|
Linux 编译器 开发者
Linux设备树解析:桥接硬件与操作系统的关键架构
在探索Linux的庞大和复杂世界时🌌,我们经常会遇到许多关键概念和工具🛠️,它们使得Linux成为了一个强大和灵活的操作系统💪。其中,"设备树"(Device Tree)是一个不可或缺的部分🌲,尤其是在嵌入式系统🖥️和多平台硬件支持方面🔌。让我们深入了解Linux设备树是什么,它的起源,以及为什么Linux需要它🌳。
Linux设备树解析:桥接硬件与操作系统的关键架构
|
18天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 &lt;&lt;EOF binary put file.txt quit EOF ```
28 4
|
1天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
29 2
|
5天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
11天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1234 8
|
12天前
|
算法 Linux 调度
深度解析:Linux内核的进程调度机制
【4月更文挑战第12天】 在多任务操作系统如Linux中,进程调度机制是系统的核心组成部分之一,它决定了处理器资源如何分配给多个竞争的进程。本文深入探讨了Linux内核中的进程调度策略和相关算法,包括其设计哲学、实现原理及对系统性能的影响。通过分析进程调度器的工作原理,我们能够理解操作系统如何平衡效率、公平性和响应性,进而优化系统表现和用户体验。
20 3
|
19天前
|
监控 负载均衡 网络协议
DNS服务器的搭建之初体验
通过这些步骤,你可以在初次搭建DNS服务器时获得基本的体验,了解如何为域名提供解析服务,促进网络的正常运行。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
37 7
|
19天前
|
负载均衡 算法 Linux
深度解析:Linux内核调度器的演变与优化策略
【4月更文挑战第5天】 在本文中,我们将深入探讨Linux操作系统的核心组成部分——内核调度器。文章将首先回顾Linux内核调度器的发展历程,从早期的简单轮转调度(Round Robin)到现代的完全公平调度器(Completely Fair Scheduler, CFS)。接着,分析当前CFS面临的挑战以及社区提出的各种优化方案,最后提出未来可能的发展趋势和研究方向。通过本文,读者将对Linux调度器的原理、实现及其优化有一个全面的认识。
|
21天前
|
存储 缓存 监控
深入解析linux内存指标:快速定位系统内存问题的有效技巧与实用方法(free、top、ps、vmstat、cachestat、cachetop、sar、swap、动态内存、cgroops、oom)
深入解析linux内存指标:快速定位系统内存问题的有效技巧与实用方法(free、top、ps、vmstat、cachestat、cachetop、sar、swap、动态内存、cgroops、oom)

相关产品

  • 云解析DNS