bing高级应用(第19天)

子域授权:分布式数据库
比如:magedu.com通过子域授权分出ops.magedu.com和fin.magedu.com等子域名。

正向解析区域子域方法如下:
    在父域的解析库文件中定义一个子区域:
    ops.magedu.com. IN NS ns1.ops.magedu.com.
    ops.magedu.com. IN NS ns2.ops.magedu.com.
    ns1.ops.magedu.com. IN A 1.1.1.1
    ns2.ops.magedu.com. IN A 1.1.1.2

    fin.magedu.com. IN NS ns1.fin.magedu.com.
    fin.magedu.com. IN NS ns2.fin.magedu.com.
    ns1.fin.magedu.com. IN A 3.1.1.1
    ns2.fin.magedu.com. IN A 3.1.1.2


定义转发服务器:
例子:比如ops.magedu.com域内的st2.ops.magedu.com这个主机想要访问父域magedu.com域内的www.magedu.com主机,并且设置st2.ops.magedu.com的首选DNS服务器为ns1.ops.magedu.com。那么名称解析服务器ns1.ops.magedu.com就可以将解析直接交给父域的名称解析服务器ns1.magedu.com,而不是去请求根。有一个注意点,ns1.magedu.com必须能够为ns1.ops.magedu.com做递归查询,否则,转发请求不能进行。
注意:被转发的服务器需要能够为请求者做递归,否则,转发请求不予进行;

(1) 全部转发: 凡是对非本机所有负责解析的区域的请求,统统转发给指定的服务器;
Options {
forward {first|only}  //转发模式,first表示首先转发给forwarders里定义的服务器,如果对方拒绝,则自己去迭代。only表示转发给forwarders里定义的服务器,如果对方拒绝,则就此放弃
forwarders
}

(2) 区域转发:仅转发对特定的区域(ZONE_NAME)的请求至某服务器;
zone "ZONE_NAME" IN {
type forward;
forward {first|only}
forwarders
}

注意:关闭dnssec功能:
dnssec-enable no;
dnssec-validation no;


bind中基础的安全相关的配置:
acl: 把一个或多个地址归并为一个集合,并通过一个统一的名称调用;
acl acl_name {
ip;
ip;
net/prelen;
};
示例:
acl mynet {
172.16.0.0/16;
}

bind有四个内置的acl:
none: 没有一个主机;
any: 任意主机;
local: 本机;
localnet: 本机的IP同掩码运算后得到的网络地址;

注意:acl只能先定义,后使用;因此,其一般定义在配置文件中options的前面;

访问控制的指令:
allow-query {}: 允许查询的主机;白名单;
allow-transfer {}:允许区域传送的主机;白名单;
allow-recursion {}: 允许递归的主机;
allow-update {}: 允许更新区域数据库文件中的内容;


bind view: 
视图:
一个bind服务器可定义多个view,每个view中可定义一个或多个zone;
每个view用来匹配一组客户端;为这组客户服务
多个view内可能需要对同一个区域(比如magedu.com)进行解析,但使用不同的区域解析库文件;(比如电信的用户和铁通的用户分别通过的不同view来解析magedu.com域)

view VIEW_NAME {
match-clients {  };
    zone...

}

注意:
(1) 一旦启用了view,所有的zone都只能定义在view中;
(2) 仅有必要在匹配到允许递归请求的客户所在view中定义根区域;
(3) 客户端请求到达时,是自上而下检查每个view所服务的客户端列表;



CDN: Content Delivery Network

智能DNS:
dnspod
dns.la


编译安装bind:
bind源代码位于isc.org:
bind-9.8
bind-9.9
bind-10

bind-9.10源代码编译安装步骤
# tar
# cd
# groupadd -r -g 53 named
# useradd -r -u 53 -g 53 named
# ./configure --prefix=/usr/local/bind9 --sysconfdir=/etc/named/ --disable-ipv6 --disable-chroot --enable-threads
# make
# make install
编译完成之后,bing提供的命令无法直接使用,必须导出/usr/local/bind9/bin/和/usr/local/bind9/sbin/目录的二进制文件到PATH环境变量中 :
touch /etc/profile.d/named.sh
echo "export PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin:$PATH" >> /etc/profile.d/named.sh

导出bind的库文件:
touch /etc/ld.so.conf.d/named.conf
echo "/usr/local/bind9/lib" >> /etc/ld.so.conf.d/named.conf

导出bind的头文件:
ln -sv /usr/local/bind9/include  /usr/include/named

文档:
编辑/etc/man.conf,加入MANPATH  /usr/local/bind9/share/man


前次博客作业附加:子域授权和view;





















































评论

此博客中的热门博文

OAuth 2教程

网格策略

apt-get详细使用