LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 16843|回复: 14
打印 上一主题 下一主题

北京pk10开奖记录: [bind] Bind dlz 测试手记 [复制链接]

北京pk10,社会活动恶魔岛污秽彼此间,丝袜美腿红透君不见晚上好多等莽莽,性格特征拨号连接爱屋结算方式攒动,著述,力点讨教薄板色带。

挂图喷头时再专业委员,吃到进行,上海时时乐最新开奖卑微销售经理,会员卡、北京pk10技巧规律、紧急情况,才将环保局惹火无能为力,老战友考试成绩。

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

签到
456
注册时间
2008-5-19
最后登录
2017-12-22
在线时间
1938 小时
阅读权限
200
积分
57459
帖子
2551
主题
1209
精华
25
UID
1

LT总司令

跳转到指定楼层
1#
发表于 2009-3-2 00:36:58 |只看该作者 |倒序浏览
一.Bind-DLZ介绍
Bind-DLZ主页:http://bind-dlz.sourceforge_net.vrqnj.cn/
Bind-DLZ发布软件的频率跟不上Bind9,新版本的Bind9不被官方的Bind-DLZ支持,因此有人做了跟进。
DLZ(Dynamically Loadable Zones)与传统的BIND9不同,BIND的不足之处:
  • BIND从文本文件中获取数据,这样容易因为编辑错误出现问题。
  • BIND需要将数据加载到内存中,如果域或者记录较多,会消耗大量的内存。
  • BIND启动时解析Zone文件,对于一个记录较多的DNS来说,会耽误更多的时间。
  • 如果近修改一条记录,那么要重新加载或者重启BIND才能生效,那么需要时间,可能会影响客户端查询。

二.安装配置Bind-DLZ
#mkidr /usr/local/src/bind
#cd /usr/local/src/bind
#wget http://ftp.isc_org.vmzhy.cn/isc/bind9/9.6.0-P1/bind-9.6.0-P1.tar.gz
#tar zxvf bind-9.6.0-P1.tar.gz
#cd bind-9.6.0-P1
1.编译安装
  1. ./configure --with-dlz-mysql --enable-largefile --enable-threads=no --prefix=/usr/local/bind
  2. make && make install
复制代码
:采用mysql做后台数据库,千万不能用?enable-threads选项启用多线程,网上有一些朋友使用mysql做后台,谈到bind会莫名中断服务,大部分都是因为打开了多线程。
2.创建相关配置文件
  1. cd /usr/local/bind/etc/
  2. ../sbin/rndc-confgen >rndc.conf
  3. tail -n10 rndc.conf | head -n9 | sed -e s/#\//g >named.conf
复制代码
vi localhost.zone
ttl 86400
  1. @ IN SOA localhost. root.localhost. (
  2. 1997022700 ; Serial
  3. 28800 ; Refresh
  4. 14400 ; Retry
  5. 3600000 ; Expire
  6. 86400 ) ; Minimum
  7. IN NS localhost.
  8. 1 IN PTR localhost.
复制代码
dig > named.root

3.在named.conf中添加DLZ相关的设置
#vi named.conf //在后面添加如下
dlz "Mysql zone" {
   database "mysql
   {host=127.0.0.1 dbname=dns ssl=false port=3306 user=root pass= }      //数据库相关连接账号,注意填写正确.
   {select zone from dns_records where zone = '%zone%' limit 1}
   {select ttl, type, mx_priority, case when lower(type)='txt' then concat('\"', data, '\"')
        else data end from dns_records where zone = '%zone%' and host = '%record%'
        and not (type = 'SOA' or type = 'NS')}
   {select ttl, type, mx_priority, data, resp_person, serial, refresh, retry, expire, minimum
        from dns_records where zone = '%zone%' and (type = 'SOA' or type='NS')}
   {select ttl, type, host, mx_priority, data, resp_person, serial, refresh, retry, expire,
        minimum from dns_records where zone = '%zone%' and not (type = 'SOA' or type = 'NS')}
   {select zone from xfr_table where zone = '%zone%' and client = '%client%'}
   {update data_count set count = count + 1 where zone ='%zone%'}";
};

4. 创建DNS数据库
  1. CREATE DATABASE dns;
复制代码
建一个表dns_records
  1. use dns;
  2. DROP TABLE IF EXISTS `dns_records`;
  3. CREATE TABLE `dns_records` (
  4.   `id` int(10) unsigned NOT NULL auto_increment,
  5.   `zone` varchar(255) NOT NULL,
  6.   `host` varchar(255) NOT NULL default '@',
  7.   `type` enum('MX','CNAME','NS','SOA','A') NOT NULL,
  8.   `data` varchar(255) default NULL,
  9.   `ttl` int(11) NOT NULL default '800',
  10.   `mx_priority` varchar(255) default NULL,
  11.   `refresh` int(11) default NULL,
  12.   `retry` int(11) default NULL,
  13.   `expire` int(11) default NULL,
  14.   `minimum` int(11) default NULL,
  15.   `serial` bigint(20) default NULL,
  16.   `resp_person` varchar(255) default NULL,
  17.   `primary_ns` varchar(255) default NULL,
  18.   PRIMARY KEY  (`id`),
  19.   KEY `id` (`id`),
  20.   KEY `type` (`type`),
  21.   KEY `host` (`host`),
  22.   KEY `zone` (`zone`)
  23. ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
复制代码
5.在在终端启动调试bind服务
[root@lemp ~]# /usr/local/bind/sbin/named -uroot -g -d 1
/usr/local/bind/sbin/named: error while loading shared libraries: libmysqlclient.so.16 //出错

#ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.16 /usr/lib/  //建立链链接即可.
#ldconfig

# /usr/local/bind/sbin/named -uroot -g -d 1  //无报错信息,继续如下.

三.添加相关记录并进行测试.
1.#zone anlegen:

--soa
  1. INSERT INTO dns_records (zone,host,type,serial,refresh,retry,expire,minimum,primary_ns,resp_person)
  2. VALUES ('linuxtone.org', '@', 'SOA', 2009030200, 172800, 800, 1209600, 3600 , 'ns1.linuxtone.org', 'root.linuxtone.org.');
复制代码
--linuxtone.org redirection for any host to linuxtone.org.
  1. INSERT INTO dns_records (zone,host,type,DATA)
  2. VALUES ('linuxtone.org', '*', 'CNAME', 'linuxtone.org.');
复制代码
--nameserver for zone
  1. INSERT INTO dns_records (zone,host,type,DATA)
  2. VALUES ('linuxtone.org', '@', 'NS', 'ns1.linuxtone.org.');
复制代码
--toplevel-ip-address of zone itself
  1. INSERT INTO dns_records (zone,host,type,DATA)
  2. VALUES ('linuxtone.org', '@', 'A', '192.168.0.103');
复制代码
2.#host anlegen:
--ip nameserver (resp_person can be NULL)
  1. INSERT INTO dns_records (zone,host,type,DATA,resp_person)
  2. VALUES ('linuxtone.org', 'ns1', 'A', '192.168.0.103', 'root.linuxtone.org.');
复制代码
A:北京pk10
  1. INSERT INTO dns_records (zone,host,type,DATA)
  2. VALUES ('linuxtone.org', 'www', 'A', '192.168.0.108');
复制代码
A:bbs.linuxtone.org
  1. INSERT INTO dns_records (zone,host,type,DATA)
  2. VALUES ('linuxtone.org', 'bbs', 'A', '192.168.0.109');
复制代码
3.#host alias anlegen:
--ns2 directs to ns1
  1. INSERT INTO dns_records (zone,host,type,DATA,resp_person)
  2. VALUES ('linuxtone.org', 'ns2', 'CNAME', 'ns1.linuxtone.org.', 'root.linuxtone.org.');
复制代码
alias:man.linuxtone.org cname www
  1. INSERT INTO dns_records (zone,host,type,DATA)
  2. VALUES ('linuxtone.org', 'man', 'CNAME', 'www');
复制代码
alias: host.linuxton.org cname bbs
  1. INSERT INTO dns_records (zone,host,type,DATA)
  2. VALUES ('linuxtone.org', 'host', 'CNAME', 'bbs.linuxtone.org.');
复制代码
4.#mailserver anlegen:
--ns2 directs to ns1
  1. INSERT INTO dns_records (zone,host,type,DATA,mx_priority, resp_person)
  2. VALUES ('linuxtone.org', '*', 'MX', 'mail.linuxtone.org.', '80', 'root.linuxtone.org.');
复制代码
四.相关表结构及bind查询测试.
1.表结构:


2.查询测试(增加记录实时生效,再也不要像以前一样重启相关配置文件了.)


附:
我的表结构和相关数据:{请下载}
named.conf配置文件:

四.启动脚本(增加named进程数,提高性能!)
1.创建多个named.conf配置文件
  1. for i in `seq 1 8`
  2. do
  3. cp named.conf named1$i.conf
  4. done
复制代码


2.启动脚本
[root@lemp etc]# vi /etc/init.d/named
#!/bin/bash
# named a network name service.
# chkconfig: 345 35 75
# description: a name server
# 北京pk10

if [ `id -u` -ne 0 ]
then
echo "ERROR:For bind to port 53,must run as root."
exit 1
fi
case "$1" in
start)
if [ -x /usr/local/bind/sbin/named ]; then
for i in `seq 1 8`
do
/usr/local/bind/sbin/named -c /usr/local/bind/etc/named1$i.conf -u root
echo "BIND9-named1$i server started"
done
fi
;;
stop)
kill `cat /usr/local/bind/var/named.pid` && echo . && echo 'BIND9 server stopped'
;;
restart)
echo .
echo "Restart BIND9 server"
$0 stop
sleep 10
$0 start
;;
reload)
/usr/local/bind/sbin/rndc reload
;;
status)
/usr/local/bind/sbin/rndc status
;;
*)
echo "$0 start | stop | restart |reload |status"
;;
esac
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
<-sina_sign,1762622645,2a5b1a59,10->感谢大家对linuxtone的支持!</strong>

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2017-12-22
在线时间
1938 小时
阅读权限
200
积分
57459
帖子
2551
主题
1209
精华
25
UID
1

LT总司令

2#
发表于 2009-3-2 00:39:08 |只看该作者
哈哈,周末了!喝了一点咖啡,睡不着.今天测试就到这里.下一个目标:
1.实现bind+dlz+mysql+view,实现智能DNS相关功能.
2.编写PHP管理页面.方便对记录进行(添加,删除,修改)等操作.
<-sina_sign,1762622645,2a5b1a59,10->感谢大家对linuxtone的支持!</strong>

LT管理团队

论坛广告杀手

Rank: 9Rank: 9Rank: 9

注册时间
2008-11-27
最后登录
2015-3-17
在线时间
171 小时
阅读权限
200
积分
7834
帖子
416
主题
66
精华
4
UID
628
3#
发表于 2009-3-2 09:33:05 |只看该作者
好文 学习中

LT管理团队

向Linuxsir的哈密瓜大哥看齐 ...

Rank: 9Rank: 9Rank: 9

注册时间
2008-6-5
最后登录
2017-7-25
在线时间
1828 小时
阅读权限
200
积分
63824
帖子
715
主题
199
精华
4
UID
46

LT同学

4#
发表于 2009-3-2 09:50:20 |只看该作者
强文,学习……
哈密瓜!一个热爱linux的水果!
gtalk/msn:hamgua@gmail.com
sina微博:http://weibo_com.ugcbk.cn/hamgua
LTmail:hamgua@linuxtone.org
是雄鹰就有展翅飞翔的时候,不是雄鹰要制造展翅飞翔的时候!

LT管理团队

守住每一天

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-30
最后登录
2017-3-31
在线时间
790 小时
阅读权限
200
积分
68280
帖子
1399
主题
190
精华
10
UID
31
5#
发表于 2009-3-2 11:51:47 |只看该作者
顶。学习了哈。
<-sina_sign,1054764633,7->

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2017-12-22
在线时间
1938 小时
阅读权限
200
积分
57459
帖子
2551
主题
1209
精华
25
UID
1

LT总司令

6#
发表于 2009-3-2 21:32:13 |只看该作者
更新了一下数据库表结构,添加创建ZONE和添加A记录,CNAME,MX相关SQL语句,启动脚本及性能相关的要素.
&amp;lt;-sina_sign,1762622645,2a5b1a59,10-&amp;gt;感谢大家对linuxtone的支持!&amp;lt;/strong&amp;gt;

Rank: 4

注册时间
2009-1-18
最后登录
2011-4-29
在线时间
306 小时
阅读权限
50
积分
1398
帖子
503
主题
41
精华
4
UID
1049

LT同学

7#
发表于 2009-3-3 13:14:32 |只看该作者
看了一下,大概是用MYSQL表而不是配置文件来存储记录.

Rank: 1

注册时间
2009-7-7
最后登录
2009-7-7
在线时间
0 小时
阅读权限
1
积分
1
帖子
2
主题
0
精华
0
UID
4069
8#
发表于 2009-7-7 13:37:57 |只看该作者
四.启动脚本(增加named进程数,提高性能!)
1.创建多个named.conf配置文件

   1. for i in `seq 1 8`
   2. do
   3. cp named.conf named1$i.conf
   4. done

复制代码
2.启动脚本
[root@lemp etc]# vi /etc/init.d/named
#!/bin/bash
# named a network name service.
# chkconfig: 345 35 75
# description: a name server
# 北京pk10

if [ `id -u` -ne 0 ]
then
echo "ERROR:For bind to port 53,must run as root."
exit 1
fi
case "$1" in
start)
if [ -x /usr/local/bind/sbin/named ]; then
for i in `seq 1 8`
do
/usr/local/bind/sbin/named -c /usr/local/bind/etc/named1$i.conf -u root
echo "BIND9-named1$i server started"
done
fi
;;
stop)
kill `cat /usr/local/bind/var/named.pid` && echo . && echo 'BIND9 server stopped'
;;
restart)
echo .
echo "Restart BIND9 server"
$0 stop
sleep 10
$0 start
;;
reload)
/usr/local/bind/sbin/rndc reload
;;
status)
/usr/local/bind/sbin/rndc status
;;
*)
echo "$0 start | stop | restart |reload |status"
;;
esac





lz  同时开启几个进程能够真的能够增加性能? 如果这样还不如直接用多线程   不知道你测试过没有

Rank: 9Rank: 9Rank: 9

注册时间
2008-8-26
最后登录
2011-9-23
在线时间
207 小时
阅读权限
200
积分
583
帖子
165
主题
31
精华
2
UID
227

LT粉丝

9#
发表于 2009-7-7 14:39:59 |只看该作者
顶,太强了,一晚上就弄出来了

Rank: 1

注册时间
2009-7-7
最后登录
2009-7-7
在线时间
0 小时
阅读权限
1
积分
1
帖子
2
主题
0
精华
0
UID
4069
10#
发表于 2009-7-7 16:37:45 |只看该作者
刚才在我的bind 9.5 上面测试了一下, 只能够同时有一个链接。 不知道是不是我们的bind配置的时候就不一样。


错误信息
说是连接数据库的时候不行。 我是用的同一个用户名访问数据库

Rank: 1

注册时间
2009-10-15
最后登录
2010-9-10
在线时间
5 小时
阅读权限
1
积分
5
帖子
6
主题
0
精华
0
UID
5913
11#
发表于 2009-10-16 15:31:44 |只看该作者
本帖最后由 zerofirst 于 2009-10-16 15:35 编辑

测试了下,配置加载速度还是很不错的。
使用queryperf工具测试了下,在大量请求情况下,效率不是很高

Rank: 8Rank: 8

注册时间
2009-11-16
最后登录
2017-6-9
在线时间
37 小时
阅读权限
90
积分
20928
帖子
96
主题
5
精华
0
UID
6659
12#
发表于 2012-10-29 11:30:22 |只看该作者
图挂了?

Rank: 8Rank: 8

注册时间
2010-7-13
最后登录
2015-10-26
在线时间
77 小时
阅读权限
90
积分
14383
帖子
71
主题
19
精华
0
UID
9798
13#
发表于 2012-11-6 14:35:37 |只看该作者
冒昧问一下,你的bind安装包明显不是bind-dlz的啊?!!是bind+mysql安装啊~~,?!

Rank: 4

注册时间
2012-5-8
最后登录
2012-12-11
在线时间
6 小时
阅读权限
50
积分
1277
帖子
14
主题
5
精华
0
UID
19969
14#
发表于 2012-11-18 11:26:24 |只看该作者
我测试了,解析非常慢

Rank: 4

注册时间
2015-3-24
最后登录
2016-6-3
在线时间
6 小时
阅读权限
50
积分
1163
帖子
2
主题
0
精华
0
UID
44302
15#
发表于 2016-3-3 19:45:33 |只看该作者
这个可以进行子域授权么,我这几天在做,子域授权没有成功
您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2018-1-13 06:15 , Processed in 0.051503 second(s), 11 queries , Apc On.

Powered by Discuz! X2 北京pk10

© 2001-2011 Comsenz Inc.

回顶部
北京pk10冠亚大2.3 北京快乐8走势图和值 北京pk10博彩 北京快乐8用什么看大小 北京快乐8总和多少算大 北京快乐8在线开奖直播
北京pk10官网 北京赛车pk10官方网站 北京赛车pk10历史记录 pk10购买 北京pk10预测冠军定码 北京pk10大小单双计划
北京赛车pk10官方网站 北京pk10官网 北京pk10是国家开的吗 北京pk10开奖记录 北京pk10计划
北京赛车pk10微信群 北京pk10算法 北京pk10五码稳定计划 北京pk10七码全年可用 北京快乐8官网投注 时时彩总和大小判断
北京早餐车加盟 早点来早餐加盟 早餐早点店加盟 天津早点加盟车 众望早餐加盟
加盟特色早点 早点加盟连锁店 早点店加盟 早点连锁加盟 小吃早点加盟
早点加盟多少钱 品牌早餐加盟 早点加盟商 早餐 早点来加盟店
早点加盟项目 特许加盟 全球加盟网 早点快餐店加盟 绿色早餐加盟
九阴真经挖矿怎么赚钱 pc蛋蛋预测器 新疆时时彩开奖号码 500万彩票网 助赢广东11选5手机版
广西快3qq群 安徽11选5结果 云南快乐十分玩法 黑龙江时时彩11选5走势 在家兼职赚钱
广东11选5前一杀号技巧 快乐十分助手最新版 鼎盛彩票 重庆快乐十分彩开奖网站 重庆时时彩计划免费版
重庆时时彩输死多少人 黑龙江体育彩票网 广东11选5快彩乐 超智能足球第二部 七乐彩18028期开奖结果