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,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
|
3月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
4月前
|
网络协议
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
|
5月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
953 21
|
4月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
526 13
|
4月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
1324 0
|
4月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
391 0
|
6月前
|
存储 安全 Ubuntu
从Linux到Windows:阿里云服务器系统镜像适配场景与选择参考
阿里云为用户提供了丰富多样的服务器操作系统选择,以满足不同场景下的应用需求。目前,云服务器的操作系统镜像主要分为公共镜像、自定义镜像、共享镜像、镜像市场和社区镜像五大类。以下是对这些镜像类型的详细介绍及选择云服务器系统时需要考虑的因素,以供参考。
|
5月前
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
271 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤
|
6月前
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。

相关产品

  • 云解析DNS