BIND+DLZ+MYSQL

BIND-DLZ实验环境:RHEL4

所用到的软件包:BIND-9.5.0-P2.tar.gz(9.4.2以上版本都已经包含了DLZ补丁)、Mysql-5.0.56.tar.gz

写在前面:DLZ(Dynamically Loadable Zones),它允许你的区域记录放置到数据库中,并且支持多种数据库。你可以在

BIND-DLZ

上找到相应的资料。

1、先安装mysql

shell>tar zxvf mysql-version.tar.gz

shell>cd mysql-*

shell>./configure --prefix=/usr/local/mysql /

>--localstatedir=/usr/local/mysql/data /

>--libexecdir=/usr/local/mysql/lib /

>--disable-shared

shell>make && make install

安装完成后。

进入安装mysql的目录

>cd /usr/local/mysql

>chown -R mysql .

>chgrp -R mysql .

>chown -R mysql data

>chown -R mysql lib

>groupadd -g 1003 mysql

>adduser -g 1003 mysql

>./bin/mysql_install_db --user=mysql //以mysql用户的身份安装

>chown -R root .

>./bin/mysqld_safe --user=mysql &  //启动mysql并转入后台自行处理

>/usr/local/mysql/bin/mysqladmin -u root -p password '*******'

password:(由于初始密码为空,此处直接敲回车)

>/usr/local/mysql/bin/mysql -u root -p

password:(输入你的密码)

mysql>

2、安装bind

shell>tar zxvf bind-9.5.0-p2.tar.gz

shell>cd bind-9.5.0-p2

shell>./configure --prefix=/usr/local/bind9 --with-dlz-mysql=/usr/local/mysql --enabl-threads=no --disable-openssl-version-check

--with-dlz-mysql=/usr/local/mysql  要求bind安装中支持DLZ

--enabl-threads=no  关闭多线程

--disable-openssl-version-check   这项是禁止openssl版本的检查

shell>make

shell>make install

3、创建数据库、表

mysql>create database mydata;

mysql>use mydata;

mysql>create table other_dns_records (

>zone varchar (255),

>host varchar (255),

>type varchar (255),

>data varchar (255),

>ttl int(11),

>mx_priority varchar (255),

>refresh int(11),

>retry int(11),

>expire int(11),

>minimum int(11),

>serial bigint(20),

>resp_person varchar (255),

>primary_ns varchar (255)

>);

mysql>create table cnc_dns_records (

>zone varchar (255),

>host varchar (255),

>type varchar (255),

>data varchar (255),

>ttl int(11),

>mx_priority varchar (255),

>refresh int(11),

>retry int(11),

>expire int(11),

>minimum int(11),

>serial bigint(20),

>resp_person varchar (255),

>primary_ns varchar (255)

>);

>//向表中添加一条记录

>insert into other_dns_records (zone,host,type,data,ttl,retry) values ('aaa.com','www','A','192.168.199.2','86400','15');

>insert into cnc_dns_records (zone,host,type,data,ttl,retry) values ('bbb.com','www','A','192.199.22.22','86400','13');

4、编辑/usr/local/bind9/etc/named.conf

>cd /usr/local/bind9/etc

>../sbin/rndc-config -a

>../sbin/rndc-config > named.conf

>vi !$

//删除# Use with the following in named.conf, adjusting the allow list as needed: 以前的行

将# Use with the following in named.conf, adjusting the allow list as needed: 和 # End of named.conf 之间的行前#号

最终的etc/named.conf文件如下:

# Use with the following in named.conf, adjusting the allow list as needed:

key "rndc-key" {

algorithm hmac-md5;

secret "2rkqGUle0VlsawCL2+IKsA==";

};

controls {

inet 127.0.0.1 port 953

allow { 127.0.0.1; } keys { "rndc-key"; };

};

# End of named.conf

options {

directory "/usr/local/binid/etc/";

pid-file "/usr/local/binid/var/run/named.pid";

allow-query { any; };

recursion no;

version "gaint-d1";

};

include "/usr/local/binid/etc/cnc.cl";

include "/usr/local/binid/etc/other.cl";

view "cnc-user" {

match-clients { cnc; };

dlz "Mysql zone" {

database "mysql

{host=localhost dbname=mydb ssl=false port=3306 user=root pass=abc123!}

{select zone from cnc_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 as mydata from cnc_dns_records where zone='%zone%' and host='%record%'}";

};

};

view "other-user" {

match-clients { other; };

dlz "Mysql zone" {

database "mysql

{host=localhost dbname=mydb ssl=false port=3306 user=root pass=abc123!}

{select zone from other_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 as mydata from other_dns_records where zone='%zone%' and host='%record%'}";

};

};

etc/cnc.cl如下:

acl "cnc" {

192.168.9.0/24;

};

etc/other.cl如下:

acl "other" {

127.0.0.0/18;

};

5、测试

打开named测试/usr/local/bind9/sbin/named -g -d 1 -c /usr/local/bind9/etc/named.conf

注:如果不想写全路径来启动bind和mysql的话,可以编辑:

>vi /root/.bash_profile

加入如下两行:

PATH=$PATH:/usr/local/bind9/sbin

PATH=$PATH:/usr/local/mysql/bin/

保存退出

> . /root/.bash_profile (或者:. !$)

这次的实验只是做了一部分,可能也会用到区域传送。这些查询可以参照

BIND-DLZ

【zonshy】

未完待续......

bind dlz mysql rpm_BIND+DLZ+MYSQL | 学步园相关推荐

  1. mysql中imagin的类型_Image转换成Mysql的blob类型 | 学步园

    发现网上好多方法都不可行,下面是我的方法,略麻烦,纯属为自己以后的使用做个记录,如果你有更好的方法请留言,谢谢~ 第二种方法,已知文件路径,通过构造文件的方式转换成blob很简单.如果很不幸,你只有I ...

  2. mysql数据库连接ado_mysql:2种连接数据库方式:ADO连接、mysql的API连接 | 学步园...

    一.创建数据库.创建表.插入数据 >show databases; >create database mydb; >user mydb; >create table mytab ...

  3. mondrian mysql 实例_mondrian入门 | 学步园

    以前一直是用MS Anylize Service的,最近要做的项目是java的,小项目预算有限,所以想找一个开源的java的数据仓库解决方案来用用. 在网上查了一下,发现了Mondrian.Mondr ...

  4. mysql mediumblob读取_JSP如何读取MySql中MEDIUMBLOB字符串 | 学步园

    JSP如何读取MySql中MEDIUMBLOB字符串,并显示? 实现向MYSQL数据库中存储或提取图片文件 一些情况下,需要向数据库中存储一些2进制文件,比如图片文件等,这时候,向数据库存储数据不同于 ...

  5. bind dlz mysql ptr_bind-dlz结合mysql实现智能DNS

    下面介绍bind结合mysql实现智能dns,以centos-6 32为例安装 安装mysql yum install gcc gcc-c++ openssl-devel wget ncurses-d ...

  6. bind mysql web_bindview+dlz(mysql)

    系统准备 配置iptables iptables -F iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP iptables -A INPUT -p ...

  7. mysql 异常关机后 无法查数据_MySQL数据库非法关机造成数据表损坏怎么排查 | 学步园...

    该篇文章我们介绍由于非法硬件关机,造成了MySQL数据库的数据表损坏,数据库不能正常运行的一个实例.下面学步园小编来讲解下MySQL数据库非法关机造成数据表损坏怎么排查? MySQL数据库非法关机造成 ...

  8. mysql超长sql查询_超长SQL怎么查询?MySQL列长度限制有哪些 | 学步园

    MySQL字符串的限制长度看似重要性不要,其实和整个MySQL数据库的安全性是息息相关的,很值得我们去深入研究分析.SQL注入攻击一直都在被广泛的讨论,然而人们却忽略了今天我将要介绍的这两个安全隐患, ...

  9. bind9 dlz mysql_bind-9.4.2+mysql dlz安装

    ttl 86400 @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 36 ...

最新文章

  1. 假期宣言2018-01-10
  2. csgo服务器linux云崖居,CSGO修改地图天气背景指令
  3. Qt之QThreadPool和QRunnable
  4. 网站左角悬浮图双十一抢红包活动代码
  5. Android ViewPager + Fragment的布局
  6. 强连通分量(Tarjan算法)
  7. 凯利公式和复利公式,与概率和时间为友
  8. 一维搜索算法——黄金分割法原理与实现
  9. 智慧养老整体解决方案
  10. [随笔] flex 布局使用 space-between 尾行排版效果优化
  11. The word 'xx' is not correctly spelled
  12. 滚动条 scrollbar 和scrollbar-thumb 样式
  13. 关于风险回归的Cox 模型构建,森林图(1)
  14. 详解数组,链表和ADT
  15. 海纳百川 有容乃大――采用JSI封装、集成第三方类库
  16. 从前有座灵剑山--与邪教辩论(1)
  17. 北外的计算机专业好吗,高考快讯:北外首设波斯语和计算机专业
  18. 关于遥感影像、DEM、边界矢量数据下载的相关方法
  19. 测试用例——用户登录
  20. 转移dllcache的位置

热门文章

  1. 华为 Python:初级能力测评
  2. Centos7 GNOME Desktop桌面版-调整屏幕分辨率
  3. Type-C潮流下 如何衡量一款数据线好坏?
  4. Laragon 在 Windows 中搭建 Laravel 开发环境
  5. 关于将Java编译过的.class文件打成jar可执行文件/JAR详解
  6. 【R语言文本挖掘】:情感分析与词云图绘制
  7. [摘记]数值方法02——内插法和外推法
  8. 【JSON】谷歌浏览器JSON可视化插件:JSON-Handle
  9. python全案例学习_Python全案例学习与实践
  10. Android 课设之个人音乐播放器