子域授权
子域授权:每个域的名称服务器,都是通过其上级名称服务器在解析库进行授权;
类似根域授权tld:
.com. IN NS ns1.com.
.com. IN NS ns2.com.
ns1.com. IN A 2.2.2.1
ns2.com. IN A 2.2.2.2
xmdb.com.在.com的名称服务器上,解析库中添加资源记录:
xmdb.com. IN NS ns1.xmdb.com.
xmdb.com. IN NS ns2.xmdb.com.
xmdb.com. IN NS ns3.xmdb.com.
ns1.xmdb.com. IN A 3.3.3.1
ns2.xmdb.com. IN A 3.3.3.2
ns3.xmdb.com. IN A 3.3.3.3
父域知道子域,子域不知道父域,因为父域定义了子域,但是子域没有定义父域;如客户查询www.baidu.com不直接找.com服务器解析,而是找根解析,当然定义了转发器除外
实际配置:
要求:为xmfb.com,定义子域ops
实验环境:
父域:192.168.0.102
子域:192.168.0.104
父域配置:
定义ops子域
[root@DNS ~]# cat /var/named/xmfb.com.zone $TTL 86400 $ORIGIN xmfb.com. @ IN SOAns1.xmfb.com.admin.xmfb.com ( 2015042201 1H 5M 7D 1D) INNS ns1 INMX 10 mx1 INMX 20 mx2 ns1IN A 192.168.0.102 mx1IN A 192.168.0.1 mx2IN A 192.168.0.2 wwwIN A 192.168.0.3 wwwIN A 192.168.0.4 ftpIN CNAME www ops IN NS ns1.ops #子域的定义内容 ops IN NS ns2.ops #表示子域有两台服务器 ns1.ops IN A 192.168.0.10 ns2.ops IN A 192.168.0.20
如果客户端发出请求,那么当请求到达父域的时候,服务就会转发给子区域,由子区域响应请求
子域服务器配置
安装软件
[root@localhost ~]# yum -yinstall bind
主配置文件定义
[root@localhost ~]# cat /etc/named.conf options { 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 { type hint; file"named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
辅助配置文件定义
[root@localhost ~]# cat /etc/named.rfc1912.zones zone "ops.xmfb.com" IN { typemaster; file"ops.xmfb.com.zone"; };
定义区域解析库
[root@localhost ~]# cat/var/named/ops.xmfb.com.zone $TTL 86400 $ORIGIN ops.xmfb.com. @ IN SOA ns1.ops.xmfb.com. admin.ops.xmfb.com. ( 2015042501 1H 10M 3D 1D) IN NS ns1 IN NS ns2 ns1 IN A 192.168.0.10 ns2 IN A 192.168.0.20 www IN A 192.168.0.11 * IN A 192.168.0.11
配置区域解析库文件属组
[root@localhost ~]# chown :named/var/named/ops.xmfb.com.zone
验证解析
[root@localhost ~]# dig -t A www.ops.xmfb.com@192.168.0.104 ; <<>> DiG9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.2 <<>> -t A www.ops.xmfb.com@192.168.0.104 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status:NOERROR, id: 63269 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1,AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.ops.xmfb.com. IN A ;; ANSWER SECTION: www.ops.xmfb.com.86400 IN A 192.168.0.11 ;; AUTHORITY SECTION: ops.xmfb.com. 86400 IN NS ns2.ops.xmfb.com. ops.xmfb.com. 86400 IN NS ns1.ops.xmfb.com. ;; ADDITIONAL SECTION: ns1.ops.xmfb.com.86400 IN A 192.168.0.10 ns2.ops.xmfb.com.86400 IN A 192.168.0.20 ;; Query time: 1 msec ;; SERVER: 192.168.0.104#53(192.168.0.104) ;; WHEN: Thu Apr 23 13:30:47 2015 ;; MSG SIZE rcvd: 118
定义转发服务器:
为什么使用转发器?
1、当子域解析父域区域记录的时候,由于子域没有父域的记录,那么就回去找根,这样就大大浪费了时间;可以把其他人对子域的请求转给父域让父域代为解析。
2、如果是公司使用可以把客户端请求转发给本地运营商,他们的dns服务器会记录其他人解析的结果;如果dns服务器找运行商,发现有缓存就会直接从缓存中返回答案,提高解析效率。
注意:被转发的服务器需要能够为请求者做递归,否则,转发请求不予进行;
(1)全部转发: 凡是对非本机所有负责解析的区域的请求,统统转发给指定的服务器;
Options{ forward{first|only} fowwarders }
first:先转发,如果没有答案则把请求给根
Only:如果转发服务器没有答案,则把请求给根
(2)区域转发:仅转发对特定的区域的请求至某服务器;
zone"ZONE_NAME" IN { typeforward; forward{first|only} forwarders }
注意:关闭dnssec功能:
dnssec-enableno;
dnssec-validationno;
dns中基础的安全相关的配置:
acl:把一个或多个地址归并为一个集合,并通过一个统一的名称调用;
aclacl_name {
ip;
ip;
net/prelen;
};
bind有四个内置的acl:
none:没有一个主机;
any:任意主机;
local:本机;
localnet:本机的IP同掩码运算后得到的网络地址;
注意:只能先定义,后使用;因此,其一般定义在配置文件中options的前面;
访问控制的指令:
allow-query{}: 允许查询的主机;白名单;
allow-transfer{}:允许区域传送的主机;白名单;
allow-recursion{}: 允许递归的主机;
allow-update{}: 允许更新区域数据库中的内容;
示例:
acl slaves { 192.168.0.104; #定义一个访问控制列表 }; zone "xmfb.com" IN { typemaster; file"xmfb.com.zone"; allow-transfer { slaves; }; #使用访问控制列表 };
View 视图
将请求者根据其来源进行分类,分类后实现使用不同的区域解析库来解析对某区域主机的请求。目前主要应用于CDN技术领域
配置方法:
viewVIEW_NAME { #定义视图 match-clients { }; #定义视图解析的来源地址 zone{} #视图解析的区域 zone{} } #视图结束
一个bind服务器可定义多个view,每个view中可定义一个或多个zone;
每个view用一来匹配一组客户端;
多个view内可能需要对同一个区域进行解析,但使用不同的区域解析库文件;
注意:
(1)一旦启用了view,所有的zone都只能定义在view中;
(2)仅有必要在匹配到允许递归请求的客户所在view中定义根区域;
(3)客户端请求到达时,是自上而下检查每个view所服务的客户端列表;
实验环境
示例:
内网部署了一台web服务器,要求内网用户通过dns服务器解析,解析结果为web服务器的内网地址;外网用户解析,解析结果为web服务器发布到网关的ip地址。
没有定义视图之前内网客户机访问web服务器:
1、访问dns服务器解析web服务器地址,解析到的地址为网关的公网地址
2、访问网关的公网地址
3、网关通过nat转换机制将请求发给web服务器完成访问
定义视图之后访问内网服务器:
1、访问dns服务器,解析到的地址为内网地址
2、直接访问内网web服务器
定义视图的好处就是:内网用户省去了访问网关的转换过程,加快了访问速度
拓扑地址说明:
网关:192.168.0.1,开启路由功能
172.16.0.1
172.16.0.0/16模拟内网地址
192.168.0.0/24模拟外网地址
DNS:172.16.4.100
client:192.168.0.104
保证DNS和client,可以ping通即可。
服务器配置
DNS服务器配置
[root@DNS ~]# cat /etc/named.conf options { listen-onport 53 { 172.16.4.100; 127.0.0.1; }; directory "/var/named"; }; acl mynet { #定义acl列表为内网地址 172.16.0.0/16; 127.0.0.0/8; }; view internal { #定义一个内网用户解析的视图 match-clients { mynet; }; #定义内网客户端列表,由于定义了ACL所以直接使用ACL即可 allow-recursion { mynet; }; #允许递归 zone "." IN { typehint; file"named.ca"; }; zone "xmfb.com" IN { typemaster; file"xmfb.com.zone"; }; }; #内网视图的结束 view external { #定义一个外网解析的视图 match-clients { any; }; zone "xmfb.com" IN { typemaster; file"xmfb.com.external"; allow-update { none; }; }; }; #外网解析视图的结束
内网区域解析库
[root@DNS named]# cat xmfb.com.zone $TTL 86400 $ORIGIN xmfb.com. @ IN SOAns1.xmfb.com.admin.xmfb.com ( 2015042201 1H 5M 7D 1D) INNS ns1 INMX 10 mx1 INMX 20 mx2 ns1 IN A 172.16.4.100 mx1 IN A 172.16.1.1 mx2 IN A 172.16.1.2 www IN A 172.16.1.3 www IN A 172.16.1.4 ftp IN CNAME www
外网区域解析库
[root@DNS named]# cat xmfb.com.external $TTL 86400 $ORIGIN xmfb.com. @ IN SOAns1.xmfb.com.admin.xmfb.com ( 2015042201 1H 5M 7D 1D) INNS ns1 INMX 10 mx1 INMX 20 mx2 ns1 IN A 172.16.4.100 mx1 IN A 192.168.1.1 mx2 IN A 192.168.1.2 www IN A 192.168.1.3 www IN A 192.168.1.4 ftp IN CNAME www
验证
内网解析:
[root@DNS ~]# dig -t A www.xmfb.com @172.16.4.100 ; <<>> DiG9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.2 <<>> -t A www.xmfb.com@172.16.4.100 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status:NOERROR, id: 14808 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2,AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.xmfb.com. IN A ;; ANSWER SECTION: www.xmfb.com. 86400 IN A 172.16.1.4 #解析为内网地址 www.xmfb.com. 86400 IN A 172.16.1.3 ;; AUTHORITY SECTION: xmfb.com. 86400 IN NS ns1.xmfb.com. ;; ADDITIONAL SECTION: ns1.xmfb.com. 86400 IN A 172.16.4.100 ;; Query time: 1 msec ;; SERVER: 172.16.4.100#53(172.16.4.100) ;; WHEN: Thu Apr 23 19:11:19 2015 ;; MSG SIZE rcvd: 96
外网解析:
[root@client ~]# dig -t A www.xmfb.com@172.16.4.100 ; <<>> DiG9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.2 <<>> -t A www.xmfb.com@172.16.4.100 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status:NOERROR, id: 9925 ;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY:1, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;www.xmfb.com. IN A ;; ANSWER SECTION: www.xmfb.com. 86400 IN A 192.168.1.3 #解析为外网地址 www.xmfb.com. 86400 IN A 192.168.1.4 ;; AUTHORITY SECTION: xmfb.com. 86400 IN NS ns1.xmfb.com. ;; ADDITIONAL SECTION: ns1.xmfb.com. 86400 IN A 172.16.4.100 ;; Query time: 7 msec ;; SERVER: 172.16.4.100#53(172.16.4.100) ;; WHEN: Thu Apr 23 19:15:52 2015 ;; MSG SIZE rcvd: 96
转载于:https://blog.51cto.com/ximenfeibing/1640472