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

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

系統環境:CentOS 6.5 X64python

軟件版本:mysql

  bind-9.9.5.tar.gz  
  mysql-5.6.16.tar.gz
  
  項目地址: https://github.com/1032231418/Bind-Web

描述: 數據庫安裝就不在絮叨,瞭解運維的同窗都應該知道git

一.源碼安裝配置Bind:

1.源碼編譯安裝github

 tar -zxvf  bind-9.9.5.tar.gz           #解壓壓縮包
 cd bind-9.9.5
./configure --prefix=/usr/local/bind/ --enable-rrl --enable-threads --enable-newstats --with-dlz-mysql
 make
 make install           #源碼編譯安裝完成

2.環境變量配置web

cat >>  /etc/profile  <<EOF 
PATH=$PATH:/usr/local/bind/bin:/usr/local/bind/sbin
export  PATH
EOF

 source  /etc/profile  #從新加載一下環境變量
 named -v           #以下圖,說明環境變量正常

p_w_picpath

3.用戶添加受權目錄sql

 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";
			};
	 
	};

保存退出flask

生成 name.ca文件bash

(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用到的表,一個用戶管理表

p_w_picpath

6.啓動 Bind 服務並設置開機啓動腳本

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

監控系統日誌:

 tail -f /var/log/messages

以下,說明服務啓動正常

p_w_picpath

測試bind鏈接數據庫是否正常:

p_w_picpath

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

p_w_picpath

二.配置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

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

p_w_picpath

p_w_picpath

p_w_picpath

解析測試:

p_w_picpath

相關文章
相關標籤/搜索