Centos7 编译安装DNS

构建DNS服务的最基础的软件是bind,DNS服务的进程名是named。为了增强安全性,我们要安装最新版的bind软件,但最新版的bind版本为bind-9.11.2,网上只有源代码包,此时,我们只能通过手动编译安装bind了。

centos7 编译安装DNS

下载地址 http://www.isc.org/downloads/bind/

搭建yum源
[root@centos7 /etc/yum.repos.d]#vim base.repo 
创建 /misc/cd并挂载光盘
[root@centos7 ~]#mkdir -p /misc/cd
[root@centos7 ~]#mount /dev/sr0 /misc/cd
编译源码通常都需要安装Devel包等~~~
解压包组
[root@centos7 ~]#yum grouplist "Development Tools" -y
 bind-9.11.0-P1.tar.gz         
[root@centos7 ~]#tar xvf bind-9.11.0-P1.tar.gz 
创建系统用户组账号 吧 -m强制生成家目录
[root@centos7 ~]#getent passwd named
[root@centos7 ~]# useradd -r -m -d /var/named -s /sbin/nologin named
执行configure脚本并安装
[root@centos7 ~/bind-9.11.0-P1]#./configure --prefix=/app/bind9 --sysconfdir=/etc/named/ --without-openssl
[root@centos7 ~]#make -j 4 && make install
将centons6的主机的named.ca文件拷贝到centons7主机
[root@centons6 ~]#dig -t ns . @172.18.0.1 >/app/named.ca
[root@centons6 ~]#scp /app/named.ca 172.18.70.40:/var/named/
[root@centos7 /etc/named]#ls
bind.keys
把/etc/bind9/下bin,sbin写到PATH路径里面
[root@centos7 /var/named]#vim /etc/profile.d/env.sh
执行PATH环境变量
[root@centos7 /var/named]#. /etc/profile.d/env.sh
编辑named.conf文件
[root@centos7 /var/named]#vim /etc/named/named.conf
编写区域解析库文件
[root@centos7 /var/named]vim test.com.zone
编辑man帮助
[root@centos7 /var/named]#vim /etc/man_db.conf
开启服务
[root@centos7 ~]#named -u named -f -g -d 3
-u谁来开启服务,-f前段运行,-g前段运行并显示标准错误,有助于排错,-d是debug级别,级别越高,显示的信息越详细
centos6测试 关闭防火墙
[root@centons6 ~]#dig www.test.com @172.18.70.40

安装rndc配置文件

querylog: 开启或关闭查询日志文件
[root@centons7 ~]#rndc querylog  执行一次开启 ,再执行关闭
[root@centons6 ~]#dig www.qq.com @172.18.70.40 centos6向centos7发起测试
[root@centons7 ~]#tail -f /var/log/messages   查询日志会有收到查询信息,大量用户查询了负载还是很大的,
                                              除非排错才开启rndc  querylog功能
[root@centos7 ~]#rndc trace每执行一次记录详细程度越高      trace: 递增debug一个级别
[root@centos7 ~]#rndc status查看详细信息  (缺少配置文件)
提示有任何一个文件都可以
rndc是基于共享秘钥的方式来进行管理,rndc相当于客户端工具,它管理服务器随便一个机器执行这个命令把本主机服务器配置文件可以加载或者其他是有危险性,因此rndc需要配置客户端和服务器,两边进行管理就要配置共享秘钥(生成相同的key才能管理)
开始安装rndc配置文件     工具生成文件rndc.conf
[root@centos7 ~]#rndc-confgen -r /dev/urandom > /etc/named/rndc.conf(生成相同的key才能管理)
[root@centos7 ~]#vim /etc/named/named.conf
里面存放共享秘钥,上面是客户端,下面是服务器端
把服务器共享秘钥移动至named配置文件中
[root@centos7 ~]#vim /etc/named/named.conf 
:!tail -n 12 /etc/named/rndc.conf          把rndc.conf文件倒数12行移动到文件中
重新开启服务并测试
[root@centos7 ~]#named -u named -f -g -d 3
[root@centos7 ~]#rndc querylog复制终端执行
[root@centos7 ~]#rndc status

编译压力测试工具

上线前做dns压力测试非常关键,可以判断出服务器最大负荷,每秒可以接收多少客户请求   
[root@centos7 ~]#cd bind-9.11.0-P1/contrib/queryperf/     queryperf源码包
[root@centos7 ~/bind-9.11.0-P1/contrib/queryperf]#./configure  运行脚本
make  安装太小可以直接使用不用编译
[root@centos7 ~/bind-9.11.0-P1/contrib/queryperf]#vim /app/test.txt      复制3000行
       A记录 解析成ip地址
       查询test.com NS 记录
       测试性能拒绝查询www.magedu.com  A
指定某个机器终端进行压力测试
[root@centos7 ~/bind-9.11.0-P1/contrib/queryperf]#./queryperf -d /app/test.txt -s 172.18.70.70 
Queries per second:    537  可以看出一秒钟能并发处理多少个请求
注意: 开启rndc querylog,性能会极大的产生影响,可以看到打开querylog(查询日志),性能只有原来的3/1,所以一般情况下querylog为关闭状态
在另外一个终端输入如下面命令
[root@centons6 ~]#top   top命令经常用来监控linux的系统状况,比如cpu、内存的使用

OK

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 8,468评论 0 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,092评论 19 139
  • 一、实现从根,com,rj.com 模拟互联网的DNS架构 DNS(Domain Name System,域名系统...
    ssjinyao阅读 5,416评论 0 7
  • DNS工作原理 DNS 查询的过程 DNS( Domain Name System)是“域名系统”的英文缩写,是一...
    ghbsunny阅读 12,958评论 0 0
  • DNS简介DNS解析关键概念BIND 一、DNS简介: (一)DNS服务 DNS:Domain Name Serv...
    哈喽别样阅读 5,782评论 0 2

友情链接更多精彩内容