Loading... <h1>DNS BIND</h1> <hr /> <ul style="margin-top: 15px;margin-bottom: 15px;padding: 0px 0px 0px 30px;border: 0px" class=" list-paddingleft-2"> <li> <p>DNS</p> </li> <li> <p>BIND</p> </li> <ul class=" list-paddingleft-2"> <li> <p>正向解析</p> </li> <li> <p>反向解析</p> </li> <li> <p>从服务器</p> </li> <li> <p>子域授权</p> </li> <li> <p>转发</p> </li> <li> <p>view</p> </li> </ul> </ul> <hr /> <h2>DNS</h2> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">什么是DNS?</h3> <pre>DNS是domain name system,域名系统的简写,负责实现域名与IP的转换。</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">DNS的功能是什么?</h3> <pre>DNS能够将IP地址与域名相互双向转换,能够实现域名访问。</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">DNS的历史:</h3> <pre> 1. 初期网络上的计算机极少,所以通过每台计算机中自带的hosts表来进行解析换算。 -- hosts 2. 随着发展,网络上的计算机慢慢的增加,通过与DNS服务器同步更新hosts表来解析。 -- hosts 3. 计算机增量速度加快,通过发送解析请求给一台DNS服务器直接获得回应。 --server 4. 计算机数量爆炸式增长,将domain根据不同类型不同层分成多份,分工来缓解压力。 --servers</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">客户端顺序流程:</h3> <pre>查询本地hosts表 --> 指向的DNS Server域查询 --> Root根域迭代查询 --> 每一级域服务器迭代 --> 指向的DNS server查询到IP --> 返回给客户端。</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">DNS的实现方式:</h3> <p style="margin-top: 10px;margin-bottom: 15px;padding: 0px;border: 0px"><img src="//cto.wang/usr/uploads/2016/07/20160703161353-86.png" alt="DNS" style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;max-width: 100%" /></p> <h6>从根开始将每一个顶级域名都分为单独的一台name server来管理,每一个顶级域名又分为多个二级域名,以此类推,每当一个消息请求到达缓存DNS server时,如果无法查询到就会去询问根服务器,根服务器会去查询此地址的top domain,然后返回此地址的top domain服务器地址,之后DNS server又会去询问top domain服务器,top domain就会返回下一级的服务器地址,直到查询到此主机所在的域的服务器,返回主机IP。</h6> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">域名的格式:</h3> <pre>FQDN(full qualitied domain name):完全解析域名,是用来标识域的,所以是从根开始的地址。 N级域名...三级域名.二级域名.顶级域名. 域名:标识一台主机。 N级域名...三级域名.二级域名.顶级域名</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">inquire type:</h3> <pre>递归请求(recursion inquire):经常是在用户请求服务器的环境下,client直接请求server,直接得到回复。 迭代请求(iteration inquire):查询DNS,要通过去询问根服务器,一级一级的向下级域名服务器得到回复,直到得到目标主机IP。</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">DNS的域类型:</h3> <pre>hint:根域服务器资料库类型,用来表示这个域是一个指向根域服务器的域。 master:服务器主域,标识是一个域的主服务器。 slave:服务器从域,标识是一个域的从服务器。</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">DNS功能类型:</h3> <pre>正向解析:解析域名到IP。 反向解析:解析IP到域名。 转发:将特定网络内容或者所有内容转发给特定DNS服务器解析。 子域授权:授权一个子域。</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">智能DNS</h3> <pre>根据发送请求的客户端IP,来返回各自不同的IP地址,做到分布式访问。</pre> <p style="margin-top: 15px;margin-bottom: 15px;padding: 0px;border: 0px"><img src="//cto.wang/usr/uploads/2016/07/20160703161353-40.png" alt="boot" style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial;max-width: 100%" /></p> <h2>BIND</h2> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">什么是bind?</h3> <p style="margin-top: 10px;margin-bottom: 15px;padding: 0px;border: 0px">bind是Berkeley Internet Name Domain的缩写,是一个DNS服务器软件。</p> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">bind的功能是什么?</h3> <p style="margin-top: 10px;margin-bottom: 15px;padding: 0px;border: 0px">bind是目前互联网上用来架设DNS服务器的主流方案,bind能够提供双向解析,转发,子域授权,view等功能。</p> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">bind的文件:</h3> <pre>/etc/named.conf bind的主要配置,区域配置文件,其中不包含在区域中的配置为全局配置。 /var/named/*.zone 区域解析库文件,其中的配置仅为当前区域有效。</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">named的一些属性:</h3> <pre>listen-on port 53 { 192.168.1.1; 201.0.0.1; }; 指定named监听的端口和IP。 listen-on-v6 port 53 { ::1; }; IPV6监听设定。 directory "/var/named"; 指定区域解析库文件存放目录。 recursion {yes|no};是否允许去迭代查询。 allow-query { address_match_list }; 允许查询本DNS的客户端地址或列表。 allow-transfer { address_match_list }; 允许从服务器进行区域传送的地址或列表。 allow-recursion { address_match_list }; 允许递归查询的客户端地址或列表。 allow-update { address_match_list }; 允许更新本DNS的主机地址,即可以修改,删除,新增zone。 // dnssec-enable no; DNS安全扩展机制,建议关闭或者直接注释掉。 // dnssec-validation no; // dnssec-lookaside no; // bindkeys-file "/etc/named.iscdlv.key"; // managed-keys-directory "/var/named/dynamic";</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">区域文件格式:</h3> <pre>zone "ZONE_NAME" IN { type {hint|master|slave|forward}; file "ZONE_FILE"; };</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">解析库文件格式:</h3> <p style="margin-top: 10px;margin-bottom: 15px;padding: 0px;border: 0px"><strong style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial"><em style="margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;border-style: initial;border-color: initial">解析库中的类型与其格式:</em></strong></p> <pre>SOA:起始授权机构 [ZONE_NAME] IN SOA [ZONE_NAME] [ADMIN_MAIL_ADDRESS] (virson 更新时间 重试时间 过期时间 错误缓存时间) NS:文件服务器 [ZONE_NAME] IN NS [NAME_SERVER] A:address [NAME_SERVER] IN A [IPADDRESS_IPV4] AAAA:ipv6 address [NAME_SERVER] IN AAAA [IPADDRESS_IPV6] CNAME:主要名称 [CNAME] IN CNAME [NAME_SERVER] PTR:反向解析 [IP] IN PTR [DOMAIN NAME] MX:邮件交换服务器 [ZONE_NAME] IN MX [MX_NAME_SERVER]</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">从服务器:</h3> <pre>zone "ZONE_NAME" IN { type slave; 指定类型为从服务器; file "slaves/ZONE_FILE"; 由于从服务器会从主服务器直接同步解析库,所以无需设置,但是还是要将同步文件指向存放到指定目录下。 };</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">子域授权</h3> <pre>父域解析库: ops.xiao.com IN NS ns1.ops.xiao.com 指定子域的NS ns1.ops.xiao.com IN A [IP_ADDRESS] 指定子域NS的地址。 子域设置为正常的DNS服务器流程即可。</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">转发</h3> <pre>zone "ZONE_NAME" IN { type forward; 指定类型为转发。 forward {only|first}; 指定转发的方式,only表示将指定范围内的所有查询都转发,first只转发一次,无回应则自己完成查询。 forwarders { "acl" }; 指定转发的范围。 };</pre> <h3 style="margin: 20px 0px 10px;padding: 0px;border: 0px;font-size: 18px">view</h3> <pre>view [NAME] { 如果在服务器上设定了view,则所有的区域设定都要包含在view中。 match clients { "acl"; }; 指定view所负责的范围。 zone "name" {}; ... 包含的区域。 };</pre> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信