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 用到的表,一个用户管理表


Flask Bind-DLZ + Mysql DNS 管理平台


6. 启动 Bind 服务并设置开机启动脚本

(demo) -bash-4.1# /usr/local/bind/sbin/named


监控系统日志:

tail -f /var/log/messages


如下,说明服务启动正常


Flask Bind-DLZ + Mysql DNS 管理平台


测试 bind 连接数据库是否正常:


Flask Bind-DLZ + Mysql DNS 管理平台


设置 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


Flask Bind-DLZ + Mysql DNS 管理平台



配置 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 管理平台


功能:

  • 用户管理

  • 域名管理

    ......


Flask Bind-DLZ + Mysql DNS 管理平台


解析测试:



推荐阅读







点击【阅读原文】即可跳转

以上是关于Flask Bind-DLZ + Mysql DNS 管理平台的主要内容,如果未能解决你的问题,请参考以下文章

bind+dlz+mysql实现区域记录动态更新

bind9+dlz+mysql连接断开问题

安装 bind-dlz

PYTHON 数据库mysql更新语句中加入变量?

将 $ssl_client_s_dn 从 nginx/uwsgi 传递到烧瓶应用程序

flask怎样查询mysql并显示在页面上