设为首页 收藏本站
查看: 2568|回复: 0

[经验分享] 编译安装bind-9.9.5及测试

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-27 09:36:21 | 显示全部楼层 |阅读模式
编译安装bind-9.9.5

环境:Development Tools和Server Platform Development

1
2
[iyunv@school ~]# tar xf bind-9.9.5.tar.gz   #解压
[iyunv@school ~]# cd bind-9.9.5               #进入目录



应该以普通用户运行,所以创建普通用户

1
2
3
4
5
6
7
8
9
10
11
12
13
[iyunv@school bind-9.9.5]# id named   #查看named用户是否存在
id: named: No such user
[iyunv@school bind-9.9.5]# groupadd -r -g 53 named   #创建named组
[iyunv@school bind-9.9.5]# useradd -g named -r -u 53 named   #创建named用户
[iyunv@school bind-9.9.5]# id named   #查看named用户信息
uid=53(named) gid=53(named) groups=53(named)
编译安装
[iyunv@school bind-9.9.5]# ./configure --prefix=/usr/local/bind9 --sysconfdir=/etc/named/ --enable-threads --disable-chroot --disable-ipv6   
[iyunv@school bind-9.9.5]# make && make install
选项:
--enable-threads   #启用多线程功能
--disable-chroot   #不启用chroot功能
--disable-ipv6     #不启用ipv6



bind客户端工具:bind-libs,bind-utils在安装目录下bin下

定义环境变量:

1
2
3
4
5
[iyunv@school bind9]# vim /etc/profile.d/bind.sh
export PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin:$PATH
[iyunv@school bind9]# . /etc/profile.d/bind.sh
[iyunv@school bind9]# dig -v
DiG 9.9.5



导出MAN文档:
1
2
[iyunv@school named]# vim /etc/man.config
MANPATH /usr/local/bind9/share/man



导出头文件
如果基于软件进行二次开发,则需要导出头文件和库文件。但named不需要。
导出库文件
1
2
3
[iyunv@school bind9]# ls lib
libbind9.a  libdns.a  libisc.a  libisccc.a  libisccfg.a  liblwres.a
由于都是静态库,所以不用导出,否则需要编辑/etc/ld.so.conf.d/bind9.conf文件写入库目录



配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[iyunv@school ~]# cd /etc/named
[iyunv@school named]# vim named.conf
options {
        directory "/var/named";   #区域文件所在目录
        recursion yes;            #是否允许递归
};
zone "localhost" IN {                  
        type master;
        file "localhost.zone";
        allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "127.0.0.zone";
        allow-update { none; };
};



更改属主属组

1
2
3
4
5
6
7
8
9
[iyunv@school named]# chown root:named named.conf
[iyunv@school named]# chmod 640 named.conf
[iyunv@school named]# mkdir /var/named/slaves -pv
mkdir: created directory `/var/named'
mkdir: created directory `/var/named/slaves'
[iyunv@school named]# chown root:named /var/named
[iyunv@school named]# chown named:named /var/named/slaves/
[iyunv@school named]# chmod 750 /var/named
[iyunv@school named]# chmod 770 /var/named/slaves/



提供ca文件
1
[iyunv@school named]# dig -t NS . @a.root-servers.net > /var/named/named.ca



创建正反向解析文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[iyunv@school named]# vim localhost.zone
$TTL 86400
@       IN      SOA     localhost.      admin.localhost. (
                                2015072301
                                3H
                                15M
                                7D
                                1D )
        IN      NS      localhost.
        IN      A       127.0.0.1
[iyunv@school named]# vim 127.0.0.zone
$TTL 86400
@       IN      SOA     localhost.      admin.localhost. (
                                2015072301
                                3H
                                15M
                                7D
                                1D )
        IN      NS      localhost.
        IN      PTR     localhost.



更改属主属组
1
2
3
4
5
6
7
8
[iyunv@school named]# chgrp named 127.0.0.zone localhost.zone named.ca
[iyunv@school named]# chmod 640 127.0.0.zone localhost.zone named.ca
[iyunv@school named]# ll
total 16
-rw-r-----. 1 root  named  133 Jul 23 19:50 127.0.0.zone
-rw-r-----. 1 root  named  129 Jul 23 19:48 localhost.zone
-rw-r-----. 1 root  named 2177 Jul 23 19:45 named.ca
drwxrwx---. 2 named named 4096 Jul 23 19:39 slaves



检查配置文件、区域文件语法错误
1
2
3
4
5
6
7
[iyunv@school named]# named-checkconf /etc/named/named.conf
[iyunv@school named]# named-checkzone "localhost" /var/named/localhost.zone
zone localhost/IN: loaded serial 20150723
OK
[iyunv@school named]# named-checkzone "0.0.127.in-addr.arpa" /var/named/127.0.0.zone
zone 0.0.127.in-addr.arpa/IN: loaded serial 20150723
OK



启动
1
[iyunv@school named]# named -g -u named -c /etc/named/named.conf



添加区域解析库文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[iyunv@school named]# vim /etc/named/named.conf
zone "school.com" IN {
        type master;
        file "school.com.zone";
        allow-transfer {192.168.0.0/24; 127.0.0.1; };
        allow-update { none; };
};
[iyunv@school named]# vim /var/named/school.com.zone
$TTL 3600
@       IN      SOA     ns.school.com.  admin.school.com. (
                        2015072301
                        1H
                        10M
                        7D
                        1D )
        IN      NS      ns
ns      IN      A       192.168.0.9
www      IN      A       192.168.0.15



更改属主属组
1
2
[iyunv@school named]# chown :named school.com.zone
[iyunv@school named]# chmod 640 school.com.zone



启动
[iyunv@school named]# named -u named -c /etc/named/named.conf
[iyunv@school named]# ss -tunl
wKioL1Ww5m7QYe5JAABLz81n_u8031.jpg

wKiom1Ww5IjA7f49AABHWpmG5AQ400.jpg
重启后测试
1
2
3
4
5
6
7
8
9
10
11
[iyunv@school named]# dig -t A www.school.com @192.168.0.9
; <<>> DiG 9.9.5 <<>> -t A www.school.com @192.168.0.9
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53521
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.school.com.INA
;; ANSWER SECTION:



生成rndc

1
2
3
4
5
6
7
8
9
10
11
12
13
[iyunv@school named]# rndc-confgen -r /dev/urandom > /etc/named/rndc.conf
[iyunv@school named]# cat /etc/named/rndc.conf
添加rndc信息
[iyunv@school named]# vim /etc/named/named.conf
key "rndc-key" {
        algorithm hmac-md5;
        secret "tXqZXfssZ1HPhn28T+GhUA==";
};
  
controls {
        inet 127.0.0.1 port 953
                allow { 127.0.0.1; } keys { "rndc-key"; };
};



重读配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[iyunv@school named]# killall -HUP named
[iyunv@school named]# rndc reload
server reload successful
[iyunv@school named]# rndc status
version: 9.9.5 <id:f9b8a50e>
CPUs found: 4
worker threads: 4
UDP listeners per interface: 4
number of zones: 101
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running



改属主属组
1
2
[iyunv@school named]# chmod 440 rndc.conf
[iyunv@school named]# chgrp named rndc.conf



提供脚本

/etc/rc.d/init.d/functions函数很经典,应该多读

压力测试
bind-9.9.5/contrib/queryperf

编译
./configure
make不用make install
cp queryperf /usr/bin安装成功

建立一个测试文件
格式
1
2
3
ns.school.com A
mail.school.com A
pop.school.com A



测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[iyunv@school ~]# queryperf -d test.txt -s 192.168.0.9

DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $

[Status] Processing input data
[Status] Sending queries (beginning with 192.168.0.9)
[Status] Testing complete

Statistics:

  Parse input file:     once
  Ended due to:         reaching end of file

  Queries sent:         257664 queries
  Queries completed:    257664 queries
  Queries lost:         0 queries
  Queries delayed(?):   0 queries

  RTT max:          0.019282 sec
  RTT min:              0.000038 sec
  RTT average:          0.000383 sec
  RTT std deviation:    0.000590 sec
  RTT out of range:     0 queries

  Percentage completed: 100.00%
  Percentage lost:        0.00%

  Started at:           Thu Jul 23 22:13:32 2015
  Finished at:          Thu Jul 23 22:13:39 2015
  Ran for:              6.266114 seconds

  Queries per second:   41120.222198 qps



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-91069-1-1.html 上篇帖子: linux下的Raid配置和管理 下篇帖子: SecureCRT 连接本地linux虚拟机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表