linux搭建dns脚本,Linux下源代码安装配置bind和dns安全配置及压力测试

==========Bind源代码安装配置============

# yum grouplist查看开发环境

# yum groupinstall "Development Tools"  "Server Platfrm Development"安装开发环境

#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

:.,$-1s@^#@@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重新加载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值