Code Monkey home page Code Monkey logo

bind-web's Introduction

Bind-DLZ + Flask + Mysql DNS管理平台

系统环境:CentOS 6.5 X64

软件版本:

  bind-9.9.5.tar.gz  
  mysql-5.6.16.tar.gz

描述: 数据库安装就不在絮叨,了解运维的同学都应该知道

一.源码安装配置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  <<EOF 
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-on port 53 { any; };
			allow-query-cache { any; };
			listen-on-v6 port 53 { ::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.1 port 953
					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 管理平台

上传 Bind-web-1.0.tar.gz 管理平台

(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安装该框架

http://ip/5000 访问WEB 界面 登录账户 eagle 密码 123456

功能有,用户管理,域名管理

bind-web's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.