2015年6月11日

1、sudo wget ftp://ftp.isc.org/isc/bind9/9.10.1/bind-9.10.1.tar.gz  或者 使用“rz”命令

2、tar -zxvf bind-9.10.1.tar.gz

3、创建目录

在/home/wkubuntu下创建named目录和namedfile目录

4、编译安装

cd bind-9.10.1

./configure --prefix=/home/wkubuntu/named/ --with-dlz-mysql=/usr/local/mysql

make

make install

此时进入/home/wkubuntu/named目录,里面自动生成了bin  etc  include  lib  sbin  share  var这些文件目录

5、配置bind

cd /home/wkubuntu/named/etc

touch named.conf ,或者从电脑上上传

vi named.conf张贴内容1

从电脑上上传5个文件到/home/wkubuntu/named/var 目录下

127.0.0.zone、localhost.reverse 、localhost.zone 、named.root 、root.hint

生成rndc的key

a)cd /home/wkubuntu/named/sbin/

b)vim random 输入很长一段字母。就是服务器上没有random产生器,这种情况下我们就手动伪造一个文件代替/dev/random的功能

c)./rndc-confgen -r random > /etc/rndc.key

d)cat /etc/rndc.key

e)拷贝

secret "pfNOQ0fENSBBGBYn/ndRsw=="; 这一行

覆盖/home/wkubuntu/named/etc 的named.conf对应的那一行

6、启动bind ,打印进程

输入sudo /home/wkubuntu/named/sbin/named  -c /home/wkubuntu/named/etc/named.conf -n 1 &

出现done 就代表成功了,“-n 1”代表单线程启动,结合mysql驱动不会报错。

【如果出现了exit,出错了,看打印进程sudo /home/wkubuntu/named/sbin/named  -gc /home/wkubuntu/named/etc/named.conf  -n 1&

killall named 可以关闭掉所有named,如果用了-gc的话】

要建立一个log目录,如下的配置 mkdir logs

/home/wkubuntu/named/logs

其他:

内容1:

logging{
channel error_log {
file "/home/wkubuntu/named/logs/normal.log" versions 3 size 2m;
severity error;
print-time yes;
print-severity yes;
print-category yes;
};
category default{
error_log;
}; channel update_log{
file "/home/wkubuntu/named/logs/update.log" versions 3 size 1m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
category update{
update_log;
}; channel notify_log{
file "/home/wkubuntu/named/logs/notify.log" versions 3 size 1m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
category notify{
notify_log;
};
}; options { directory "/home/wkubuntu/named/var/";
pid-file "/home/wkubuntu/named/var/run/named/named.pid";
dump-file "/home/wkubuntu/named/logs/named_dump.db";
statistics-file "/home/wkubuntu/named/logs/named.stats";
version "Welcome to NIOT platform!";
listen-on-v6 { any; };
allow-query { any; };
allow-query-cache { any; };
allow-recursion { localnets; localhost; };
notify no; }; key "rndc-key" {
algorithm hmac-md5;
secret "fLDVvLVXFjMJpdiy+7nESw==";
}; controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
}; zone "." IN {
type hint;
file "/home/wkubuntu/named/var/named.root";
}; zone "localhost" IN {
type master;
file "/home/wkubuntu/named/var/localhost.zone";
allow-update { none; };
}; zone "0.0.127.in-addr.arpa" IN {
type master;
file "/home/wkubuntu/named/var/localhost.reverse";
allow-update { none; };
}; dlz "Mysql zone" {
database "mysql
{host=127.0.0.1 dbname=db_dns ssl=false port=3306 user=root pass=root}
{select zone from supported_zone where zone = '$zone$' limit 1}
{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)
when lower(type) = 'naptr' then concat(' ', naptr_order, ' ', naptr_preference, ' \"', naptr_flags, '\"', ' \"', naptr_service, '\"', ' \"', naptr_regexp,'\" ', data, '.')
else data
end
from dns_records where zone = '$zone$' and host = '$record$'}";
};
 

2017配置文件变更部分

dlz "Mysql zone" {
database "mysql
{host=127.0.0.1 dbname=db_dns ssl=false port= user=pro_dns_manager pass=l+bbkqQX}
{select zone from dns_records where zone = '$zone$' limit }
{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)
when lower(type) = 'naptr' then concat(' ', naptr_order, ' ', naptr_preference, ' \"', naptr_flags, '\"', ' \"', naptr_service, '\"', ' \"', naptr_regexp,'\" ', data, '.')
else data
end
from dns_records where zone = '$zone$' and host = '$record$' and status = }";
};

7、测试

dig @localhost www.cniotroot.cn ys.cniotroot.cn

数据库里面要有这条记录,如上测试即可

8、北京服务器

sudo /home/niot/named/sbin/named -c /home/niot/named/etc/named.conf -n 1 &

9、rndc status 失败,端口被portreserve 占用

 /home/wkubuntu/named/sbin/rndc stats
rndc: connect failed: 127.0.0.1#953: connection refused 
看打印进程sudo /home/wkubuntu/named/sbin/named  -gc /home/wkubuntu/named/etc/named.conf  -n 1& 
couldn't add command channel 127.0.0.1#953: address in use 

#killall portreserve

linux安装bind with DLZ <NIOT>的更多相关文章

  1. Linux服务器---安装bind

    安装bind 1.安装bind软件,需要安装3 个bind.bind-chroot.bind-util [root@localhost pub]# yum install -y bind bind-c ...

  2. Linux安装svn服务图文详解 ;出现No repository found in 'svn***问题

    Linux安装svn服务 ** 示例都是用的root权限,可选择用 sudo** 1:检查 安装条件为:Linux(centos)上未安装过svn服务,若安装过或安装失败请自行删除,这里不多介绍.检查 ...

  3. ElasticSearch-6.3.2 linux 安装

    在linux 系统安装ElasticSearch-6.3.2最新版本,也适合6.x 系列版本做参考 前提先在linux 安装好jdk1.8 创建用户 从5.0开始,ElasticSearch 安全级别 ...

  4. linux 安装【jdk、tomcat】查看对外开放端口(防火墙拦截处理)

    1.安装 jdkhttps://www.cnblogs.com/xu-dong/p/6422938.html 查看Linux下查看JDK安装路径: https://www.cnblogs.com/im ...

  5. Linux 安装tomcat 及过程中遇到的问题

    Linux 安装tomcat(tomcat能用的前提是系统已经安装jdk) 1.下载linux系统版tomcat,解压后通过ftp上传到Linux服务器     例:tomcat放在 /opt/tom ...

  6. linux安装配置redis

    redis是支持linux的,所以linux安装redis非常简单,按照官网的提示操作即可. 下载 $ wget http://download.redis.io/releases/redis-3.2 ...

  7. Linux服务-bind

    目录 1.安装bind 2.配置bind 3.添加正.反向解析域 3.1 指向生效的配置文件 3.2 生成配置文件cljhfy.com.zone和163.168.192.zone 4.验证 Linux ...

  8. 1.Linux安装redis

    Linux安装redis 操作系统是Centos7 1.下载压缩包 2.解压 3.编译 4.启动redis 5.设置redis.conf和防火墙端口开放,外网可以访问 1.下载压缩包 下载地址:htt ...

  9. Linux安装redis服务器和部署

    Linux安装redis和部署 第一步:下载安装包 wget http://download.redis.io/releases/redis-5.0.5.tar.gz 访问https://redis. ...

随机推荐

  1. “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成)

    “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成) 一.这篇文章主要是要实现:图片新闻的添加,无刷新图片的上传,以及添加新闻静 ...

  2. UML在需求分析与系统设计中之实战讲解

    UML在需求分析与系统设计中之实战讲解(完整UML图形演示) 小序: 从学生时代就接触到UML,几年的工作中也没少使用,各种图形的概念.图形的元素和属性,以及图形的画法都不能说不熟悉.但是怎样在实际中 ...

  3. 需要我们了解的SQL Server阻塞原因与解决方法

    需要我们了解的SQL Server阻塞原因与解决方法 上篇说SQL Server应用模式之OLTP系统性能分析.五种角度分析sql性能问题.本章依然是SQL性能 五种角度其一“阻塞与死锁” 这里通过连 ...

  4. 对C# 中Readonly的再认识

    C#中有两种常量类型,分别为readonly(运行时常量)与const(编译时常量),本文将就这两种类型的不同特性进行比较并说明各自的适用场景. 工作原理    readonly为运行时常量,程序运行 ...

  5. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级

    前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...

  6. Scrapy框架安装配置小结

    Windows 平台: 系统是 Win7 Python  2.7.7版本 官网文档:http://doc.scrapy.org/en/latest/intro/install.html 1.安装Pyt ...

  7. ACM第三题 完美立方

    形如a3= b3 + c3 + d3的等式被称为完美立方等式.例如123= 63 + 83 + 103 .编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得 ...

  8. CrashMe分析教程1 - BreakPoint

    首先,谢谢 Robert Kuster 为我们提供了这么好的CrashMe项目. 很多人想寻找一个CrashMe分析的教程, 我也想要, 但是似乎网络里没有, 所以我就决定用业余时间写一个小系列来共享 ...

  9. OpenCV入门教程

    OpenCV入门教程 作者:于仕琪 OpenCV入门教程.pdf

  10. 又遇Release编译的一坑 -- 应用程序正常初始化(0xc000007b)失败。请单击“确定”,终止应用程序。

    项目中使用了xlslib库,以动态库形式编译,由于它没有生成链接库lib文件,所以官方提供的demo中有createDLL这个小程序用来生成lib文件.然而我又 no zuo no die了一次.   ...