author:JevonWei

版权声明:原创作品


编译bind

  • 准备阶段:

    1. 下载bind软件包,然后传输到系统中

      https://www.isc.org/downloads/
    2. 安装开发包组

      yum -y groupinstall "Development tools"

      3 . 解压bind软件包

      tar xvf bind-9.10.5-P3.tar.gz
    3. 创建named系统用户账号

      useradd -r -d /var/named -s /sbin/nologin -u 53 named \-r 指定系统账号,-d指定家目录为/var/named -s指定shell环境为/sbin/nologin -u 指定UID为53
    4. 创建named的家目录及修改所属组信息

      mkdir /var/named

      chgrp named /var/named/ \修改所属组为named

      chmod o= /var/named/
    5. iptables -F
  • 编译

    1. cd bind-9.10.5-P3

    2. ./configure --help \查看configure编译的说明

    3. mkdir /usr/src/bind9 \新建目录作为bind的根目录

    4. ./configure --prefix=/usr/src/bind9/ \执行编译安装,出现如下提示时,需要安装OpenSSL软件包或在编译时使用--without-openssl关闭安全加密功能

    5. ./configure --prefix=/usr/src/bind9/ --without-openssl

    6. make && make install

    7. vim /etc/profile.d/bind9.sh \添加bind9二进制文件的路径到全局变量中

      export PATH=/usr/src/bind9/sbin:/usr/src/bind9/bin:$PATH

    8. . /etc/profile.d/bind9.sh \刷新生效

    9. ls /usr/src/bind9/bin

    10. which dig \测试dig命令的路径是否正确

    11. man dig \测试帮助文档命令路径是否正确

    12. vim /usr/src/bind9/etc/named.conf \新建named.conf配置文件

      options {

      directory "/var/named";

      };

      zone "." {

      type hint;

      file "root.ca";

      };

    13. 编辑DNS . 文件,可从其他主机中复制,可在网络中某个DNS服务器中抓取

    14. dig -t NS . @172.16.0.1 > /var/named/root.ca \抓取 .DNS数据到/var/named/root.ca

    15. vim /usr/src/bind9/etc/named.conf \添加DNS解析域文件

      options {

      directory "/var/named";

      };

      zone "." {

      type hint;

      file "root.ca";

      };

      zone "danran.com" {

      type master;

      file "danran.zone";

      };

    16. vim /var/named/danran.zone \编辑DNS数据库文件

      $TTL 1D

      @ IN SOA ns admin ( 0 1D 10M 3D 1H)

      NS ns

      ns A 192.168.198.136

      www A 192.168.198.150

    17. named --help \查看named命令的使用帮助

    18. vim /etc/man.config \将named帮助文档的路径写入/etc/man.config全局文件中,/usr/src/bind9/share/man/为named的帮助文档路径

      MANPATH /usr/src/bind9/share/man/
    19. man named \查看named的帮助文档

    20. named -f -g -d 3 -u named \ 开启named服务,-f 前台执行,-g 将日志信息输出到标准输出,-d 以什么级别显示debug信息,-u 指定什么用户执行命令

  • 客户端访问测试

    dig www.danran.com @192.168.198.136

安装rndc

1. 生成DNS key文件
rndc-confgen -r /dev/urandom > /usr/src/bind9/etc/rndc.con
2. vim /usr/src/bind9/etc/rndc.conf \\将文件中的如下注释内容剪切到/usr/src/bind9/etc/named.conf文件中 # Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "JZMdWLCUJhuMaes8bUJJKw==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf

3. vim /usr/src/bind9/etc/named.conf \\将/usr/src/bind9/etc/rndc.conf文件中剪切的内容复制到此文件中,并去掉#注释信息

    # Use with the following in named.conf, adjusting the allow list as needed:
key "rndc-key" {
algorithm hmac-md5;
secret "JZMdWLCUJhuMaes8bUJJKw==";
}; controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
# End of named.conf

4. named -f -g -d 3 -u named    \\ 开启named服务,-f 前台执行,-g 将日志信息输出到标准输出,-d 以什么级别显示debug信息,-u 指定什么用户执行命令
5. ss -ntln \\rndc的953端口一打开
6. rndc reload \\rndc命令已安装
7. rndc querylog \\打开named的日志功能
8. rndc status \\查看named的状态信息

编译安装压力测试工具queryperf

  • 编译安装queryperf

    1. cd /root/bind-9.10.5-P3/contrib/queryperf \切换到bind的解压文件目录的contrib/queryperf

    2. ./configure \编译queryperf此工具

    3. make

    4. cp /root/bind-9.10.5-P3/contrib/queryperf/queryperf /usr/src/bind9/bin/ \复制queryperf工具的二进制文件到/usr/src/bind9/bin/路径中

    5. queryperf --help \查看queryperf工具的帮助

    6. scp /usr/src/bind9/bin/queryperf /192.168.198.134:/bin \复制queryperf二进制文件到另一台主机的bin目录下进行压力测试

    7. vim /root/text.txt \编辑需要解析的数据文件

      www.danran.com A

      danran.com NS

      ftp danran.com A

      www.danran.com A

      www.danran.com A

      www.danran.com A

      www.danran.com A

      www.danran.com A

      www.danran.com A

      .....

    8. queryperf -d /root/text.txt \本机进行DNS压力测试

  • 远程压力测试

    1. vim /root/text.txt \编辑需要解析的数据文件

      www.danran.com A

      danran.com NS

      ftp danran.com A

      www.danran.com A

      www.danran.com A

      www.danran.com A

      www.danran.com A

      www.danran.com A

      www.danran.com A

      .....

    2. queryperf -d /root/text.txt -s 192.168.198.134 \-d 指定解析的数据文件,-s 指定需要测试的远程主机

编译bind的相关内容

http://119.23.52.191/编译安装bind及queryperf压力测试工具详解/

http://119.23.52.191/dns服务/

源码编译安装bind的更多相关文章

  1. CentOS 7.4 源码编译安装 Redis

    一.CentOS 7.4  源码编译安装 Redis 1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar ...

  2. 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_38、源码编译安装Redis4.x

    笔记 2.源码编译安装Redis4.x     简介:使用源码安装Redis4.x和配置外网访问 1.快速安装  https://redis.io/download#installation      ...

  3. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...

  4. 源码编译安装 MySQL 5.5.x 实践

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

  5. 烂泥:mysql5.5数据库cmake源码编译安装

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...

  6. Centos7.X 源码编译安装subversion svn1.8.x

    说明:SVN(subversion)的运行方式有两种:一种是基于Apache的http.https网页访问形式:还有一种是基于svnserve的独立服务器模式.SVN的数据存储方式也有两种:一种是在B ...

  7. centos6.5环境源码编译安装mysql5.6.34

    centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...

  8. centos 6.5源码编译安装subversion 1.8.10

    一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网 ...

  9. Linux环境PostgreSQL源码编译安装

    Linux环境PostgreSQL源码编译安装 Linux版本: Red Hat 6.4 PostgreSQL版本: postgresql-9.3.2.tar.gz 数据存放目录: /var/post ...

随机推荐

  1. Linux系统运维工程该具备哪些素质

    记得在上高中时,物理老师总是会对我们一句话:"学习是件苦差事."工作后发现,其实做运维也是件苦差事.最为一名运维工程师,深知这一行的艰辛,但和IT行业其他职务一样,那就是付出的越多 ...

  2. java+反射+多线程+生产者消费者模式+读取xml(SAX)入数据库mysql-【费元星Q9715234】

    java+反射+多线程+生产者消费者模式+读取xml(SAX)入数据库mysql-[费元星Q9715234] 说明如下,不懂的问题直接我[费元星Q9715234] 1.反射的意义在于不将xml tag ...

  3. 代理(Proxy)和反射(Reflection)

    前面的话 ES5和ES6致力于为开发者提供JS已有却不可调用的功能.例如在ES5出现以前,JS环境中的对象包含许多不可枚举和不可写的属性,但开发者不能定义自己的不可枚举或不可写属性,于是ES5引入了O ...

  4. Java curator操作zookeeper获取kafka

    Java curator操作zookeeper获取kafka Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更 ...

  5. Linux(3)用户和权限管理

    用户, 权限管理 Linux中root账号通常用于系统的维护和管理, 它对操作系统的所有部分具有不受限制的访问权限 在Unix/Linux安装过程中, 系统会自动创建许多用户账号, 而这些默认的用户就 ...

  6. error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    一.情形描述 下载了一个VS的源码,不知道此源码的版本.使用VS2010编译时出现如下报错: error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 二.解决方法 在VS2010界 ...

  7. [PGM] Exact Inference for calculating marginal distribution

    如何在贝叶斯网络中求解某变量的边缘分布? 这是一个问题. 贝叶斯网络如下: CPTs如下: (1) How to compute p( L | C = high )? p( L | C = high  ...

  8. openstack中dashboard页面RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.

    环境是centos7,直接跑在服务器上. 按照官网一步步安装openstack,到验证dashborad时出错. 登录http://192.168.1.73/dashboard ,输入域名,用户名,密 ...

  9. oracle中decode的一些巧妙用法

    1.符号函数sign在decode中的用法--比较大小 select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值sign()函数根据某个值是0 ...

  10. 福科田led漫反射灯条生产工序

    led漫反射灯条简称透镜灯条,它两个其实是一种产品.下面我来讲讲led漫反射灯条的生产工序.首先介绍的是led漫反射灯条的生产总流程. 一.      led漫反射灯条的生产总流程: 1.       ...