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

[经验分享] 智能dns-dns日志系统-dns压力测试整理

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-5-31 09:10:34 | 显示全部楼层 |阅读模式
dns智能及日志系统


    本篇博客将介绍如何制作智能DNS,如何在dns服务器中添加日志系统,以及如何使用queryperf和dnstop进行dns压力测试


智能DNS:DNS服务器能够根据客户端来源所属的网络进行判断,并且返回一个事先定义好的IP地址的机制

智能DNS的应用:例如唯品会中的商品库存,每个用户所看到的商品商品库存都是本区域中的商品库存,不同区域的用户所看到的商品库存是不一样的。

说明:
    本实验操作均在VMware10上实现(Redhat Enterprise Linux 5.8),并假设有两片区域的用户(内网用户,外网用户),这里使用inside表示内网区域,outside表示外网用户,由于主机限制,未能实现分区演示,主机中有多快网卡的朋友可以修改不同的IP进行测试, 这里仅测试了内网操作。

1、编辑dns主配置文件
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
    vim /etc/named.conf
    # 编辑完成后的内容如下:
        acl innet {
                127.0.0.0/8;
                192.168.134.0/24;
        };
         
        options {
                directory "/var/named";
                allow-recursion { innet; };
        };
         
        view inside {
                match-clients { innet; };
                zone "tb.com" IN {
                        type master;
                        file "inside.tb.com.zone";
                };  
        };
         
        view outside {
                match-clients { any; };
                zone "tb.com" IN {
                        type master;
                        file "outside.tb.com.zone";
                };  
        };




2、添加数据记录文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
    vim inside.tb.com.zone
    # 编辑资源记录如下:
        $TTL 43200
        @       IN      SOA     ns1.tb.com.     admin.tb.com. (
                                        2016052801
                                        1H  
                                        10M
                                        7D  
                                        1D )
                        IN      NS      ns1
                        IN      MX  10  mail
        ns1             IN      A       192.168.134.2
        mail            IN      A       192.168.134.4
        www             IN      A       192.168.134.3



1
2
3
4
5
6
7
8
9
10
11
12
13
14
    vim outside.tb.com.zone
    # 编辑资源记录如下:
        $TTL 43200
        @       IN      SOA     ns1.tb.com.     admin.tb.com. (
                                        2013052801
                                        1H  
                                        10M
                                        7D  
                                        1D )
                        IN      NS      ns1
                        IN      MX  10  mail
        ns1             IN      A       192.168.134.2
        mail            IN      A       172.16.0.4
        www             IN      A       172.16.0.3




3、重启dns服务
1
    service named restart



4、内网测试
QQ截图20160531090952.png

5、采用bind提供的弹性日志系统为dns服务器添加日志
本次操作需要主dns服务器与从dns服务器一同完成,主从dns服务器的配置参见作者上一篇博客,
这里主dns服务器的IP设置为:192.168.134.2,从dns服务器的IP设置为:192.168.134.22

简单说明:一般查询日志和安全日志不开启,信息量太大;而与更新相关的日志应该开启
    channel: 定义日志存储位置
        syslog:/var/log/messages
        file: 自定义保存日志信息的文件
        severity: critical error warning notice info(default) debug [level] dynamic
    category: 定义记录的日志类别(15种类别),定义日志源
        default,general,client,config,dispatch,dnssec,lame-servers,lame-servers

        network,notify,queries,resolver,security,update,xfer-in,xfer-out
    关系   
        channel:category 1:1
        category:channel 1:n
     即:同一日志源的日志信息可以记录在多个文件中,一个文件只能记录一个日志源的日志信息

    下面仅演示添加区域传输的日志记录,需要添加其它日志的可参照下述操作自行添加


    1、编辑主配置文件

1
2
3
4
5
6
7
8
9
10
11
12
    vim /etc/named.conf
    # 添加以下内容:
    logging {
            channel xfer-log {
                    file "/var/log/named/transfer.log" versions 3 size 10k;
                    severity dynamic;
                    print-time yes;
                    print-severity yes;
            };
     
            category xfer-out { xfer-log; };
    };




    2、为日志文件创建目录

1
2
3
    mkdir /var/log/named
    chown named:named /var/log/named
    chmod 770 /var/log/named




    3、在从dns服务器上执行区域同步命令
1
    dig -t axfr tb.com @192.168.134.2




    4、查看主dns服务器日志信息


wKiom1dMJFuRW6NAAAEIxutvqsk026.jpg

6、dns压力测试
1)通过queryperf测试(以下操作在主dns服务器中进行)
说明:bind97以后的包中都有queryperf,但是rpm在编译时未编译queryperf,因此使用queryperf需要自行下载bind97压缩包并自行安装。作者这里使用的是bind-9.7.4.tar.gz
    1、安装queryperf

1
2
3
4
5
6
7
8
9
    cd
    tar xf bind-9.7.4.tar.gz
    cd bind-9.7.4
    cd contrib/
    cd queryperf
    ./configure
    make
    cp queryperf /bin/
    queryperf -h # 查看queryperf使用帮助




    2、使用queryperf进行测试

1
2
3
4
5
6
7
8
    cd
    vim test # 编辑需要查询的记录
    # 输入格式示例(通过复制黏贴的方式多添加些记录用于测试-10w左右):
        tb.com NS
        www.tb.com A
        mail.tb.com A
        ns1.tb.com A
    queryperf -d test -s 192.168.134.2



    以下是作者测试结果:(电脑性能弱爆了~~)

QQ截图20160531091002.png
2)通过dnstop进行抓包测试

同样,系统自身并没dnstop,这里需要自行安装dnstop,作者这里使用的是dnstop-20110502.gz
简单说明:
    dnstop -4 -Q -R eth0
        -4:抓取IPv4的包
        -Q:记录查询数
        -R:记录响应数
        eth0:指定网卡

    dnstop的使用请使用man dnstop自行查看


    1、安装dnstop

1
2
3
4
5
6
7
    cd
    tar xf dnstop-20110502.gz
    yum install libcap-devel -y
    yum -y install libpcap-devel
    .configure
    make
    make install



    2、使用dnstop进行测试

    首先将test文件及queryperf二进制程序复制到从dns服务器中

1
2
    scp test 192.168.134.22:/root/
    scp /bin/queryperf 192.168.134.22:/bin/




     接着在主dns服务器中执行dnstop命令

1
    dnstop -4 -Q -R eth0




    接着在从dns服务器中执行queryperf命令:

1
    queryperf -d test -s 192.168.134.2




    作者测试结果:
QQ截图20160531091008.png

    以上是个人关于dns服务器的一些总结,疏漏在所难免,还望指出


   


运维网声明 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-224196-1-1.html 上篇帖子: Linux下使用Rinetd来实现端口转发 下篇帖子: CentOS 7下编译libiconv 压力测试 智能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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