日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql与dns_借助mysql和DNS view实现智能DNS(centos6.3 x64环境)

發(fā)布時間:2024/9/15 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql与dns_借助mysql和DNS view实现智能DNS(centos6.3 x64环境) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

開篇說明

關于智能DNS和CDN的東西可以看我之前的一篇博文

上次的博文簡單使用了BIND的視圖功能實現(xiàn)了簡單的智能dns,此篇博文結合了mysql實現(xiàn)真正意義上的智能DNS系統(tǒng)

需要準備東西

首先yum安裝mysql。。。yum install mysql mysql-server mysql-devel

下載bind主程序源碼:

ftp://ftp.isc.org/isc/bind9/9.8.5-P1/bind-9.8.5-P1.tar.gz

下載bind-sdb驅動:

http://nchc.dl.sourceforge.net/project/mysql-bind/mysql-bind/mysql-bind-0.2%20src/mysql-bind.tar.gz

解壓:

tar xfbind-9.8.5-P1.tar.gz

tar xfmysql-bind.tar.gz

編譯安裝bind

將mysql-sdb的補丁文件拷貝到bind安裝源文件目錄下cp mysql-bind/mysqldb.c bind-9.8.5-P1/bin/named/

cp mysql-bind/mysqldb.h bind-9.8.5-P1/bin/named/

修改bind源碼目錄下的bin/named/Makefile.in修改以下幾行,其中DBDRIVER_LIBS后的參數(shù)可以使用/usr/bin/mysql_config --libs獲取DBDRIVER_OBJS= mysqldb.@O@

DBDRIVER_SRCS= mysqldb.c

DBDRIVER_INCLUDES= -I'/usr/include/mysql'

DBDRIVER_LIBS=-rdynamic -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lssl-lcrypto

修改bind源碼目錄下的bin/named/main.c,添加以下幾行/*#include "xxdb.h" */

后面添加

#include "mysqldb.h"

/*xxdb_init();*/在后面添加

mysqldb_init();

再找到

/*xxdb_clear();*/在后面添加

mysqldb_clear();

修改bin/named/mysqldb.c將

#include

修改為

#include

編譯安裝./configure--prefix=/usr --sysconfdir=/etc

make&& make install

下載電信和聯(lián)通的地址列表ACL,存放在/etc/named目錄下http://www.centos.bz/wp-content/uploads/2012/02/CHINANET.acl

http://www.centos.bz/wp-content/uploads/2012/02/CNC.acl

在/etc/named.conf添加2條,從而將電信和聯(lián)通的ACL地址列表包含進來include"/etc/named/CHINANET.acl"

include"/etc/named/CNC.acl"

然后在主配置文件中定義2個視圖:

CNC是聯(lián)通的視圖 ,CHINANET是電信的視圖view CNC{

match-clients { CNC; };

recursion no;

zone "." IN {

type hint;

file "named.ca";

};

zone "localhost" IN {

type master;

file "named.localhost";

};

zone "0.0.127.in-addr.arpa" IN {

type master;

file "named.loopback";

};

zone "lustlost.com" IN {

type master;

notify no;

database "mysqldb smartdns CNClocalhost root 123456"; #這里定義的數(shù)據庫相關的配置,字段分別為:SQLtype ?DataBase Table Host User Password

};

};

view CHINANET {

match-clients { CHINANET; };

recursion no;

zone "." IN {

type hint;

file "named.ca";

};

zone "localhost" IN {

type master;

file "named.localhost";

};

zone "0.0.127.in-addr.arpa" IN {

type master;

file "named.loopback";

};

zone "lustlost.com" IN {

type master;

notify no;

database "mysqldb smartdnsCHINANET localhost root 123456";

};

};

然后創(chuàng)建數(shù)據庫:create database smartdns;

use smartdns;

創(chuàng)建聯(lián)通表CREATE TABLE CNC(name varchar(255) default NULL,ttl int(11) default NULL,rdtypevarchar(255) default NULL,rdata varchar(255) default NULL) TYPE=MyISAM;

插入SOA其實授權信息

INSERTINTO CNC VALUES('lustlost.com',259200,'SOA','lustlost.com.www.lustlost.com.20130617 28800 720086400 28800');

插入NS記錄(實驗環(huán)境,地址皆為內網IP)

INSERT INTO CNC VALUES ('lustlost.com', 259200, 'NS','ns1.lustlost.com.'),('lustlost.com', 259200, 'NS', 'ns2.lustlost.com.'),('lustlost.com', 259200, 'MX', '10 mail.lustlost.com.'),('ns1.lustlost.com',259200, 'A', '192.168.1.1'),('ns2.lustlost.com', 259200, 'A','192.168.1.2'),('mail.lustlost.com', 259200, 'A','192.168.1.3'),('www.lustlost.com', 259200, 'A', '192.168.1.4');

創(chuàng)建電信表CREATE TABLE CHINANET (name varchar(255) default NULL,ttl int(11) default NULL,rdtypevarchar(255) default NULL,rdata varchar(255) default NULL) TYPE=MyISAM;

插入SOA其實授權信息

INSERT INTO CHINANET VALUES ('lustlost.com',259200,'SOA','lustlost.com.www.lustlost.com.2013061728800 7200 86400 28800');

插入NS記錄(實驗環(huán)境,地址皆為內網IP)

INSERT INTO CHINANET VALUES ('lustlost.com', 259200, 'NS','ns1.lustlost.com.'),('lustlost.com', 259200, 'NS', 'ns2.lustlost.com.'),('lustlost.com', 259200, 'MX', '10 mail.lustlost.com.'),('ns1.lustlost.com',259200, 'A', '192.168.2.1'),('ns2.lustlost.com', 259200, 'A', '192.168.2.2'),('mail.lustlost.com',259200, 'A', '192.168.2.3'),('www.lustlost.com', 259200, 'A', '192.168.2.4');

完畢....

總結

以上是生活随笔為你收集整理的mysql与dns_借助mysql和DNS view实现智能DNS(centos6.3 x64环境)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。