DNS服务器原理及搭建详解
搭建DNS服务器实现域名解析

搭建DNS服务器实现域名解析学习服务的方法:了解服务的作用:名称,功能,特点安装服务配置文件的位置,端口服务开启和关闭的脚本修改配置文件(实战举例)排错(从上到下,从内到外)----------------------------------------大纲:DNS服务器常见概念DNS服务器安装及相关配置实战:配置DNS服务器解析实战:使用DNS支持递归查询.实战:搭建DNS转发服务器实战:搭建DNS主从服务器实战:zone文件中的其它记录信息. 通过DNS做负载均衡实战:DNS主从密钥认证测试工具:nslookup dig----------------------------------------DNS服务器常见概念DNS服务概述:DNS(Domain Name System--域名系统),在TCP /IP 网络中有着非常重要的地位,能够提供域名和IP 地址的解析服务.DNS是一个分布式数据库,命名系统采用层次的逻辑结构,如同一颗倒置的树,这个逻辑的树形结构称为域名空间,由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息.注:DNS域名空间中,树的最大深度不得超过127层,树中每个节点最长可以存储63个字符.一些名词的解释:1. 域和域名DNS树的每个节点代表一个域.通过这些节点,对整个域名空间进行划分,成为一个层次结构.域名空间的每个域的名字,通过域名进行表示.域名:通常由一个完全合格域名(FQDN)标识.FQD N能准确表示出其相对于DNS 域树根的位置,也就是节点到DNS 树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用“.”分隔,对于DNS 域google 来说,其完全正式域名(FQDN)为google.c om.例如,google为com域的子域,其表示方法为goo ,而www为google域中的子域,可以使用表示.注意:通常,FQDN 有严格的命名限制,长度不能超过256 字节,只允许使用字符a-z,0-9,A-Z和减号(-).点号(.)只允许在域名标志之间(例如“google.co m”)或者FQDN 的结尾使用.域名不区分大小.由最顶层到下层,可以分成:根域、顶级域、二级域、子域.Internet 域名空间的最顶层是根域(root),其记录着Internet 的重要DNS 信息,由Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配给连接到Internet 的各个组织.“.”全球有13个根(root)服务器DNS 根域下面是顶级域,也由Internet 域名注册授权机构管理.共有3 种类型的顶级域.组织域:采用3 个字符的代号,表示DNS 域中所包含的组织的主要功能或活动.比如com 为商业机构组织,edu 为教育机构组织,gov 为政府机构组织,mi l 为军事机构组织,net 为网络机构组织,org 为非营利机构组织,int 为国际机构组织.地址域:采用两个字符的国家或地区代号.如cn 为中国,kr 为韩国,us 为美国.反向域:这是个特殊域,名字为in-addr.arpa,用于将IP 地址映射到名字(反向查询).对于顶级域的下级域,Internet 域名注册授权机构授权给Internet 的各种组织.当一个组织获得了对域名空间某一部分的授权后,该组织就负责命名所分配的域及其子域,包括域中的计算机和其他设备,并管理分配域中主机名与IP 地址的映射信息.2、区(Zone)区是DNS 名称空间的一部分,其包含了一组存储在DNS 服务器上的资源记录.使用区的概念,DNS 服务器回答关于自己区中主机的查询,每个区都有自己的授权服务器.3、主域名服务器与辅助域名服务器当区的辅助服务器启动时,它与该区的主控服务器进行连接并启动一次区传输,区辅助服务器定期与区主控服务器通信,查看区数据是否改变.如果改变了,它就启动一次数据更新传输.每个区必须有主服务器,另外每个区至少要有一台辅助服务器,否则如果该区的主服务器崩溃了,就无法解析该区的名称.辅助服务器的优点:1)容错能力配置辅助服务器后,在该区主服务器崩溃的情况下,客户机仍能解析该区的名称.一般把区的主服务器和区的辅助服务器安装在不同子网上,这样如果到一个子网的连接中断,DNS 客户机还能直接查询另一个子网上的名称服务器.2)减少广域链路的通信量如果某个区在远程有大量客户机,用户就可以在远程添加该区的辅助服务器,并把远程的客户机配置成先查询这些服务器,这样就能防止远程客户机通过慢速链路通信来进行DNS 查询.3)减轻主服务器的负载辅助服务器能回答该区的查询,从而减少该区主服务器必须回答的查询数.4、DNS 相关概念(1)DNS 服务器运行DNS 服务器程序的计算机,储存DNS 数据库信息.DNS 服务器会尝试解析客户机的查询请求.在解答查询时,如果DNS 服务器能提供所请求的信息,就直接回应解析结果,如果该DNS 服务器没有相应的域名信息,则为客户机提供另一个能帮助解析查询的服务器地址,如果以上两种方法均失败,则回应客户机没有所请求的信息或请求的信息不存在.(2)DNS 缓存DNS 服务器在解析客户机请求时,如果本地没有该D NS 信息,则可以会询问其他DNS 服务器,当其他域名服务器返回查询结果时,该DNS 服务器会将结果记录在本地的缓存中,成为DNS 缓存.当下一次客户机提交相同请求时,DNS 服务器能够直接使用缓存中的DNS 信息进行解析.2)DNS查询过程:看一个DNS查询过程:通过8个步骤的解析过程就使得客户端可以顺利访问 这个域名,但实际应用中,通常这个过程是非常迅速的<1> 客户机提交域名解析请求,并将该请求发送给本地的域名服务器.<2> 当本地的域名服务器收到请求后,就先查询本地的缓存.如果有查询的DNS 信息记录,则直接返回查询的结果.如果没有该记录,本地域名服务器就把请求发给根域名服务器.<3> 根域名服务器再返回给本地域名服务器一个所查询域的顶级域名服务器的地址.<4> 本地服务器再向返回的域名服务器发送请求.<5> 接收到该查询请求的域名服务器查询其缓存和记录,如果有相关信息则返回客户机查询结果,否则通知客户机下级的域名服务器的地址.<6> 本地域名服务器将查询请求发送给返回的DN S 服务器.<7> 域名服务器返回本地服务器查询结果(如果该域名服务器不包含查询的DNS 信息,查询过程将重复<6>、<7>步骤,直到返回解析信息或解析失败的回应).<8> 本地域名服务器将返回的结果保存到缓存,并且将结果返回给客户机.5、两种查询方式:(1)递归查询递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机.如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机.(2)迭代查询DNS 服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果为止.6、正向解析与反向解析1)正向解析正向解析是指域名到IP 地址的解析过程.2)反向解析反向解析是从IP 地址到域名的解析过程.反向解析的作用为服务器的身份验证./#一个反向解析服务器7、DNS资源记录1)SOA 资源记录(全区唯一)每个区在区的开始处都包含了一个起始授权记录(St art of Authority Record),简称SOA 记录. SOA 定义了域的全局参数,进行整个域的管理设置.一个区域文件只允许存在唯一的SOA 记录.2)NS 资源记录NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析.每个区在区根处至少包含一个NS 记录.3)A 资源记录地址(A)资源记录把FQDN 映射到IP 地址. 因为有此记录,所以DNS服务器能解析FQDN域名对应的IP 地址.4)PTR 资源记录相对于A 资源记录,指针(PTR)记录把IP地址映射到FQDN. 用于反向查询,通过IP地址,找到域名. 5)CNAME 资源记录别名记录(CNAME)资源记录创建特定FQDN 的别名.用户可以使用CNAME 记录来隐藏用户网络的实现细节,使连接的客户机无法知道真正的域名.例:ping百度时,解析到了百度的别名服务器.百度有个cname=.的别名6)MX 资源记录邮件交换(MX)资源记录,为DNS 域名指定邮件交换服务器.邮件交换服务器是为DNS 域名处理或转发邮件的主机.处理邮件指把邮件投递到目的地或转交另一不同类型的邮件传送者.转发邮件指把邮件发送到最终目的服务器,用简单邮件传输协议SMTP 把邮件发送给离最终目的地最近的邮件交换服务器,或使邮件经过一定时间的排队.以上是相关概念.模式: C/S 模式DNS服务器的安装及相关配置:DNS服务器的安装:BIND 简介:全称为Berkeley Internet Name Do main(伯克利因特网名称域系统).BIND 主要有三个版本:BIND4、BIND8、BIND9.BIND8 融合了许多提高效率、稳定性和安全性的技术,而BIND9 增加了一些超前的理念:IPv6支持、密钥加密、多处理器支持、线程安全操作、增量区传送等等.yum -y install bind bind-chroot bind-uti lsbind ---> #该包为DNS服务的主程序包bind-chroot ---> #该包提高安全性# bind-chroot是bind的一个功能包,使bind可以在一个chroot的模式下运行.# 也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,# 只是系统中的一个子目录.这样做的目的是为了提高安全性.# 因为在chroot模式下,bind只可以方位这个子目录的范围.# 而不能进入这个子目录外其他的地方.bind-utils ---> #该包为客户端工具,默认安装,用于搜索余名指令DNS服务器的使用:/etc/init.d/named <start | restart | st op | status >或service named <start | restart | stop | status >#<start 启动| restart 重启| stop 停止| sta tus 状态>chkconfig add named #添加named开机启动项chkconfig named on #设置named开机自启动chkconfig --list named #查看named开机启动状态DNS服务器监听端口:vim /etc/servicesPORT: udp/tcp 53 ---> 客户端查询PORT: udp/tcp 953 ---> 主从服务器同步DNS服务器配置文件:rpm -ql bind/etc/named.conf ---> 核心配置文件没有安装bind-chroot情况下,可以备份配置文件后,直接修改/etc/name.conf.(推荐)安装了bind-chroot情况下,直接运行/etc/init.d/named start后,执行mount命令,在对/var/named/chroot /etc/named.conf进行修改----------------- start and mount log -------------------[root@xiaogan120 ~]# /etc/init.d/named st artGenerating /etc/rndc.key: [ OK ]Starting named: [ OK ] [root@xiaogan120 ~]# mount/dev/sda2 on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5, mode=620)tmpfs on /dev/shm type tmpfs (rw)/dev/sda1 on /boot type ext4 (rw)/dev/sda5 on /var type ext4 (rw)/dev/sr0 on /mnt type iso9660 (ro)none on /proc/sys/fs/binfmt_misc typ e binfmt_misc (rw)/etc/named on /var/named/chroot/etc /named type none (rw,bind)/var/named on /var/named/chroot/va r/named type none (rw,bind)/etc/named.conf on /var/named/chroo t/etc/named.conf type none (rw,bind) /etc/named.rfc1912.zones on /var/na med/chroot/etc/named.rfc1912.zones t ype none (rw,bind)/etc/rndc.key on /var/named/chroot/e tc/rndc.key type none (rw,bind)/usr/lib64/bind on /var/named/chroot /usr/lib64/bind type none (rw,bind)/etc/named.iscdlv.key on /var/named/ chroot/etc/named.iscdlv.key type none (rw,bind)/etc/named.root.key on /var/named/c hroot/etc/named.root.key type none (r w,bind)[root@xiaogan120 ~]#---------------------- END ------------------------配置文件详解:vim /var/named/chroot/etc/named.co nf#启动服务后,尽量使用这个路径.options :对全局生效,定义了监听地址和端口,目录,临时目录,状态目录等配置信息logging : 日志信息zone : 针对某个区域生效重点说一下type参数:type 字段指定区域的类型,对于区域的管理至关重要,一共分为六种:1. Master:主DNS 服务器:拥有区域数据文件,并对此区域提供管理数据2. Slave:辅助DNS 服务器:拥有主DNS 服务器的区域数据文件的副本,辅助DNS 服务器会从主DNS服务器同步所有区域数据.3. Stub:stub 区域和slave 类似,但其只复制主DNS 服务器上的NS 记录而不像辅助DNS 服务器会复制所有区域数据.4. Forward:一个forward zone 是每个域的配置转发的主要部分.一个zone 语句中的type forward可以包括一个forward 和/或forwarders 子句,它会在区域名称给定的域中查询.如果没有forwarders 语句或者f orwarders 是空表,那么这个域就不会有转发,消除了options 语句中有关转发的配置.5. Hint:根域名服务器的初始化组指定使用线索区域hint zone,当服务器启动时,它使用根线索来查找根域名服务器,并找到最近的根域名服务器列表.----------------- /var/named/chroot/etc/name d.conf -------------------//// named.conf//// Provided by Red Hat bind package to co nfigure the ISC BIND named(8) DNS// server as a caching only nameserver (as a localhost DNS resolver only).//// See /usr/share/doc/bind*/sample/ for ex ample named configuration files.// 在/usr/share/doc/bind*/sample/ 文件夹中可查卡named配置案例options {listen-on port 53 { any; }; #监听地址,和端口IPV4listen-on-v6 port 53 { any; }; #监听地址,和端口IPV6directory "/var/named"; #工作目录dump-file "/var/named/data/cache_dump.db "; #数据存放目录statistics-file "/var/named/data/named_st ats.txt";#数据存放目录memstatistics-file "/var/named/data/named_ mem_stats.txt";#数据存放目录allow-query { any; }; #允许解析的IP地址recursion yes; # 开启递归查询dnssec-enable yes; #开启加密dnssec-validation yes; #在递归查询服务器上开启DNSSEC验证/* Path to ISC DLV key */bindkeys-file "/etc/named.iscdlv.key"; #isc dlv key 的地址managed-keys-directory "/var/named/dyna mic"; #key的保存目录};logging { #日志channel default_debug {file "data/named.run";severity dynamic;};};zone "." IN {type hint;file "named.ca";};include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";----------------- END -------------------实验手册:实验环境:Server: xiaogan64 ( CentOS6.8 ) IP: 192. 168.31.64 ( eth0 )Client: xiaogan63 ( CentOS6.8 ) IP: 192.1 68.31.63 ( eth0 )Client端:配置网卡选择vmnet6模式,ip地址192.168.64.6 3网关192.168.64.1(server eth1 IPAddr) Server端:配置eth0 选择桥接模式,IP 192.168.31.64配置eth1 选择vmnet6模式,IP 192.168.64.1安装DNS服务yum -y install bind bind-chroot bind-uti ls启动bind服务/etc/init.d/named startservice named start挂载文件系统mount添加开机启动项及相关设置chkconfig --list namedchkconfig add namedchkconfig named onchkconfig named off1. 实战:配置DNS服务器解析修改配置文件:vim /var/named/chroot/etc/named.conf 修改options如下:10 options {11 listen-on port 53 { any;}; # 监听任意IPV4地址53号端口12 listen-on-v6 port 53 { any;}; #IP V6 同上13 directory "/var/named";14 dump-file "/var/named/data/ca che_dump.db";15 statistics-file "/var/named/data/na med_stats.txt";16 memstatistics-file "/var/named/dat a/named_mem_stats.txt";17 allow-query { any; }; # 允许任何地址通过18 recursion yes; # 默认,支持递归查询1920 dnssec-enable yes;21 dnssec-validation yes;22 dnssec-lookaside auto;# 添加这一行23 /* Path to ISC DLV key */24 bindkeys-file "/etc/named.iscdlv.ke y";2526 managed-keys-directory "/var/nam ed/dynamic";27 };添加zone如下:41 zone "" IN { # 指定区域名为xi 42 type master; # 指定工作模式为主dn s服务器43 file ".zone"; # 指定配置文件为.zone44 };:wq保存退出!建立zone配置文件.zonecd /var/named/chroot/var/namedcp -a named.localhost .zone# 在拷贝配置文件的时候,尽量使用-a选项(拷贝所有属性)# 不然,有时候,你都不知道怎么回事,什么都对了,就是实验不成功我就是因为这个问题纠结了好几天# ls -l .zone# -rw-r----- 1 root named289 Oct 12 20: 56 /var/named/chroot/var/named/xiaogan.c n.zonevim .zone修改如下: 配置信息; # 注释信息1$TTL 1D# 设置有效地址解析记录的默认缓存时间,默认为1天也就是1D。
dns 解析原理

dns 解析原理DNS(Domain Name System)解析是互联网中的一项重要技术,它扮演着将域名转化为IP地址的关键角色。
本文将从DNS解析的原理、过程和作用三个方面进行介绍。
一、DNS解析的原理DNS解析的原理可以简单概括为域名到IP地址的映射关系。
在互联网中,每个设备都有一个唯一的IP地址来进行通信,但人们更习惯使用容易记忆的域名来访问网站。
DNS解析就是通过将域名转化为相应的IP地址,使得人们可以通过域名快速定位到目标设备。
DNS解析的原理基于分布式数据库和层级化的域名系统。
互联网上有许多DNS服务器,它们通过域名和IP地址的映射关系构成了一个庞大的分布式数据库。
当用户在浏览器中输入一个域名时,操作系统会先查询本地DNS缓存,如果缓存中没有相应的记录,则会向本地DNS服务器发起请求。
本地DNS服务器也会查询自己的缓存,如果没有找到则会向根DNS服务器发起请求。
根DNS服务器负责存储顶级域名服务器的信息,它会告诉本地DNS服务器所查询域名对应的顶级域名服务器地址。
本地DNS服务器再向顶级域名服务器发起请求,逐级向下,最终获得域名对应的IP地址,并将结果返回给用户。
二、DNS解析的过程DNS解析的过程可以分为递归查询和迭代查询两种方式。
1. 递归查询:本地DNS服务器会向根DNS服务器发起请求,并一直等待根DNS服务器返回结果。
根DNS服务器会根据请求的域名指示本地DNS服务器向哪个顶级域名服务器发起查询,本地DNS服务器再向顶级域名服务器发起请求,逐级向下直到获得结果。
2. 迭代查询:本地DNS服务器会向根DNS服务器发起请求,根DNS 服务器会返回一个指向顶级域名服务器的地址,然后本地DNS服务器再向顶级域名服务器发起请求,逐级向下直到获得结果。
与递归查询不同的是,本地DNS服务器不会一直等待结果返回,而是通过多次迭代查询最终获得结果。
三、DNS解析的作用DNS解析在互联网中起到了至关重要的作用。
DNS协议详解

DNS协议详解一、引言DNS(Domain Name System)是互联网中用于将域名转换为IP地址的协议。
它是分布式的命名系统,用于解析域名并提供域名与IP地址之间的映射关系。
本协议旨在详细介绍DNS协议的工作原理、消息格式、查询类型以及相关的扩展功能。
二、协议工作原理1. DNS层次结构:DNS采用层次结构的命名空间,由根域名服务器、顶级域名服务器、权威域名服务器和本地域名服务器组成。
根域名服务器负责管理顶级域名服务器的地址,顶级域名服务器负责管理权威域名服务器的地址,权威域名服务器则存储着具体域名与IP地址的映射关系。
2. DNS解析过程:当用户输入一个域名时,本地域名服务器首先查询本地缓存,如果缓存中不存在相应的映射关系,则向根域名服务器发起查询请求。
根域名服务器返回顶级域名服务器的地址,本地域名服务器再向顶级域名服务器发起查询,直到找到权威域名服务器并获取映射关系。
3. DNS消息格式:DNS消息由报头和查询/响应部分组成。
报头包含标识字段、标志字段、问题数、回答数、授权数和附加数等信息。
查询/响应部分包含查询类型、查询类别、资源记录等字段。
三、查询类型1. A记录:将域名映射为IPv4地址。
2. AAAA记录:将域名映射为IPv6地址。
3. CNAME记录:将域名映射为另一个域名。
4. MX记录:指定接收该域名邮件的邮件服务器。
5. NS记录:指定该域名的权威域名服务器。
6. PTR记录:用于反向解析,将IP地址映射为域名。
7. SOA记录:指定该域名的起始授权机构。
8. TXT记录:用于存储任意文本信息。
四、扩展功能1. DNSSEC:用于验证域名解析的安全性,通过数字签名确保域名解析结果的完整性和真实性。
2. EDNS:用于扩展DNS协议的功能,支持更大的报文长度、更多的查询类型和响应码。
3. DNS over HTTPS(DoH):将DNS流量加密并通过HTTPS传输,提高DNS解析的安全性和隐私性。
dns服务器的工作原理

dns服务器的工作原理
DNS服务器的工作原理是将域名映射到相应的IP地址。
当用
户在浏览器中输入一个网址时,浏览器会向本地DNS服务器
发送一个域名请求。
首先,本地DNS服务器会检查自己的缓存中是否有该域名对
应的IP地址记录。
如果有,就直接返回该IP地址给浏览器;
如果没有,则本地DNS服务器会向根DNS服务器发送域名请求。
根DNS服务器是全球分布的13个服务器之一,它包含了顶级域名(如.com、.org、.cn)的IP地址信息。
根DNS服务器收
到请求后,会根据请求的顶级域名信息,将请求转发到对应的顶级域名服务器。
顶级域名服务器负责管理特定域名的DNS信息。
当顶级域名
服务器收到请求后,它会根据请求的次级域名信息,将请求转发到该域名的权威DNS服务器。
权威DNS服务器是负责管理具体域名解析记录的服务器。
当
权威DNS服务器收到请求后,它会查询自己的数据库,找到
对应域名的IP地址,并将结果返回给顶级域名服务器。
最后,顶级域名服务器将IP地址返回给根DNS服务器,根DNS服务器将IP地址返回给本地DNS服务器,最终本地
DNS服务器将IP地址返回给浏览器。
浏览器根据获取到的IP
地址,发起与该IP对应的服务器的通信,以访问对应的网站。
以上是DNS服务器的工作原理,通过不断的请求转发和查询,DNS服务器能够将域名转换成对应的IP地址,实现互联网上
各个网站的访问。
dns 的工作原理

DNS(Domain Name System,域名系统)的工作原理主要包括以下步骤:1. 用户请求:当用户在浏览器中输入一个网址并按下回车键时,浏览器首先会查找本地缓存中是否有该域名对应的IP地址。
如果本地缓存中有,浏览器会直接使用这个IP地址进行连接;如果没有找到,浏览器会向DNS服务器发起查询请求。
2. 递归查询:用户的设备(通常是通过操作系统内置的DNS解析器或者ISP提供的DNS 服务器)会向其配置的首选DNS服务器发送一个DNS查询请求。
这个请求是一个递归查询,要求DNS服务器返回目标域名的IP地址。
3. 迭代查询:接收到查询请求的DNS服务器(称为本地DNS服务器)通常不会直接存储所有互联网上的域名和IP地址映射。
如果本地DNS服务器没有所需的信息,它会向根DNS服务器发起查询。
4. 根DNS服务器:根DNS服务器是DNS层次结构的顶端,它们不直接存储具体的域名和IP 地址映射,但知道所有顶级域(TLD,如.com、.org、.net等)的权威DNS服务器的位置。
5. 顶级域DNS服务器:根DNS服务器会将查询转发到负责相应顶级域的DNS服务器。
根DNS服务器会将查询转发到.com的权威DNS服务器。
6. 权威DNS服务器:接收到查询的权威DNS服务器(即.com的DNS服务器)会检查其数据库中是否包含木板网址的记录。
如果有,它会返回相应的IP地址给本地DNS服务器;如果没有,它会返回一个否定响应,并可能提供进一步查询其他DNS服务器的指示。
7. 返回结果:一旦本地DNS服务器获得了目标域名的IP地址,它会将这个信息返回给发起查询的用户设备。
用户的设备现在可以用这个IP地址建立与目标网站的连接。
8. 缓存:为了提高效率,每个DNS服务器在获取到查询结果后,通常会将其缓存一段时间。
这样,后续相同的查询就可以直接从缓存中获取结果,而不需要再次进行完整的查询过程。
整个DNS查询过程通常非常快,只需几毫秒到几百毫秒的时间就能完成。
DNS的工作原理与配置

DNS的工作原理与配置一、知识回顾MAC地址能够在数据链路层唯一区分每一个主机,而网络层依靠ip地址来区分不同的计算机.二、作业点评(略)三、教学目标1.DNS的配置熟悉域名的相关知识2.掌握DNS的解析原理3.熟练掌握DNS的配置,能够在局域内搭建DNS服务器四、教学重难点1.DNS的完整解析过程是难点,也是重点2.DNS的配置是本次教学另一个重点五、问题引入1.什么是域名地址2.校园网内使用IP地址直接访问,而校外的网络是否可以使用ip地址访问?3.校外的网络为什么用域名地址可以访问?4.校内的计算机是否可用域名地址来访问呢?六、DNS工作原理1.DNS基本知识.DNS为域名系统(Domain Name System),一种组织成域层次结构的计算机和网络服务命名系统,提供了将域名转换为ip地址的一种方法。
.DNS基予UDP协议,工作与应用层.DNS采用C/S模式工作,用户只能间接的使用DNS,客户端由操作系统支持,需要指定服务器.服务器存储域名与ip的对照表,负责进行地址解析.2. 域名..域名是主机或路由器的字符串名称,采用唯一的层次结构命名方法(图1).域名结构:…三级域名.二级域名.顶级域名.每一分量就是一个区域..常见的顶级域名有国家顶级域名如:国际顶级域名如:.int通用定级域名如:,.域名要统一注册才能被解析,在中国,edu下注册三级域名向中国教育和科研计算机网络中心申请,其他的三级域名注册需要向cnnic申请.可以由商业代理机构代理注册业务3.域名解析.域名系统有大量的域名服务器构成,域名地址采用分布式数据存储,层层解析.三种域名服务器本地域名服务器授权域名服务器根域名服务器1)两种解析过程①客户端的查询※客户端本机查询解析程序首先查找本地高速缓存内检查有无该域名的记录,如果查找成功直接返回ip地址,否则再去查找本机文件相关文件内是否有,如果有,则返回ip地址,否则,向本地dns服务器提出请求。
DNS的工作原理及解析

DNS的工作原理及解析DNS(Domain Name System,域名系统)是互联网中用于将域名解析为IP地址的系统。
DNS的工作原理涉及多个组件和过程,包括域名层次结构、域名服务器和DNS解析。
一、域名层次结构:二、域名服务器:域名服务器负责存储和管理域名与IP地址之间的映射关系。
每个域名都有一个主域名服务器(Authoritative Name Server),用于存储该域名的IP地址记录。
主域名服务器是负责管理特定域名的服务器,可以是域名的管理员所指定的服务器。
此外,还有递归域名服务器(Recursive Name Server),也称为本地域名服务器。
递归域名服务器是用户计算机上运行的程序,负责处理用户计算机向其请求的域名解析。
递归域名服务器会通过查询其他域名服务器来获取所需的解析结果。
三、DNS解析过程:当用户输入一个域名时,计算机首先会将该域名发送给本地域名服务器,然后本地域名服务器开始进行域名解析的过程。
以下是DNS解析的步骤:1.本地域名服务器先查看自己的缓存,如果缓存中包含了该域名的解析结果,则直接返回给用户计算机。
如果缓存中没有,则继续进行后续的步骤。
2. 本地域名服务器将请求发送给根域名服务器(Root Name Server),根域名服务器负责管理整个DNS系统的顶级域名服务器。
本地域名服务器会询问根域名服务器,它知不知道该域名的IP地址。
根域名服务器通常不知道具体的IP地址,但会指示本地域名服务器继续查询顶级域名服务器。
3.本地域名服务器再次查询顶级域名服务器,顶级域名服务器负责管理该域名的主域名服务器。
顶级域名服务器可能直接返回该域名的主域名服务器的地址,或者它可能会返回下一级域名服务器的地址。
4.本地域名服务器接收到顶级域名服务器返回的地址后,会继续向下级域名服务器发送查询请求。
重复这个过程直到找到主域名服务器。
5.本地域名服务器与主域名服务器进行通信,获取该域名对应的IP 地址记录。
DNS服务器的安装和配置

Server 2008 R2上的DNS服务器
为例介绍。
选择一台已经安装好Windows
Server 2008 R2的 服务器,确认其已安装了TCP/IP协议。
首先在该台DNS服务器的TCP/IP协议中,将其IP地
址设置为固定值而非自动获取,并将其TCP/IP配置 里的DNS服务器地址设为固定值而非自动获取(例 如就设为本服务器IP地址,以后可根据需要再改)。
Windows 2008 R2的DNS服务器有正向查找区域和反向查 找区域。注:Windows中DNS服务器域名不区分大小写! 正向查找区域:此区域是由域名查询IP地址。 反向查找区域:此区域是由IP地址查询域名。 本例中使用的域名是(也可自定义!),其它 相关信息如下表所示。如果用户配置实际的网站,则所配 置的主机名、域名和IP地址均应为实际所申请到的。
24
(8)、设置动态更新。单击“不允许动态更新”单选 按钮,如图,手动更新记录,单击“下一步”按钮。
25
(9)、准备创建反向查找区域,如图。选择 “是,现在创建反向查找区域”,单击“下 一步”按钮。
26
(10)、选择“区域类型”,如图。“主要区域”表 示将配置主DNS服务器,“辅助区域”表示将配置 辅DNS服务器。因此,这里选择“主要区域”单选 按钮,单击“下一步”按钮。
本机计算机名:桌面 计算机 右键属性高级系统设置计算机名中的计算机全名
13
(3)、选择要连接的 DNS服务器,由于 DNS服务器运行在 本机,因此在“连接 到DNS服务器”对 话框中,选中“此计 算机”,如图所示, 然后单击“确定”。
注意:如果连不上,请到管理工具服务中启动DNS Server服 务。如果启动DNS Server服务时报错,则应保证本机正常连接 上一无线网络或有线网络(即通过有线网卡或无线网卡的本地 连接连上一无线路由器或无线AP,注意要设默认网关),然后 再启动DNS Server服务(还启动不了的话可尝试禁用再启用一 下网卡的网络连接后再试)。之后再去连DNS服务器即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DNS学习一个服务的过程:1、此服务器的概述:名字,功能,特点,端口号2、安装3、配置文件的位置4、服务启动关闭脚本,查看端口5、此服务的使用方法6、修改配置文件,实战举例7、排错(从下到上,从内到外)本节所讲内容:•DNS服务器常见概念•DNS服务器安装及相关配置文件•实战:为公司内网搭建一个DNS服务器•DNS服务端: IP:192.168.1.63•DNS客户端: IP:192.168.1.64DNS服务概述:DNS(Domain Name System)域名服务或者域名服务器,在TCP/IP 网络中有非常重要的地位,能够提供域名与IP地址的解析服务。
DNS:域名解析服务,这是一个基础性的服务,他是互联网的基础。
目前来讲DNS的核心包括DNS的标准都是基于一个软件来构建的,这个软件叫BIND.要讲http服务,这个是重点。
apche ,lamp nginx(enginx) ,lnmp(lemp)selinux : security enhanced linuxAC2 linux windows(主机名,FQDN full qualified domain name 完全限定域名)DNS 是一个分布式数据库,命名系统采用层次的逻辑结构,如同一棵倒置的树,这个逻辑的树形结构称为域名空间,由于DNS 划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。
注:DNS 域名空间中,树的最大深度不得超过127 层,树中每个节点最长可以存储63 个字符。
1)域和域名*DNS 树的每个节点代表一个域,通过这些节点,对整个域名空间进行划分,成为一个层次结构。
域名空间的每个域的名字,通过域名进行表示。
域名:通常由一个完全合格域名(FQDN)标识。
FQDN能准确表示出其相对于DNS 域树根的位置,也就是节点到DNS 树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用“.”分隔,对于DNS 域google 来说,其完全正式域名(FQDN)为.. .注意:通常,FQDN 有严格的命名限制,长度不能超过256 字节,只允许使用字符a-z,0-9,A-Z和减号(-)。
点号(.)只允许在域名标志之间(例如“”)或者FQDN 的结尾使用。
域名不区分大小。
由最顶层到下层,可以分成:根域、顶级域、二级域、子域。
TLD:顶级域组织域:。
.net .cc国家域:.cn .tw .hk .iq .ir .jpInternet 域名空间的最顶层是根域(root),其记录着Internet 的重要DNS 信息,由Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配给连接到Internet 的各个组织。
万网和新网成本也不是太多防火墙DNS 根域下面是顶级域,也由Internet 域名注册授权机构管理。
共有3 种类型的顶级域。
组织域:采用3 个字符的代号,表示DNS 域中所包含的组织的主要功能或活动。
比如com 为商业机构组织,edu 为教育机构组织,gov 为政府机构组织,mil 为军事机构组织,net 为网络机构组织,org 为非营利机构组织,int 为国际机构组织。
地址域:采用两个字符的国家或地区代号。
如cn 为中国,kr 为韩国,us 为美国。
反向域:这是个特殊域,名字为in-addr.arpa,用于将IP 地址映射到名字(反向查询)。
对于顶级域的下级域,Internet 域名注册授权机构授权给Internet 的各种组织。
当一个组织获得了对域名空间某一部分的授权后,该组织就负责命名所分配的域及其子域,包括域中的计算机和其他设备,并管理分配的域中主机名与IP 地址的映射信息。
2、区(Zone)区是DNS 名称空间的一部分,其包含了一组存储在DNS 服务器上的资源记录。
使用区的概念,DNS 服务器回答关于自己区中主机的查询,每个区都有自己的授权服务器。
3、主域名服务器与辅助域名服务器当区的辅助服务器启动时,它与该区的主控服务器进行连接并启动一次区传输,区辅助服务器定期与区主控服务器通信,查看区数据是否改变。
如果改变了,它就启动一次数据更新传输。
辅助服务器的优点:1)容错能力配置辅助服务器后,在该区主服务器崩溃的情况下,客户机仍能解析该区的名称。
一般把区的主服务器和区的辅助服务器安装在不同子网上,这样如果到一个子网的连接中断,DNS 客户机还能直接查询另一个子网上的名称服务器。
2)减少广域链路的通信量如果某个区在远程有大量客户机,用户就可以在远程添加该区的辅助服务器,并把远程的客户机配置成先查询这些服务器,这样就能防止远程客户机通过慢速链路通信来进行DNS 查询。
3)减轻主服务器的负载辅助服务器能回答该区的查询,从而减少该区主服务器必须回答的查询数。
1)DNS 相关概念(1)DNS 服务器运行DNS 服务器程序的计算机,储存DNS 数据库信息。
DNS 服务器会尝试解析客户机的查询请求。
在解答查询时,如果DNS 服务器能提供所请求的信息,就直接回应解析结果,如果该DNS 服务器没有相应的域名信息,则为客户机提供另一个能帮助解析查询的服务器地址,如果以上两种方法均失败,则回应客户机没有所请求的信息或请求的信息不存在。
(2)DNS 缓存DNS 服务器在解析客户机请求时,如果本地没有该DNS 信息,则可以会询问其他DNS 服务器,当其他域名服务器返回查询结果时,该DNS 服务器会将结果记录在本地的缓存中,成为DNS 缓存。
当下一次客户机提交相同请求时,DNS 服务器能够直接使用缓存中的DNS 信息进行解析。
2)DNS查询方式:递归查询和迭代查询接受本地客户端查询请求(递归)两种查询方式:(1)递归查询一次性沟通完递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。
如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。
(2)迭代查询DNS 服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果为止。
7 正向解析与反向解析1)正向解析正向解析是指域名到IP 地址的解析过程。
2)反向解析反向解析是从IP 地址到域名的解析过程。
反向解析的作用为服务器的身份验证DNS资源记录1)SOA 资源记录每个区在区的开始处都包含了一个起始授权记录(Start of Authority Record),简称SOA 记录。
SOA 定义了域的全局参数,进行整个域的管理设置。
一个区域文件只允许存在唯一的SOA 记录。
2)NS 资源记录NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。
每个区在区根处至少包含一个NS 记录3)A 资源记录地址(A)资源记录把FQDN 映射到IP 地址。
因为有此记录,所以DNS服务器能解析FQDN域名对应的IP 地址。
4)PTR 资源记录相对于A 资源记录,指针(PTR)记录把IP地址映射到FQDN。
用于反向查询,通过IP地址,找到域名。
5)CNAME 资源记录别名记录(CNAME)资源记录创建特定FQDN 的别名。
用户可以使用CNAME 记录来隐藏用户网络的实现细节,使连接的客户机无法知道真正的域名。
6)MX 资源记录邮件交换(MX)资源记录,为DNS 域名指定邮件交换服务器。
邮件交换服务器是为DNS 域名处理或转发邮件的主机。
处理邮件指把邮件投递到目的地或转交另一不同类型的邮件传送者。
转发邮件指把邮件发送到最终目的服务器,用简单邮件传输协议SMTP 把邮件发送给离最终目的地最近的邮件交换服务器,或使邮件经过一定时间的排队。
模式: C/S 模式2、端口[root@xuegod64 ~]# vim /etc/services端口:tcp/53 udp/53 #用于客户端查询tcp/953 udp/953 #用于DNS主从同步安装DNS:BINDBIND 简介BIND 全称为Berkeley Internet Name Domain(伯克利因特网名称域系统)。
[root@xuegod63 ~]# rpm -ivh /mnt/Packages/bind-9.7.3-8.P3.el6.x86_64.rpm #该包为DNS 服务的主程序包。
[root@xuegod63 Packages]# rpm -ivh bind-chroot-9.7.3-8.P3.el6.x86_64.rpm #提高安全性。
#bind-chroot是bind的一个功能,使bind可以在一个chroot 的模式下运行.也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,只是系统中的一个子目录而已.这样做的目的是为了提高安全性.因为在chroot的模式下,bind可以访问的范围仅限于这个子目录的范围里,无法进一步提升,进入到系统的其他目录中.[root@xuegod63 Packages]# rpm -ivh bind-utils-9.7.3-8.P3.el6.x86_64.rpm #该包为客户端工具,默认安装,用于搜索域名指令。
DNS服务器相关配置文件:root@xuegod63 Packages]# ls /etc/named.conf/etc/named.confnamed.conf 是BIND 的核心配置文件,它包含了BIND 的基本配置,但其并不包括区域数据。
zone.file3、启动服务//要先启动named服务,否则/var/named/chroot/目录下的文件不会被挂载上。
这个和RHEL5是不一样的。
net[root@xuegod63 Packages]# ls /var/named/chroot/[root@xuegod63 Packages]# /etc/init.d/named restartStopping named: [ OK ]Starting named: [ OK ][root@xuegod63 Packages]# netstat -antup | grep 53tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 11135/namedtcp 0 0 ::1:53 :::* LISTEN 11135/namedudp 0 0 127.0.0.1:53 0.0.0.0:* 11135/named[root@xuegod63 Packages]# mount/etc/named on /var/named/chroot/etc/named t ype none (rw,bind)/var/named on /var/named/chroot/var/named type none (rw,bind)/etc/named.conf on /var/named/chroot/etc/named.conf type none (rw,bind)/etc/named.rfc1912.zones on /var/named/chroot/etc/named.rfc1912.zones type none (rw,bind)/usr/lib64/bind on /var/named/chroot/usr/lib64/bind type none (rw,bind)/etc/named.iscdlv.key on /var/named/chroot/etc/named.iscdlv.key type none (rw,bind)/etc/named.root.key on /var/named/chroot/etc/named.root.key type none (rw,bind)例1:配置DNS服务器解析: 充当服务端整体分3段options :对全局生效zone :针对某个区域生效type 字段指定区域的类型,对于区域的管理至关重要,一共分为六种:Master:主DNS 服务器:拥有区域数据文件,并对此区域提供管理数据Slave:辅助DNS 服务器:拥有主DNS 服务器的区域数据文件的副本,辅助DNS 服务器会从主DNS 服务器同步所有区域数据。