-
Notifications
You must be signed in to change notification settings - Fork 152
viewManage
LostSymbol edited this page May 15, 2019
·
2 revisions
视图是BIND9强大的新功能,视图允许BIND根据访问它的主机提供不同的功能。
用到view域名管理的情况 需要外网域名根据请求主机来源访问就近服务器,不同的公司这部分功能需求差异可能比较大,我们的解决方案仅供参考。
为来自不同运营商的主机提供不同的DNS查询结果
- 为不同的运营商配置不同的ACL(访问控制列表)
- 外网域名
www.corp.com
- 域名所在zone
corp.com
, cname到配置视图的zoneview.com
:www IN CNAME www.view.com.
- bind根据请求主机IP解析域名
www.view.com
到不同的CNAME, CNAME到的域名属于普通zoneview.corp.com
:www IN CNAME www.def.view.corp.com.
, 其中def
是运营商在系统中配置的英文缩写 -
www.def.view.corp.com
解析到为域名www.corp.com
的运营商def
配置的ip或CNAME
- 域名所在zone
下文的view域名指属于配置了视图的zone的域名
...
[view]
;acl文件变更应该推送到的主机组,可以有多个主机组,逗号隔开
acl_groups = ViewSlave
;要配置视图的zone,目前只支持单一zone
view_zone = view.com
;view_zone中CNAME记录的TTL
cname_ttl = 300
;普通域名zone和cname到的view域名后缀的对应关系
normal_view = corp.com:corp.view.com
normal_cname = corp.com:view.corp.com
...
- 主机组配置 请到配置管理 --> 主机管理 中配置
acl_groups
中定义的主机组 - 配置文件中
view_zone normal_cname
中配置的zone都要在系统中有header记录
$ export FLASK_APP=dnsdb_command.py
$ export FLASK_ENV=beta
$ flask add-colo-config --colos bj1,bj2 --group view
参数说明
-
group:
view
,不要改变 - colos:子网管理配置的机房的子集
必要参数 英文名 中文别名 英文简写,不能重复
可选参数
- ACL名称 访问控制列表名称,不同运营商对应的ACL不能相同
- ACL文件 访问控制列表所在文件名
$ export FLASK_APP=dnsdb_command.py
$ export FLASK_ENV=beta
$ flask import-acl-subnet --acl_dir /var/named/chroot/var/named
每个acl文件中指能包含一个ACL,格式如下:
acl acl_name {
1.51.0.0/20;
};
-
搜索 根据ip搜索管理的acl网段
-
新增网段
- 可选的运营商 配置了acl文件的运营商
- 网段 与运营商对应的acl中已有的网段不能有交叉
-
迁移 将属于运营商A的ACL的网段迁到运营商B
- 恢复 将迁移的网段恢复到原来的ACL
页面导航 View域名 --> 域名管理 - 新增域名
参数说明
-
域名 域名的zone应该是
etc/beta/dnsdb.conf
配置的normal_cname
中的key - 属性中包含两部分: 机房、CDN
- 机房 上图的'bj1, bj2'属于机房,输入属于该机房的外网ip, 输入后回车保存
-
CDN 配置为该域名申请的CDN, 格式
name:cname
同一个CDN厂商只能有一个域名
提交成功,可以看到如下界面:
对每个运营商,机房或者CDN必须有一种且只能一种启用。
修改完成后,点击右上角的提交按钮保存
域名修改和新增界面相同,可以对配置进行增删:
- 不能删除已经启用的机房或CDN
当某个机房的某个运营商需要维护或者出现异常,则可以将对应的域名解析迁移到其他机房。
参数说明
- 运营商 要维护或异常的运营商
- 迁移机房 源机房, 要维护或异常的机房
- 目的机房
如果参数如上图所示,那么迁移操作要做是:
- 找到为运营商
中国电信、中国联通
启用了迁移机房bj2
的域名 - 确定域名在目标机房
bj1
上是否有配置的话 - 如果有启用目标机房配置,关闭迁移机房配置;如果没有则不迁移
点击预览按钮,看到上图表中迁移运营商
字段两个域名的差别:
点击迁移按钮, 看下迁移后两个域名的状态:
按钮一键恢复,恢复所有迁移域名到迁移之前的状态:所有处于迁移完成状态的记录,状态都变为已恢复