==========Bind源代码安装配置============
# yum grouplist 查看开发环境
# yum groupinstall "Development Tools" "Server Platfrm Development" 安装开发环境
下载bind包:bind-9.10.1-P1.tar.gz
#tar xzf bind-9.10.1-P1.tar.gz 解压
# groupadd -g 53 named
# useradd -u 53 -g named named -r 创建为系统组和系统用户
# ./configure –prefix=/usr/local/bind9 –sysconfdir=/etc/named/ –disable-ipv6 -disable-chroot –enable-threads 编译配置参数. 指定安装路径,配置文件路径,禁用ipv6,禁用chroot,启用3线程
#make
#make install
配置环境变量:
1. 修改path环境变量
编辑 /etc/profile.d/named.sh
export PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin:$PATH
#./etc/profile.d/named.sh 执行生效
#echo $path 查看环境变量
#named-checkconf 查看配置文件命令可使用
2. 输出二进制文件路径
编辑 /etc/ld.so.conf.d/conf/named.conf
#/usr/local/bind9/lib 导出库文件
#ls lib 查看库文件
#lddconfig -v 使库文件生效,-v显示过程
3.导出头文件路径
#ln -sv /usr/local/bind9/include /usr/include/named
#ls /usr/include/named 查看链接的文件
ls share/
编辑添加/etc/man.config 让named可以在man中查找
MANPATH /usr/local/bind9/share/man
4.编写配置文件:
#cd /etc/named 进入named目录
#vi named.conf 添加named.conf 配置文件
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.0.127.in-addr-arpa" IN {
type master;
file "named.local";
allow-update { none ; } ;
};
#named-checkconf 检查配置文件
添加上面3个zone文件。
1.)#dig -t NS . @8.8.8.8 > /var/named/named.ca 查看根域的NS记录并导入到named.ca里
2.)#vim /var/named/localhost.zone
$ttl 1d
@ IN SOA localhost. admin.localhost. (
001
1h
5m
7d
1d)
IN NS localhost.
localhost. IN A 127.0.0.1
3.)#cp localhost.zone named.local
$ttl 1d
@ IN SOA localhost. admin.localhost. (
001
1h
5m
7d
1d)
IN NS localhost.
1 IN PTR localhost.
修改相关文件的文件和用户权限
#chomd 640 /var/named/*
#chown :named *
#chmod 640 /etc/named/named.conf
#chown :name /etc/named/named.conf
5.启动bind:
#named -u named -f -g -d 3 运行级别为3,-g,把标准结果输出到前台。
#named -u named 在后台运行
#killall named 关闭..
runing… 就表示启动成功!
6.添加一个域来做解析测试:
1.编辑主配置文件加一个linusec.cn区域
#vi /etc/named/named.conf
zone "linuxsec.cn" IN {
type master;
file "linuxsec.cn.zone";
allow-update { none; };
};
2.添加区域解析库文件
#vi /var/named/linuxsec.cn.zone
$ttl 86400
$linuxsec.cn.
@ IN SOA ns.linuxsec.cn. admin.linxsec.cn. (
001
2h
5m
1w
1d)
IN NS ns
ns IN A 192.168.118.128
www IN A 192.168.118.128
3.修改文件及用户权限
#chmod 640 linuxsec.cn.zone
#chown :named linuxsec.cn.zone
#named -u named 启动服务
4.rndc的生成
rndc confgen -r /dev/urandom > /etc/named/rndc.conf生成随机数生产秘钥文件,并重定向到rndc.conf
然后在rndc.conf文件中,把下面部分的秘钥复制到/etc/named//named.conf
rndc-key
:.,[email protected]^#@@g *去配置文件#脚本*
#killall -STGHUP named 重新加载配置文件
#rndc status 查看状态
#rndc reload 重读配置文件
=========bind压力测试工具-queryperf=======
1.安装queryperf
路径在bind9.10.1-P1/contrib/scripts/queryperf
#./configure && make 直接安装
#cp queryperf /usr/local/bind9/bin
2.编辑测试文件
#vi linuxsec.cn
www.linuxsec.cn A
linuxsec.cn MX ……. 加入N条之后去测试
wc -l file 可以查看文档行数
#querypref -d linuxsec.cn -s 8.8.8.8
即可看到测试结果………
#top命令 查看压力测试情况.
#vmstat 查看io状态
#iostat 1 查看io的读写数据
#rndc querylog 开启查询日志 日志的读写会占用系统的IO,非常消耗系统资源…
#tail /var/log/messages 查看日志
==========BIND中基础的安全配置=========
acl:把一个或者多个主机归并为一个集合,并通过一个统一的名称调用
acl acl_name {
ip;
ip;
net/长度格式;
}
bind中四个内置的acl:
none:没有一个主机
localhost:本机
any:所有主机
localnet/127.0.0.1:本地的ip同掩码运算后得到的网络地址
注意:先定义,再使用,因此,期一般定义在配置文件的options前面
访问控制的指令:
allow-query { 127.0.0.1; };运行查询的主机,白名单
allow-trabsfer { 127.0.0.1; }; 允许区域传送的主机,白名单 定义的访问控制列表在区域文件
allow-recursion
allow-recursion{ mynet;}; 允许递归的主机
allow-update { none; }; 允许更新
rndc reload重新加载