-
Notifications
You must be signed in to change notification settings - Fork 155
startUpdater
LostSymbol edited this page Jan 28, 2019
·
7 revisions
页面导航: 配置管理 --> 主机管理 --> 新增主机组
说明
- 主机组名称以Master或Slave结尾
- 所有主机名或者ip不能重复
$ export FLASK_APP=dnsdb_command.py
$ export FLASK_ENV=beta
$ flask import-named-conf --group_name Master --file_path /usr/local/etc/named.conf
# 参数
# group_name: 主机组名称
# file_path: named.conf文件位置
# 文件格式
# 所有的zone配置放在文件末尾
如果是刚创建的bind服务可以跳过这一步,直接进行下一步。
将要在DNSDB中管理的zone的解析库文件放在一个文件夹中,按下面的命令导入: 文件名称要和文件内容中**$ORIGIN**定义的zone相同, 比如:
$ head **omitted.cn**
$ORIGIN **omitted.cn**.
$TTL 120
@ IN SOA 0. konglc.omitted.cn. (
2019011601 ; serial
21600 ; refresh
3600 ; retry
604800 ; expiry
120 ; minimum ttl
)
$ flask import-zone-records --zone_dir /usr/local/var/named --zone_group Master --user username
# 参数
# zone_dir: 包含zone文件的目录
# zone_group: zone所属主机组
# user: 操作者
# 文件格式
# zone文件中代表serial_num的一行必须是如下格式:
# '3000000026 ; Serial'
# 文件夹中不要包含反解zone
$ vim etc/template/zone_header
# 文件内容
$TTL 7200 ; 2 hours
@ IN SOA localhost. root.localhost. (
pre_serial ; Serial
3600 ; Refresh (1 hour)
900 ; Retry (15 minutes)
3600000 ; Expire (5 weeks 6 days 16 hours)
3600 ; Minimum (1 hour)
)
@ 2D IN NS localhost.
$ORIGIN zone_name.
文件末尾行 $ORIGIN zone_name. 不要做任何变动。NS服务器的相关配置请根据自己情况修改。
之后在DNSDB中新加zone时,zone的解析库文件将直接根据此文件生成。
$ cp tools/updater/mkrdns /sbin/mkrdns
$ chmod +x /sbin/mkrdns
配置文件: etc/beta/dnsdb-updater.conf
[etc]
; 临时文件位置
tmp_dir=/usr/local/open-dnsdb/tmp
log_dir = /var/log/open-dnsdb
; 备份文件位置
backup_dir=/usr/local/backup
pidfile=/usr/local/open-dnsdb/tmp/named_updater.pid
; 时间间隔,检查是否有需要更新的zone解析
zone_update_interval = 5
allow_ip = 127.0.0.1
[log]
log-file = dnsdb_updater.log
[web]
port = 9000
[gunicorn]
bind = 0.0.0.0:9000
[bind_default]
;bind相关文件目录
named_dir = /var/named/chroot/etc
zone_dir = /var/named/chroot/var/named
acl_dir = /var/named/chroot/var/named
;bind相关命令
named_checkconf = /usr/sbin/named-checkconf
named_zonecheck = /usr/sbin/named-checkzone
;反解文件生成工具
mkrdns = /sbin/mkrdns
rndc = /usr/sbin/rndc
; 可选配置, 当主机组的配置和bind_default有差异时,配置差异项
[Master]
named_dir = /Users/guoliluo/qunar/var/named/chroot/etc
zone_dir = /Users/guoliluo/qunar/var/named/chroot/var/named
重点关注下 [bind_default]中的内容,根据自己的实际情况更改下。
open-dnsdb程序必须先启动,因为updater会调用它的接口去读获取当前主机所在的主机组。
open-dnsdb-conf-updater: 更新named.conf、访问控制列表文件
open-dnsdb-zone-updater: 更新zone解析库文件
以Slave结尾的主机组中的主机open-dnsdb-zone-updater程序无法启动,因为bind的slave服务器zone解析库文件和master去同步。
$ cp etc/beta/supervisor-updater.conf /etc/supervisor/conf.d/open-dnsdb-updater.conf
$ supervisord -c /etc/supervisord.conf
supervisor> reload
Really restart the remote supervisord process y/N? y
Restarted supervisord
supervisor> status
open-dnsdb RUNNING pid 89500, uptime 0:00:06
open-dnsdb-conf-updater RUNNING pid 89499, uptime 0:00:06
open-dnsdb-zone-updater RUNNING pid 89501, uptime 0:00:06