[DNS] Linux(centos6)中dns(bind)服务器安装及dns理论详解
DNS域名解析系统 什么是DNS DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,方便用户使用名称的访问互联网。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP或TCP协议之上,使用端口号53。 FQDN 全称域名,例www.itwish.cn 的FQDN为 www.itwish.cn. ,其中 www(主机名).itwish(二级域名).cn(一级域名).(根) DNS查询类型 递归查询:递归查询是最常见的查询方式,当一个客户机发送一个查询给本地域名服务器时,本地域名服务器必须返回一个IP地址,如果解析不到IP,域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。一般客户机和服务器之间属递归查询 迭代查询:迭代查询又称重指引。当服务器使用迭代查询时能够使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止。一般DNS服务器之间属迭代查询 注:客户端指向dns服务器时,不能指向根服务器(根dns服务器不接受递归查询),指向的一定是允许给本地主机做递归查询的dns服务器 DNS的工作原理 1.客户端提起域名解析请求,并将该请求发送给本地dns服务器;本地域名服务器收到该请求时,首先查询本地缓存(该过程属于递归查询 ),例www.itwish.cn域名解析 2.若本地dns服务器有记录则直接可以返回给客户端;若没有记录则去根DNS服务器请求,根dns服务器返回给本地dns服务器所请求顶级域的dns服务器ip地址。即本地dns服务器会得到.cn域的dns服务器IP 3.然后再将请求发往cn.域的主dns服务器,若找到则返回请求域名的ip地址 ;若没有找到,则.cn 域dns服务器则返回给本地dns服务器所请二级域的dns服务器ip地址;即本地dns服务器会得到itwish.cn域的dns服务器IP 4.最后再将请求发往itwish.cn.域的主dns服务器,找到www主机ip地址,把IP地址返回给本地dns服务器,同时本地DNS服务器也会缓存一份到本地 (2,3,4步属于迭代查询) 5.本地dns服务器把查询到的ip地址返回到客户端 。至此完成域名解析的请求 实现名称到IP解析方式 分散式解决方案:/etc/hosts,不易管理 集中式解决方案:NIC,如果主机太多,对单一服务的压力太大 分布式数据库方案:DNS,解决了上俩个方式的不足 DNS域名 根域:目前有13个根集群服务器,美国10台,日本1台,荷兰1台,瑞典1台 一级域: .com, .edu, .mil, .gov, .net, .org, cn, .ca, .hk, .tw, .in-addr.arpa等 二级域 最多127级域名 DNS解析类型 正反向解析是两个不同的名称空间,是两棵不同的解析树 正向解析:FQDN --> IP ,域名解析为ip地址 反向解析:IP ---> FQDN ,ip地址解析为域名 DNS服务器的类型 主dns服务器:管理和维护所负责解析的域内解析库的服务器,主dns服务器可以是一个或多个区域的权威名称服务器 辅助dns服务器:用作同一区域中主服务器的备份服务器,从主服务器或从服务器“复制"(区域传输)解析库副本 缓存名称务器 主从dns服务器,主服务器记录发生变化,会同步到从服务器,(主从复制),实现容错机制 序列号:解析库版本号,主服务器解析库变化时,其序列递增 刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔 重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔 过期时长:从服务器联系不到主服务器时,多久后停止服务 否定答案的TTL值 区域传送 ,辅助DNS服务器从主DNS服务器或其他的辅助DNS服务器请求数据传输过程 完全区域传送:传送区域的所有数据,AXFR 增量区域传送:传送区域中改变的数据部分,IXFR 安全控制选项 allow-query {} :允许查询的主机;此项仅用于服务器是缓存名称服务器时,只开放查询功能给本地客户端 allow-transfer {}:允许区域传送的主机;通常都需要启用,从服务器 allow-recursion {可以使用网段} :允许递归的主机,建议全局使用 allow-update {}: 允许更新区域数据库中的内容 DNS服务管理 实现:bind(Bekerley Internat Name Domain ) 服务名:named 进程:named ;# chkconfig named on 开机自启named服务 # service named start 启动named 服务 主配置文件:/etc/named.conf ,注:语句后面的 ; 号 [root@bogonnamed]#vi/etc/named.conf options{#全局选项 listen-onport53{127.0.0.1;|192.168.4.150;};#默认监听本机的53号端口,可注释掉或调整为指定ip,注ip地址后加";" listen-on-v6port53{::1;};#开启ipv6监听,可注释掉 directory"/var/named";#区域文件配置目录 dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; allow-query{localhost|any;};#授权为指定的主机解析,默认只为本机解析,可调整为any或注释掉 recursionyes|no;#递归查询,默认开启 dnssec-enableyes;#sec功能,与安全加密传输相关的选项,可注释掉 dnssec-validationyes;#同上一条,可注释掉 bindkeys-file"/etc/named.iscdlv.key"; managed-keys-directory"/var/named/dynamic"; pid-file"/run/named/named.pid";#named启动文件pid session-keyfile"/run/named/session.key"; allow-transfer{none|ip;};#允许区域传送的主机;可拒绝所有、指定ip传送,默认开启,建议指定ip进行区域传送 }; logging{#日志子系统配置 channeldefault_debug{ file"data/named.run"; severitydynamic; }; }; zone"."IN{#根区域定义,若要做内网根服务器,要注释掉 typehint; file"named.ca"; }; include"/etc/named.rfc1912.zones";#加载指定区域文件 include"/etc/named.root.key"; 区域配置文件:/etc/named.rfc1912.zones ,区域类型:hint(根)、master(主)、slave(从)、forward(转发) [root@bogon~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{#区域记录 typemaster|slave|forward|hint;#类型,主dns服务器、辅助dns服务器、转发dns、根dns服务器 file"itwish.cn.zone";#区域数据库文件 allow-transfer{192.168.4.120;};#允许区域传送的主机 }; 区域文件目录 : /var/named/ ,注:区域文件的权限为640,属组为named [root@bogon~]#vi/var/named/itwish.cn.zone $TTL1D#默认的TTL值 @INSOAns1admin.itwish.cn.(#SOA记录,记录域中的主DNS服务器,一个区域解析库中只能有且仅能有一个SOA记录,必须位于解析库的第一条记录 2018061004;serial#序列号 1D;refresh#主从复制的时间间隔 1H;retry#如果主从复制失败重试时间 1W;expire#失效时间 3H);minimum#否定答案的TTL值 INNSns1#名字服务器记录 INNSns2#针对itwish.cn区域,ns1与ns2共2台ns服务器,实现主从复制功能 INMX10mail#邮件mx记录 ns1INA192.168.4.110#正向解析记录 ns2INA192.168.4.120 *INA192.168.4.110#泛域名解析,解析未找到的主机则返回该ip地址 wwwINCNAMEns1#别名记录 mailINA192.168.4.110 techINNSns3.tech#子域名字服务器记录 INNSns4.tech#针对tech.itwish.cn区域,ns3与ns4共2台ns服务器,实现主从复制功能 ns3.techINA192.168.4.130 ns4.techINA192.168.4.140 反向解析区域文件:区域名称以逆向的网络地址,并以.in-addr.arpa为后缀 ,区域文件保存在/var/named/ 目录,应该具有NS记录,但不能出现MX和A记录,较常见的为PTR记录 [root@bogonnamed]#vi/etc/named.rfc1912.zones zone"4.168.192.in-addr.arpa"IN{#定义反向区域名称 typeslave; masters{192.168.4.120;}; file"slaves/192.168.4.zone"; allow-transfer{none;}; }; [root@bogonnamed]#vi/var/named/192.168.4.zone $TTL3H @INSOAns1.itwish.cn.adminns.itwish.cn.(#第一条为SOA记录 20180522012;serial 1D;refresh 1H;retry 2W;expire 24H);minimum INNSns1.itwish.cn. INNSns2.itwish.cn. 110INPTRns1.itwish.cn.#PTR记录 120INPTRns2.itwish.cn. DNS的数据库文件(区域数据文件):为文本文件,只能包含资源记录或宏定义,每行一个 资源记录的格式:name① [TTL]② IN③ Rrtype④ Value⑤ 注:FQDN中最后的 . 号 ①name:当前区域的名字,例 www.itwish.cn. ②TTL (Time- To-Live):表示一条域名解析记录在DNS服务器上缓存时间;例如$TTL 1D的意思是默认的TTL值为1天 ③IN:关键字 ④dns资源记录类型(Resource Record),包括SOA ,NS ,MX ,A记录 ,AAAA,PTR ,CNAME 等 ⑤Value ,通过对以上记录类型示例分析——针对不同的资源记录类型,Value值也不尽相同 SOA:有n个数值,主DNS服务器及邮箱地址;最主要的是主DNS服务器,格式可为相对名称或FQDN NS:DNS服务器的FQDN(或相对名称) 如 IN NS ns1 MX:包含优先级和FQDN(或相对名称),如 IN MX 10 mail A:ip地址 ,如 ns1 IN A 192.168.4.110 CNAME:FQDN(或相对名称),如 www IN CNAME ns1 PTR:FQDN ,如 1 IN PTR localhost. DNS记录类型详解及演示 (1)SOA:Start of Authority 起始授权记录,记录域中的主DNS服务器,一个区域解析库中只能有且仅能有一个SOA记录,必须位于解析库的第一条记录 @INSOAns1admin.itwish.cn.(#SOA记录 2018061004;serial#序列号 1D;refresh#主从复制的时间间隔 1H;retry#如果主从复制失败重试时间 1W;expire#失效时间 3H);minimum#否定答案的TTL值 #注释 @:区域名称itwish.cn,通常可简写为@符号 IN:关键字,可省略 SOA:资源记录类型 ns1:主dns服务器的名称,可以是相对名称ns1或FQDNns1.itwish.cn. admin.itwish.cn.:邮箱地址,把@转换成.,如邮箱admin@itwish.cn格式为admin.itwish.cn. (2)NS :Name server 域名服务器,记录指定负责给定区域的名称服务器 ,注:区域内包含几条NS记录,就需对多台NS服务器配置相对应的A记录 ,示例为2台NS服务器ns1 和ns2 ,就需配置ns1 和ns2 服务器的A记录 INNSns1#名字服务器记录 INNSns2#针对itwish.cn区域,ns1与ns2共2台ns服务器,实现主从复制功能 ns1INA192.168.4.110#正向解析记录 ns2INA192.168.4.120 #注释 named:可省略,代表itwish.cn区域 IN:关键字,可省略 NS:资源记录类型 ns1:主dns服务器的名称,可以是相对名称ns1或FQDNns1.itwish.cn. ns2:针对itwish.cn区域,ns1与ns2共2台ns服务器,实现主从复制功能 (3)MX :邮件交换记录 ,记录列出了负责接收发到域中的电子邮件的主机记录 INMX10mail#邮件mx记录 #注释 named:可省略,代表itwish.cn区域 IN:关键字,可省略 MX:资源记录类型 mail:邮件交换记录名称,可以是相对名称mail或FQDNmail.itwish.cn. (4)A记录 :FQDN --> IP ,列出特定主机名的 IP 地址 ns1INA192.168.4.110#正向解析记录 ns2INA192.168.4.120 #注释 ns1:主机名,可以是相对名称ns1或FQDNns1.itwish.cn. IN:关键字,可省略 A:资源记录类型 192.168.4.110:ip地址 (5)AAAA:FQDN-->ipv6 (6)PTR:指针记录 IP --> FQDN ,只能定义在反向区域数据文件中,反向区域名称为逆向网络地址加.in-addr.arpa.后缀组成,如 “0.0.127.in-addr.arpa” 反向解析区域 1PTRlocalhost. #注释 1:ip地址 IN:关键字,可省略 PTR:资源记录类型 localhost.:主机名称,可以是相对名称或FQDN (7)CNAME :别名记录 ,此记录指定标准主机名的别名 wwwINCNAMEns1#别名记录 #注释 www:主机别名,可以是相对名称或FQDN IN:关键字,可省略 CNAME:资源记录类型 ns1:主机名称,可以是相对名称或FQDN dig 命令,DNS查询使用程序 语法:dig [@server] [-b address] [-c class] [-f filename] [-k filename] [-m] [-p port#] [-q name] [-t type] [-x addr] [-y [hmac:]name:key] [-4] [-6] [name] [type] [class] [queryopt...] 常用选项: -x addr:测试反向解析 -t type:指定查询记录类型 -t axfr ZONE_NAME @SERVER :模拟区域传送 -t NS . :查询根DNS服务器 -f filename :通过从文件 filename 读取一系列搜索请求加以处理 -p port# :查询一个非标准的端口号,标准的DNS端口号 53 +[no]trace :[不]适用迭代 +[no]tcp :是否使用tcp +[no]recurse:是否使用递归host rndc reload: 重载主配置文件和区域解析库文件 reload zonename: 重载区域解析库文件 retransfer zonename: 手动启动区域传送,而不管序列号是否增加 notify zonename: 重新对区域传送发通知 reconfig: 重载主配置文件 querylog: 开启或关闭查询日志文件/var/log/message trace: 递增debug一个级别 trace LEVEL: 指定使用的级别 notrace:将调试级别设置为 0 flush:清空DNS服务器的所有缓存记录 rndc:密钥 rndc:持有一半密钥,保存于rndc的配置文件中 BIND:持有一般密钥,保存在主配置文件中 rndc的配置文件/etc/rndc.conf # rndc-confgen -r /dev/urandom > /etc/rndc.conf生成密钥 # named-checkconf:检查配置文件的语法 # named-checkzone "itwish.cn" /var/named/itwish.cn.zone :查询区域数据库文件的语法 # service named configtest :检查所有区域文件的语法 DNS正向解析,反向解析,主从复制,子域委派,区域转发,acl 及view视图案例 DNS正向解析案例配置 1)安装bind [root@ns1~]#yuminstallbindbind-utils-y#yum安装bind [root@ns1~]#chkconfignamedon [root@ns1~]#servicenamedstart Startingnamed:named:alreadyrunning[OK] [root@ns1named]#ss-tunl#确认named进程启用,tcp及udp53端口处于监听状态 NetidStateRecv-QSend-QLocalAddress:PortPeerAddress:Port udpUNCONN00192.168.23.110:53*:* tcpLISTEN03192.168.23.110:53*:* 2)停止iptables和selinux功能 [root@ns1~]#serviceiptablesstop#停止iptables服务 [root@ns1~]#chkconfigiptablesoff [root@ns1~]#vi/etc/selinux/config SELINUX=disabled#修改为disabled,其他行注释掉,禁用selinux功能 3)定义主配置文件 [root@ns1~]#vi/etc/named.conf options{ listen-onport53{192.168.4.110;};#定义监听指定ip53端口 directory"/var/named"; allow-query{any;};#允许给所有客户端请求解析 recursionyes;#允许递归 }; include"/etc/named.rfc1912.zones"; 3)定义区域配置文件 [root@ns1~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{#区域定义 typemaster;#类型,主服务器 file"itwish.cn.zone";#区域数据库文件,指向/var/named/itwish.cn.zone }; 4)新建区域解析数据库文件/var/named/itwish.cn.zone [root@ns1~]#vi/var/named/itwish.cn.zone $TTL1D @INSOAns1admin.itwish.cn.(#SOA记录 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1#NS记录 INMX10mail#MX记录 ns1INA192.168.4.110#正向A解析记录 wwwINA192.168.4.110 5)分配权限 [root@ns1~]#chownroot:named/var/named/itwish.cn.zone#修改文件的权限和所属组,保证named进程有此文件的可读属性 [root@ns1~]#chmod640/var/named/itwish.cn.zone [root@ns1~]#ll/var/named/itwish.cn.zone -rw-r-----.1rootnamed120Jun1110:39/var/named/itwish.cn.zone 6)测试 [root@ns1~]#named-checkconf#检查配置文件 [root@ns1~]#named-checkzone"itwish.cn"/var/named/itwish.cn.zone#检查itwish.cn区域配置语法 [root@ns1~]#servicenamedconfigtest#测试所有配置区域 [root@ns1~]#rndcreload#重载配置文件 [root@ns1~]#dig-tAwww.itwish.cn@192.168.4.110//使用dig命令测试,返回以下值说明成功 ;;QUESTIONSECTION: ;www.itwish.cn.INA ;;ANSWERSECTION: www.itwish.cn.10800INA192.168.23.110 [root@ns1~]#dig-tNSitwish.cn@192.168.4.110 ;;QUESTIONSECTION: ;itwish.cn.INNS ;;ANSWERSECTION: itwish.cn.10800INNSns1.itwish.cn. DNS反向解析案例配置 [root@ns1~]#vi/etc/named.rfc1912.zones#加入反向区域 zone"4.168.192.in-addr.arpa"IN{#地址需要反着写,加上.in-addr.arpa typemaster; file"192.168.4.zone"; }; 2)新建区域解析数据库文件 [root@ns1~]]#vi/var/named/192.168.4.zone $TTL3H @INSOAns.itwish.cn.adminns.itwish.cn.( 20180522012;serial 1D;refresh 1H;retry 2W;expire 24H);minimum INNSns1.itwish.cn. 110INPTRns1.itwish.cn. INPTRwww.itwish.cn. 3)分配权限 [root@ns1~]#chownroot:named/var/named/192.168.4.zone#修改文件的权限和所属组,保证named进程有此文件的可读属性 [root@ns1~]#chmod640/var/named/192.168.4.zone 4)测试 [root@ns1~]#named-checkconf#检查配置文件 [root@ns1~]#named-checkzone"192.168.4.zone"/var/named/192.168.4.zone#检查192.168.4.zone区域配置语法 [root@ns1~]#servicenamedconfigtest#测试所有配置区域 [root@ns1~]#rndcreload#重载配置文件 [root@ns1~]#dig-x192.168.4.110@192.168.4.110#使用dig命令测试,返回以下值说明成功 ;;QUESTIONSECTION: ;110.4.168.192.in-addr.arpa.INPTR ;;ANSWERSECTION: 110.4.168.192.in-addr.arpa.10800INPTRns1.itwish.cn. 110.4.168.192.in-addr.arpa.10800INPTRwww.itwish.cn. 区域中添加从服务器的关键项: 在上级获得授权,允许区域传送:# allow-transfer {127.0.0.1;127.16.100.1} 在上级区域数据文件中为从服务器添加一条NS记录和对应的A或PTR记录 DNS主从复制案例配置 1)配置主dns服务器 [root@ns1~]#vi/etc/named.conf options{ listen-onport53{192.168.4.110;}; directory"/var/named"; allow-query{any;}; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns1~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone"; allow-transfer{192.168.4.120;};#允许把该区域传送给从DNS服务器192.168.4.120 }; [root@ns1~]#vi/var/named/itwish.cn.zone $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INNSns2#新增一条ns记录,将从DNS服务器的NS记录添加到此 INMX10mail ns1INA192.168.4.110 wwwINA192.168.4.110 ns2INA192.168.23.120#新增一条A记录,将从DNS服务器的A记录添加到此 2)配置从dns服务器 [root@ns2~]#vi/etc/named.conf options{ listen-onport53{192.168.4.120;}; directory"/var/named"; allow-query{any;}; recursionyes; }; [root@ns2~]#vim/etc/named.rfc1912.zones zone"itwish.cn"IN{ typeslave;#类型为从服务器 masters{192.168.4.110;};#同步DNS服务器的IP地址 file"slaves/itwish.cn.zone";#数据库文件保存到/var/named/slaves/文件夹下,名字叫itwish.cn.zone allow-transfer{none;};#禁止区域传送 }; [root@ns2~]#servicenamedrestart#重启服务 [root@ns2~]#ls/var/named/slaves/#可以看到数据库文件则证明已经同步成功dongfei.com.zone.slave itwish.cn.zone BIND子域授权的实现,在父域的配置文件中添加如下项: 授权的子区域名称 子区域的名称服务器 子区域的名称服务器的IP地址 如 tech IN NS ns3.tech.itwish.cn. ns3.tech.itwish.cn. IN A192.168.4.130 区域转发类型: 全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器,在/etc/named.conf 中配置 特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高,在区域文件zone 中配置 转发器类型: first模式:优先先转发到目标DNS服务器,如果区域不存在,再转发到根上去查询 onyl模式:只转发到目标DNS服务器,如果目标主机没有此查询的信息则转发失败 DNS子域委派与区域转发案例配置 1)配置dns父域 [root@ns1~]#vi/etc/named.conf options{ listen-onport53{192.168.4.110;}; directory"/var/named"; allow-query{any;}; recursionyes; forwardfirst;#first模式,全局转发 forwarders{192.168.4.110;192.168.4.120;};#目标DNS服务器IP }; include"/etc/named.rfc1912.zones"; [root@ns1~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone"; allow-transfer{192.168.4.120;};#允许把该区域传送给从DNS服务器192.168.4.120 }; [root@ns1~]#vi/var/named/itwish.cn.zone#在区域添加子域NS记录及其A记录 $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INNSns2 INMX10mail ns1INA192.168.4.110 wwwINA192.168.4.110 ns2INA192.168.23.120 techINNSns3.tech.itwish.cn.#将tech子域授权给ns3.tech.itwish.cn. ns3.tech.itwish.cn.INA192.168.23.130#添加相对应的正向解析A记录 2)配置子域及区域转发 [root@ns3~]#vi/etc/named.conf options{ listen-onport53{192.168.4.130;}; directory"/var/named"; allow-query{any;}; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns3~]#vi/etc/named.rfc1912.zones zone"tech.itwish.cn"IN{ typemaster; file"tech.itwish.cn.zone"; }; zone"itwish.cn"IN{ typeforward;#转发区域 forwarders{192.168.4.110;192.168.4.120;};#转发目标服务器 forwardfirst;#优先先转发到目标DNS服务器,如果区域不存在,再转发到根上去查询 }; [root@ns3named]#vi/var/named/tech.itwish.cn.zone#配置子域区域文件 $TTL10800;3hours tech.itwish.cnINSOAns3.tech.itwish.cn.adminns.tech.itwish.cn.( 1884700031;serial 86400;refresh(1day) 3600;retry(1hour) 1209600;expire(2weeks) 86400;minimum(1day) ) NSns3.tech.itwish.cn. MX10mail.tech.itwish.cn. $ORIGINtech.itwish.cn. mailA192.168.23.130 ns3A192.168.23.130 wwwA192.168.23.110 bind有四个内置的acl,acl——把一个或多个地址归并为一个集合,并通过一个统一的名称调用;只能先定义,后使用,因此一般定义在配置文件中,处于options的前面 none: 没有一个主机 any: 任意主机 localhost: 本机 localnet: 本机的IP同掩码运算后得到的网络地址 view:视图:实现智能DNS 一个bind服务器可定义多个view,每个view中可定义一个或多个zone 每个view用来匹配一组客户端,所有的zone都只能定义在view中 多个view内可能需要对同一个区域进行解析,但使用不同的区域解析库文件 DNSview视图配置 [root@localhostnamed]#vi/etc/named.rfc1912.zones acluniom{#定义acl,注意acl的匹配顺序关系,至上而下 192.168.4.0/24; }; acltelom{ 172.16.10.0/24; }; aclothom{ any; }; viewuninet{#定义view视图,所有的zone都需定义在view中 match-clients{uniom;};#匹配的acl选项 zone"localhost"IN{ typemaster; file"named.localhost"; allow-update{none;}; }; zone"0.0.127.in-addr.arpa"IN{ typemaster; file"named.loopback"; allow-update{none;}; }; zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone.uniom"; }; }; viewtelnet{ match-clients{telom;}; zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone.telom"; }; viewanynet{ match-clients{othom;}; zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone.uniom"; }; }; [root@localhostnamed]#viitwish.cn.zone.uniom $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INMX10mail ns1INA192.168.4.110 wwwINA192.168.4.120 [root@localhostnamed]#viitwish.cn.zone.telom $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INMX10mail ns1INA172.16.10.1 wwwINA172.16.10.2 [root@localhostnamed]#dig-tAwww.itwish.cn@172.16.10.1#确认通过172.16.10.x的客户端进行访问,获取的ip为172.16.10.2 ;;QUESTIONSECTION: ;www.itwish.cn.INA ;;ANSWERSECTION: www.itwish.cn.86400INA172.16.10.2 ;;AUTHORITYSECTION: itwish.cn.86400INNSns1.itwish.cn. ;;ADDITIONALSECTION: ns1.itwish.cn.86400INA172.16.10.1 [root@localhostnamed]#dig-tAwww.itwish.cn@192.168.4.110#确认通过192.168.4.x的客户端进行访问,获取的ip为192.168.10.120 ;;QUESTIONSECTION: ;www.itwish.cn.INA ;;ANSWERSECTION: www.itwish.cn.86400INA192.168.4.120 ;;AUTHORITYSECTION: itwish.cn.86400INNSns1.itwish.cn. ;;ADDITIONALSECTION: ns1.itwish.cn.86400INA192.168.4.110 部署安装DNS(域名解析)系统 部署实验: 1、部署根域名解析服务器 2、部署一级域名.cn 域名解析服务器 3、部署二级域名.itwish 和.goodoing 域名解析系统,ns1 与 ns2 服务器实现主从复制功能 4、部署子域tech域名解析服务器,ns3 与 ns4 服务器实现主从复制 ,部署转发区域itwish.cn 及goodoing.cn ,转发服务器为ns1 和 ns2 5、部署缓存域名解析服务器,client用户dns 地址指向 192.168.4.100 ,测试解析 实验拓扑: 1)对所有服务器,安装bind组件,禁用selinux功能并停止iptables功能 #yuminstallbindbind-utils-y#yum安装bind #servicenamedstart #serviceiptablesstop#停止iptables服务 #chkconfigiptablesoff #vi/etc/selinux/config SELINUX=disabled#修改为disabled,其他行注释掉,禁用selinux功能 2)部署根域名解析服务器 [root@PXEnamed]#vi/etc/named.conf options{ listen-onport53{192.168.4.150;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@PXEnamed]#vi/etc/named.rfc1912.zones zone"."IN{#增加根域 typemaster; file"root.zone"; allow-transfer{none;}; }; [root@PXEnamed]#vi/var/named/root.zone#定义根域数据库文件 $TTL1D @INSOAroot.radmin.( 2018061005;serial 1D;refresh 1H;retry 1W;expire 3H);minimum NSroot. root.INA192.168.4.150 cnINNSdns.cn.#定义子域cn dns.cn.INA192.168.4.160 [root@PXE~]#chownroot:named/var/named/*.zone#修改文件的权限和所属组,保证named进程有此文件的可读属性 [root@PXE~]#chmod640/var/named/*.zone [root@PXE~]#named-checkconf#检查配置文件 [root@PXE~]#servicenamedconfigtest#测试所有配置区域 [root@PXE~]#rndcreload#重载配置文件 3)部署cn域名解析服务器 [root@cnnamed]#vi/etc/named.conf options{ listen-onport53{192.168.4.160;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc112.zones"; [root@cnnamed]#vi/etc/named.rfc1912.zones zone"cn"IN{ typemaster; file"cn.zone"; }; [root@cnnamed]#vi/var/named/cn.zone $TTL1D @INSOAdnsadmin.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum NSdns dnsINA192.168.4.160 itwishINNSns1.itwish INNSns2.itwish ns1.itwish.cn.INA192.168.4.110 ns2.itwish.cn.INA192.168.4.120 [root@cn~]#chownroot:named/var/named/*.zone [root@cn~]#chmod640/var/named/*.zone [root@cn~]#named-checkconf [root@cn~]#servicenamedconfigtest [root@cn~]#rndcreload 4)部署ns1域名解析服务器 [root@ns1~]#vi/etc/named.conf options{ listen-onport53{192.168.4.110;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns1~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone"; allow-transfer{192.168.4.120;}; }; zone"goodoing.cn"IN{ typeslave; masters{192.168.4.120;}; file"slaves/goodoing.cn.zone"; allow-transfer{none;}; }; [root@ns1~]#vi/var/named/itwish.cn.zone $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INNSns2 INMX10mail ns1INA192.168.4.110 ns2INA192.168.4.120 wwwINA192.168.4.110 mailINA192.168.4.110 techINNSns3.tech INNSns4.tech ns3.techINA192.168.4.130 ns4.techINA192.168.4.140 [root@ns1~]#chownroot:named/var/named/*.zone [root@ns1~]#chmod640/var/named/*.zone [root@ns1~]#named-checkconf [root@ns1~]#servicenamedconfigtest [root@ns1~]#rndcreload 5)部署ns2域名解析服务器 [root@ns2~]#vi/etc/named.conf options{ listen-onport53{192.168.4.120;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns2~]#vi/etc/named.rfc1912.zones zone"goodoing.cn"IN{ typemaster; file"goodoing.cn.zone"; allow-transfer{192.168.4.110;}; }; zone"itwish.cn"IN{ typeslave; masters{192.168.4.110;}; file"slaves/itwish.cn.zone"; allow-transfer{none;}; }; [root@ns2~]#vi/var/named/goodoing.cn.zone $TTL1D @INSOAns2admin.goodoing.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INNSns2 INMX10mail ns1INA192.168.4.110 ns2INA192.168.4.120 wwwINA192.168.4.120 mailINA192.168.4.120 techINNSns3.tech INNSns4.tech ns3.techINA192.168.4.130 ns4.techINA192.168.4.140 [root@ns2~]#chownroot:named/var/named/*.zone [root@ns2~]#chmod640/var/named/*.zone [root@ns2~]#named-checkconf [root@ns2~]#servicenamedconfigtest [root@ns2~]#rndcreload 6)部署ns3域名解析服务器 [root@ns3~]#vi/etc/named.conf options{ listen-onport53{192.168.4.130;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns3~]#vi/etc/named.rfc1912.zones zone"tech.itwish.cn"IN{ typemaster; file"tech.itwish.cn.zone"; allow-transfer{192.168.4.140;}; }; zone"tech.goodoing.cn"IN{ typeslave; masters{192.168.4.140;}; file"slaves/tech.goodoing.cn.zone"; allow-transfer{none;}; }; zone"itwish.cn"IN{ typeforward; forwardfirst; forwarders{192.168.4.110;192.168.4.120;}; }; zone"goodoing.cn"IN{ typeforward; forwardfirst; forwarders{192.168.4.110;192.168.4.120;}; }; [root@ns3~]#vi/var/named/tech.itwish.cn.zone $TTL1D @INSOAns3admin.tech.itwish.cn.( 2018061002;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns3 INNSns4 INMX10mail ns3INA192.168.4.130 ns4INA192.168.4.140 wwwINA192.168.4.130 mailINA192.168.4.130 [root@ns3~]#chownroot:named/var/named/*.zone [root@ns3~]#chmod640/var/named/*.zone [root@ns3~]#named-checkconf [root@ns3~]#servicenamedconfigtest [root@ns3~]#rndcreload 7)部署ns4域名解析服务器 [root@ns4~]#vi/etc/named.conf options{ listen-onport53{192.168.4.140;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns4~]#vi/etc/named.rfc1912.zones zone"tech.goodoing.cn"IN{ typemaster; file"tech.goodoing.cn.zone"; allow-transfer{192.168.4.130;}; }; zone"tech.itwish.cn"IN{ typeslave; masters{192.168.4.130;}; file"slaves/tech.itwish.cn.zone"; allow-transfer{none;}; }; zone"itwish.cn"IN{ typeforward; forwardfirst; forwarders{192.168.4.110;192.168.4.120;}; }; zone"goodoing.cn"IN{ typeforward; forwardfirst; forwarders{192.168.4.110;192.168.4.120;}; }; [root@ns4~]#vi/var/named/tech.goodoing.cn.zone $TTL1D @INSOAns4admin.tech.goodoing.cn.( 2018061002;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns3 INNSns4 INMX10mail ns3INA192.168.4.130 ns4INA192.168.4.140 wwwINA192.168.4.130 mailINA192.168.4.130 [root@ns4~]#chownroot:named/var/named/*.zone [root@ns4~]#chmod640/var/named/*.zone [root@ns4~]#named-checkconf [root@ns4~]#servicenamedconfigtest [root@ns4~]#rndcreload 8)配置cach缓存DNS服务器,测试域名解析 [root@cach~]#vi/etc/named.conf options{ listen-onport53{192.168.4.100;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; zone"."IN{ typehint; file"named.ca"; }; include"/etc/named.rfc1912.zones"; [root@cach~]#vi/var/named/named.ca .3600000NSA.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET.3600000A192.168.4.150#将根服务器指向我们自己搭建的根DNS服务器 [root@cachnamed]#dig-tNS. ;;QUESTIONSECTION: ;.INNS ;;ANSWERSECTION: .82572INNSroot. [root@cachnamed]#dig-tNScn ;;QUESTIONSECTION: ;cn.INNS ;;ANSWERSECTION: cn.86400INNSdns.cn. [root@cachnamed]#dig-tNSitwish.cn ;;QUESTIONSECTION: ;itwish.cn.INNS ;;ANSWERSECTION: itwish.cn.86400INNSns1.itwish.cn. itwish.cn.86400INNSns2.itwish.cn. [root@cachnamed]#dig-tNStech.itwish.cn ;;QUESTIONSECTION: ;tech.itwish.cn.INNS ;;ANSWERSECTION: tech.itwish.cn.86400INNSns4.tech.itwish.cn. tech.itwish.cn.86400INNSns3.tech.itwish.cn. [root@cachnamed]#dig-tNStech.goodoing.cn ;;QUESTIONSECTION: ;tech.goodoing.cn.INNS ;;ANSWERSECTION: tech.goodoing.cn.86400INNSns4.tech.goodoing.cn. tech.goodoing.cn.86400INNSns3.tech.goodoing.cn. [root@cachnamed]#dig-tAwww.tech.goodoing.cn ;;QUESTIONSECTION: ;www.tech.goodoing.cn.INA ;;ANSWERSECTION: www.tech.goodoing.cn.86400INA192.168.4.130 至此,linux DNS系统部署并调配完成,实现了内网根域及各主机的解析。