博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux安装bind with DLZ <NIOT>
阅读量:6085 次
发布时间:2019-06-20

本文共 4645 字,大约阅读时间需要 15 分钟。

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=3306 user=pro_dns_manager pass=l+bbkqQX}     {
select zone from dns_records 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$' and status = 0}";};

 

 

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

转载于:https://www.cnblogs.com/fatt/p/4352797.html

你可能感兴趣的文章
递推,动态规划(DP),字符串处理,最佳加法表达式
查看>>
Poj(3615),Floyd,最大值中的最小值
查看>>
[BZOJ3398] [Usaco2009 Feb]Bullcow 牡牛和牝牛(动态规划)
查看>>
PHP下实现两种ajax跨域的解决方案之jsonp
查看>>
BEM样式使用规范
查看>>
Swift - 3.0 去掉 C 风格循环
查看>>
一个对象实例化过程
查看>>
yum
查看>>
图片自适应居中
查看>>
java类加载过程
查看>>
python中类的基本使用
查看>>
PCB设计与信号完整性
查看>>
C语言字节对齐问题详解【转】
查看>>
条款16:成对使用new以及delete的时候应该采取相同的形式
查看>>
0415第七周学习进度条
查看>>
ps 网页配图设计
查看>>
EXTJS布局示例(panel,Viewport,TabPanel)
查看>>
php安装xunserch
查看>>
GCC builtin vector (gcc内建函数)学习
查看>>
高性能的JavaScript--数据访问(1)
查看>>