源码编译安装bind

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关闭安全加密功能
      image

    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

image

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

image

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服务/

danran
原文地址:https://www.cnblogs.com/JevonWei/p/7252295.html