关于bind的软件介绍这里就不讲解了 大家都知道是干嘛的  这里多介绍一下DLZ这个东西

大家都知道维护bind的时候 如果想新增一个zone 需要vim 编辑添加 这样。。。。。然后bind启动后从磁盘把zone记录导入内存 就开始工作了

DLZ算是bind的好基友吧 因为用了DLZ之后 这些zone记录 你可以直接存到数据库内(mysql PostgreSQL等数据库) 而且是实现生效的 以后你只需要添加 修改mysql数据库 表里面的东西就行(大家都懂的搞个LAMP环境 写个简单的PHP页面 在前端web页面改就行)

DLZ是干啥的简单介绍了 关于DLZ其他剩下牛掰的功能  去官网看吧

现在我们在开始搞吧

bind9 默认不支持dlz 需要在编译的时候 –with-dlz-mysql下就行

我的版本是  bind-9.6.0-P1   mysql5.5.31(编译安装的)

1.先安装mysql吧  安装过程不详细介绍了 我以前讲mysql 主从 主主的时候有详细安装过程

安装完后  启动mysql 后需要做点东西 大家都懂的 关于库文件的

echo “/usr/local/mysql/lib/mysql” >> /etc/ld.so.conf

echo “/usr/local/lib” >>/etc/ld.so.conf

ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

ln -s /usr/local/mysql/include/mysql /usr/include/mysql

ln -s /usr/local/mysql/lib/libmysqlclient.so.18  /usr/lib64/ #启动named的时候会报错  我的系统是64位的

mysql 先搞到这里吧

2.安装bind9 吧

wget http://ftp.isc.org/isc/bind9/9.6.0-P1/bind-9.6.0-P1.tar.gz  && tar fxz bind-9.6.0-P1.tar.gz  && cd bind-9.6.0-P1 && ./configure  –prefix=/usr/local/bind9 –enable-threads=no –disable-openssl-version-check –with-dlz-mysql && make -j 8 && make -j 8 install

cd /usr/local/bind9/etc/ && ../sbin/rndc-confgen >rndc.conf  && tail -n10 rndc.conf | head -n9 | sed -e s/#\//g >named.conf &&

dig > named.root

cat >localhost.zone <<EOF

ttl 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN        NS    localhost.
1         IN        PTR localhost.

EOF

这些过程没问题吧  大家都懂的

今天关于bind9 我不会讲智能dns那套(acl + view试图) 其实智能dns原理很简单  如果dlz这块你搞会了

你到时候 在mysql 里面多建几个表(什么 移动 电信 网通 其他等等)  然后分别存放 相应的zone 区域数据  最后在named配置文件的中 基于view调用就行(就是在不同的view下面  调用DLZ 数据库中不同的表而已)

named的基本安装搞完了  下面我们来看看 主配置文件吧

[root@CAN-GE-2 etc]# cat  named.conf   ##为了让你们好复制 我直接贴出来了 #这个配置已经最简单了 什么options  logg配置啥都没

关于bind的其他东西 有时间再写博客吧
key “rndc-key” {
algorithm hmac-md5;
secret “jP9fkNWebN1Iar9Ee1T4Bw==”;
};

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { “rndc-key”; };
};

dlz  “Mysql zone” {
database “mysql     #调用dlz驱动
{host=127.0.0.1 dbname=dns ssl=false port=3306 user=root pass= } #主机 数据库名称 用户名 密码 端口信息 你懂的
{select zone from dns_records where zone=’%zone%’  limit 1}  #查询zone 记录
{select ttl,type,mx_priority,case when lower(type)=’txt’ then concat(‘\”‘, data, ‘\”‘) #这些配置 直接是从DLZ官网文档中cp的
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%’}”;
};

前面的 TSIG(单词好像是这样写的) 配置不多讲了 主要看DLZ 这块

这里先简单贴下 实现智能dns这块的配置吧

acl  “cnc”  {IP地址 ; ip段};

acl  “tel”  {IP地址 ; ip段};

view  “cnc” {

match-clients { cnc; };

dlz “Mysql zone” {

dlz的一些东西 你懂的

};

};

view  “tel” {

match-clients { tel; };

dlz “Mysql zone” {

dlz的一些东西 你懂的

};

};

好  named 先搞到这里 再去接着搞mysql的数据库 表啥的吧

先建数据吧  名称是dns

create database dns;

use dns;

create table  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)
>);

关于为啥要这样定义 我就不说了 都是dns里面需要的专业术语的东西

然后插个数据进去吧

mysql> insert  INTO dns_records  (zone,host,type,data,ttl,retry) values (‘shencan.net’,'www’,'A’,’1.1.1.1′,’86400′,’15′);

查看下吧

都搞完了 起来吧

/usr/local/bind9/sbin/named -c /usr/local/bind9/etc/named.conf

OK 起来了

试试吧

OK  生效了   先写这么多吧 有点困了

转DNS DLZ +MYSQL的更多相关文章

  1. Bind+DLZ+MySQL智能DNS的正向解析和反向解析实现方法

    使用文本配置文件的配置方式结合bind的最新的acl和view特性来实现智能DNS想必很多人已经很熟悉了,使用MySQL数据库来存放zone文件的方式可能也不少.对于两者都熟悉的,实现 Bind+DL ...

  2. bind9+dlz+mysql连接断开问题

    前言 关于bind-dlz介绍:http://bind-dlz.sourceforge.net/ DLZ(Dynamically Loadable Zones)与传统的BIND9不同,BIND的不足之 ...

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

    BIND-DLZ实验:http://bind-dlz.sourceforge.net/ 实验环境:RHEL4,BIND-9.5.0-P2.tar.gz(9.4.0以上版本都已含DLZ补丁),Mysql ...

  4. bind9+mysql dlz(Dynamically Loadable Zones)

    yum install openssl openssl-devel groupadd mysqluseradd -g mysql -s /sbin/nologin -M mysqlchown -R m ...

  5. 【Linux】基于Bind_DLZ和MySQL数据的DNS搭建

    参考:http://www.linuxfromscratch.org/blfs/view/cvs/server/bind.html 参考:http://bind-dlz.sourceforge.net ...

  6. Bind+DLZ构建企业智能DNS/DNS

    Bind+DLZ构建企业智能DNS   目录:一.简介二.服务规划三.安装BIND及基本环境四.配置Bind-View-DLZ-MYSQL五.添加相关记录并进行测试六.配置从DNS七.补充 一.简介: ...

  7. bind智能DNS + bindUI管理系统

    bind UI 管理系统 https://github.com/cucker0/BindUI # bind安装 cd /usr/local/src wget http://ftp.isc.org/is ...

  8. Bind-DLZ with MySQL

    系统环境: 系统:centos 6.8 Mysql: 5.1 BIND: bind--P2.tar.gz IP地址:192.168.153.130 软件下载地址:http://ftp.isc.org/ ...

  9. Fixing Poor MySQL Default Configuration Values

    I've recently been accumulating some MySQL configuration variables that have defaults which have pro ...

随机推荐

  1. Gearman使用示例

    最近的一个旧项目重构过程中,使用到了gearman这个开源项目,简单来讲,这是一个类似MQ的异步系统,一边派发任务,一边处理任务(有类似MQ中的消息发送方与接收方),目前支持java,php等多种语言 ...

  2. JaveScript-解决表格使用滚动条时冻结表头栏问题

    解决方法: //设置表格表头里的th==表格内容里的td function ThEqualTd(thId, tdId) { var tdNum = document.getElementById(td ...

  3. 【WPF】值是枚举的RadioButton 绑定问题

    源 1.RadioButton 2.IValueConverter 3.枚举 xaml实现 <RadioButton Content="单打热身" GroupName=&qu ...

  4. 详解C#中的反射

    反射(Reflection) 2008年01月02日 星期三 11:21 两个现实中的例子:1.B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况.这是如何做到的呢?B超是B ...

  5. 延迟加载外部js文件,延迟加载图片(jquery.lazyload.js和echo,js)

    js里一说到延迟加载,大都离不开两种情形,即外部Js文件的延迟加载,以及网页图片的延迟加载: 1.首先简单说一下js文件的3种延迟加载方式: (1)<script type="text ...

  6. Python实战项目网络爬虫 之 爬取小说吧小说正文

    本次实战项目适合,有一定Python语法知识的小白学员.本人也是根据一些网上的资料,自己摸索编写的内容.有不明白的童鞋,欢迎提问. 目的:爬取百度小说吧中的原创小说<猎奇师>部分小说内容 ...

  7. 小猪cms ClassifyAction.class.php

    <?php /** *语音回复 **/ class ClassifyAction extends UserAction{ public $fid; public function _initia ...

  8. bash的管道符与重定向

    管道符"|"可以用来将前面的程序的标准输出stdout(=1)重定向到后一个程序的stdin(=0),但是忽略了stderr. 在bash中使用2>&1 可以表示将s ...

  9. apche启动错误|httpd.pid overwritten — Unclean shutdown of previous Apache run?

    APACHE启动成功,但无法接受任何请求,查看ERROR.LOG文件[warn] pid file /opt/apache/logs/httpd.pid overwritten - Unclean s ...

  10. 【原创】自己动手写工具----XSmartNote [Beta 3.0]

    一.前面的话 在动笔之前,一直很纠结到底要不要继续完成这个工具,因为上次给它码代码还是一年多之前的事情,参考自己动手写工具----XSmartNote [Beta 2.0],这篇博文里,很多园友提出了 ...