Flask Bind-DLZ + Mysql DNS 管理平台
Posted 51reboot运维开发
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask Bind-DLZ + Mysql DNS 管理平台相关的知识,希望对你有一定的参考价值。
系统环境:CentOS 6.5 X64
软件版本:
bind-9.9.5.tar.gz
mysql-5.6.16.tar.gz
描述:
数据库安装就不在这里具体说了,了解运维的同学都应该知道,不知道的大家可以百度查阅。
bind 相关配置文件,详见 https://github.com/1032231418/Bind-Web.git
源码安装配置 Bind
1.源码编译安装
tar -zxvf bind-9.9.5.tar.gz #解压压缩包 cd bind-9.9.5 ./configure --prefix=/usr/local/bind/ --enable-threads=no --enable-newstats --with-dlz-mysql --disable-openssl-version-check #官网说明强调编译关闭多线程,即--enable-threads=no make make install #源码编译安装完成
2.环境变量配置
cat>>/etc/profile< PATH=$PATH:/usr/local/bind/bin:/usr/local/bind/sbin export PATH EOF
source /etc/profile #重新加载一下环境变量 named -v
如下图,说明环境变量是正常
3.用户添加授权目录
useradd -s /sbin/nologin named chown -R named:named /usr/local/bind/
4. 配置 Bind
vi /usr/local/bind/etc/named.conf
options{ directory"/usr/local/bind/"; version"bind-9.9.9"; listen-onport53 { any; }; allow-query-cache { any; }; listen-on-v6port53 {::1; }; allow-query { any; }; recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; }; key"rndc-key"{ algorithm hmac-md5; secret"C4Fg6OGjJipHKfgUWcAh+g=="; }; controls { inet 127.0.0.1port953 allow{ 127.0.0.1; } keys {"rndc-key";}; }; view"ours_domain"{ match-clients {any; }; allow-query-cache {any; }; allow-recursion {any; }; allow-transfer {any; }; dlz"Mysql zone"{ database"mysql {host=127.0.0.1 dbname=named ssl=false port=3306 user=root pass=123456} {select zone from dns_records where zone='$zone$'} {select ttl, type, mx_priority, case when lower(type)='txt' then concat('"',data,'"') when lower(type) = 'soa' then concat_ws(' ', data, resp_person, serial, refresh, retry, expire, minimum) else data end from dns_records where zone = '$zone$' and host = '$record$'}"; }; zone"."IN { type hint; file"/usr/local/bind/etc/named.ca"; }; };
保存退出
生成 name.ca 文件
(demo) -bash-4.1# cd /usr/local/bind/etc/ (demo) -bash-4.1# dig -t NS .>named.ca
5. 配置数据库,导入 sql 文件
# mysql -p #登录数据库 mysql>CREATE DATABASE named CHARACTER SET utf8 COLLATE utf8_general_ci; mysql>source named.sql; #注意路径,这里我放在当前目录
就两张表,一个 dns 用到的表,一个用户管理表
6. 启动 Bind 服务并设置开机启动脚本
(demo) -bash-4.1# /usr/local/bind/sbin/named
监控系统日志:
tail -f /var/log/messages
如下,说明服务启动正常
测试 bind 连接数据库是否正常:
设置 Bind 开机启动脚本
bind 本文档会附带,传到服务器 /etc/init.d/ 目录 (demo) -bash-4.1# chmod 755 /etc/init.d/bind (demo) -bash-4.1# #mkdir /var/run/named/ && chown named:named -R /var/run/named 杀掉 named 服务,改用脚本启动 (demo) -bash-4.1# pkill named (demo) -bash-4.1# /etc/init.d/bind start #监控日志,查看启动状态 (demo) -bash-4.1# chkconfig --add bind #加入开机启动
# tail -f /var/log/messages
配置 Bind-Web 管理平台
克隆管理平台
(demo) -bash-4.1# git clone https://github.com/1032231418/Bind-Web.git #git 克隆下来 (demo) -bash-4.1# cd Bind-Web (demo) -bash-4.1# python run.py
运行软件程序使用 flask 框架写的,要用 pip 安装该框架
pip install
http://ip/5000 访问 WEB 界面 登录
账户 :eagle
密码 :123456
功能:
用户管理
域名管理
......
解析测试:
推荐阅读
点击【阅读原文】即可跳转
以上是关于Flask Bind-DLZ + Mysql DNS 管理平台的主要内容,如果未能解决你的问题,请参考以下文章