天天看点

ACL、dns日志、queryperf压力测试、dnstop性能测试

<b>ACL</b><b>的使用</b>

回顾:

allow-recursion {}; 定义能够被递归的客户端

allow-query {}; 允许查询的客户端

allow-transfer{};允许实现区域传送

       axfr

       ixfr

如果其中需要定义的客户端比较多的时候应该怎么办?

这样就可以使用一个变量来定义,它就是acl

acl ACL_NAME {

       ***.***.***/**;

};

<a href="http://blog.51cto.com/attachment/201304/173519274.jpg" target="_blank"></a>

<b>服务器的智能解析</b>

首先,配置三个网络:一个172.168.100.1 一个192.168.0.141.一个172.16.100.8

其中把192假设为联通网络的客户端,172**.8假设为电信的客户端

然后到主服务器中定义named.conf(刚才做实验的2个从服务器的named服务停掉)

“这里我们需要用到一个新的功能 view

view VIEW_NAME {

};所有的区域都必须定义在试图中

其中match-clients { }; //表示使用定义acl中的哪个

<a href="http://blog.51cto.com/attachment/201304/173535870.jpg" target="_blank"></a>

然后去创建2个zone文件

<a href="http://blog.51cto.com/attachment/201304/173558999.jpg" target="_blank"></a>

修改文件的属组及用户权限

<a href="http://blog.51cto.com/attachment/201304/173608465.jpg" target="_blank"></a>

创建unicom.mageedu,com.zone同上

<a href="http://blog.51cto.com/attachment/201304/173621889.jpg" target="_blank"></a>

然后重启服务

<a href="http://blog.51cto.com/attachment/201304/173632383.jpg" target="_blank"></a>

然后到每个客户端下dig查询

<a href="http://blog.51cto.com/attachment/201304/173658537.jpg" target="_blank"></a>

然后在telecom的客户端进行查询

<a href="http://blog.51cto.com/attachment/201304/173708697.jpg" target="_blank"></a>

然后就可以观察已经做好了。

但是如果想解析不管是电信还是联通,显示的结果都相同应该怎么设置呢?

<a href="http://blog.51cto.com/attachment/201304/173723510.jpg" target="_blank"></a>

这样的方法也简单,在unicom与telecom中都定义一个域,并且定义的相同,如图

然后还是使用上边的方法创建zone文件

<a href="http://blog.51cto.com/attachment/201304/173749754.jpg" target="_blank"></a>

赋予权限并重启

然后在两个客户端重新做dig测试

返回结果一样如下:

<a href="http://blog.51cto.com/attachment/201304/173805475.jpg" target="_blank"></a>

但是 这样的情况就麻烦了。比如,我需要定义1000个域名。那么就必须要在联通和电信的两个域中都定义并且打上1000编,这样是很麻烦的。所以,现在人们一般都把这些存放在一个表中,DNS启动的时候都会去表中提取。修改也简单。但是读取上造成了一点麻烦:每次去读取都要去查表,虽然速度很快。

<b>给服务器添加日志功能</b>

<a href="http://blog.51cto.com/attachment/201304/173824345.jpg" target="_blank"></a>

在这里定义querylog

注:真正添加日志会耗慢DNS的速度

service named restart

在客户端进行下dig查询然后回服务器中查看日志

<a href="http://blog.51cto.com/attachment/201304/173843327.jpg" target="_blank"></a>

我们的DNS其实也给我们定义了一个很有弹性的日志系统

       category: 日志源,可以通过catagory自定义日志来源

       channel: 日志保存到什么地方,

              syslog: /vat/messages

              file: 自定义保存日志信息的文件

              注意:一个category可以定义多个channel,但是一个channel只属于一个category

<a href="http://blog.51cto.com/attachment/201304/173855458.jpg" target="_blank"></a>

我们这里来定义一下我们的查询日志

定义在named.conf中

<a href="http://blog.51cto.com/attachment/201304/173905267.jpg" target="_blank"></a>

然后创建named目录并把属组属主给named

<a href="http://blog.51cto.com/attachment/201304/173915201.jpg" target="_blank"></a>

重启named

然后用客户端进行下查询

回到主服务器中查看下日志

<a href="http://blog.51cto.com/attachment/201304/173929985.jpg" target="_blank"></a>

<b>定义一个记录传输日志</b>

同样,先来定义named.conf中的logging

<a href="http://blog.51cto.com/attachment/201304/173943201.jpg" target="_blank"></a>

继续重启named继续进行客户端查询操作

然后继续回来查看日志

<a href="http://blog.51cto.com/attachment/201304/174008559.jpg" target="_blank"></a>

然后创建DNS日志的方式基本上就是这样了,如果需要创建别的可以来查看这个表

<a href="http://blog.51cto.com/attachment/201304/174017298.jpg" target="_blank"></a>

<b>测试queryperf : </b><b>压力测试</b>

<a href="http://blog.51cto.com/attachment/201304/174037953.jpg" target="_blank"></a>

因为queryperf 需要创建一个文件,在文件中说明需要查询什么内容,所以

回到家目录下创建一个text文件

然后其中内容添加查询内容

<a href="http://blog.51cto.com/attachment/201304/174055903.jpg" target="_blank"></a>

为了测试性能,这个可以复制粘贴万行。然后进行测试

<a href="http://blog.51cto.com/attachment/201304/174108379.jpg" target="_blank"></a>

结果

<a href="http://blog.51cto.com/attachment/201304/174117332.jpg" target="_blank"></a>

<b>测试 dnstop</b><b>性能测试</b>

首先下载编译安装dnstop

<a href="http://blog.51cto.com/attachment/201304/174133954.jpg" target="_blank"></a>

在编译安装前,我们要准备编译环境将开发工具及开发库安装及libpcap-devel的支持

所以

<a href="http://blog.51cto.com/attachment/201304/174258697.jpg" target="_blank"></a>

然后就行 ./configure进行编译

<a href="http://blog.51cto.com/attachment/201304/174310782.jpg" target="_blank"></a>

然后dnstop -4 –Q –R eth0打开测试

<a href="http://blog.51cto.com/attachment/201304/174327659.jpg" target="_blank"></a>

这个时候,就可以返回上边客户端进行查询,然后迅速返回这边观察dnstop的状态

<a href="http://blog.51cto.com/attachment/201304/174341179.jpg" target="_blank"></a>

本文转自 陈延宗 51CTO博客,原文链接:http://blog.51cto.com/407711169/1171117,如需转载请自行联系原作者