编译安装

1、下载并安装Centos6 64位系统,记住不要最小化安装,最好安装带图形界面。内核2.6

2、系统安装好后,配置阿里云yum源,可连接外网。如果是内网自己去找yum源,这里简单介绍下配置阿里云yum源

直接给出命令

cd /etc/yum.repos.d

mkdir files

mv *repo* files

vim base.repo

[base]

baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/

gpgcheck=0

保存退出VIM编辑器

执行yumclean all

执行yummakecache

执行yumrepolist all

注意;如果报错根据报错信息,逐个排错

典型的故障是yum安全锁,执行

rm -rf /var/run/yum.pid

3、安装开发包组

1

# yum groupinstall "Development Tools"

4、bind源码包,请致3w.isc.org官网下载(我自己选择的编译版本是bind-9.10.1-P1.tar.gz)

5、下载(这里是内网下载的,上面isc地址,自己去下)及解压

1

2

# wget -q ftp://10.1.0.1/pub/Sources/sources/bind/bind-9.10.1-P1.tar.gz

# tar -xf bind-9.10.1-P1.tar.gz

6、检查并准备编译环境

1

2

3

4

5

6

7

8

9

10

11

# cd bind-9.10.1-P1

# ./configure --prefix=/usr/local/bind9 --sysconfdir=/etc/named/ --enable-threads --enable-epoll --disable-chroot

# 程序安装路径 配置文件路径 开启多线程 多路复用IO 不使用chroot

checkingforOpenSSL library... configure: error: OpenSSL was not foundinany of/usr/usr/local/usr/local/ssl/usr/pkg/usr/sfw; use --with-openssl=/path

If you don't want OpenSSL,use --without-openssl

# 缺少openssl 库,一般来讲编译环境缺少的都会是开发包,安装openssl开发包

# 注意;为避免重复报错,请执行以下openssl*的参数。全部安装关于openssl软件

# yum -y install openssl*

...

Complete!# openssl安装完成

# 重新检查编译环境

# ./configure --prefix=/usr/local/bind9 --sysconfdir=/etc/named/ --enable-threads --enable-epoll --disable-chroot

7、编译

1

# make

8、安装

# make install

9、编辑配置文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

# vim /etc/named/named.conf

# 写入下面的内容

options {

directory"/var/named";

pid-file"/usr/local/bind9/var/run/named.pid"};

zone"."IN {

typehint;

"named.ca""localhost"master;

"named.localhost"allow-transfer { none; };

"0.0.127.in-addr.arpa""named.loopback"};

10、编辑数据文件

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

# mkdir /var/named

# dig -t NS . @114.114.114.114 > /var/named/named.ca

# 注意;这条命令的意思是;从DNS114域里去抓取13条根记录,抓取的内容并追加到named.ca文件内

# vim /var/named/named.localhost

# 写入下面内容

$TTL 86400

@ IN SOA localhost. admin.localhost. (

20160927

2H

10M

7D

1D

)

IN NS localhost.

localhost. IN A 127.0.0.1

# vim /var/named/named.loopback

1 IN PTR localhost.

11、设置运行环境

1

2

3

4

# groupadd -g 53 -r named

# useradd -g named -r named

# chown root:named /etc/named/named.conf /var/named/*

# chmod 640 /etc/named/named.conf /var/named/*

12、导出环境变量

1

2

3

4

5

6

7

8

9

10

11

12

13

# PATH环境变量

# echo 'export PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin:$PATH' > /etc/profile.d/named.sh

# source /etc/profile.d/named.sh

# 创建头文件

# ln -sv /usr/local/bind9/include /usr/include/named

# 创建库文件

# vim /etc/ld.so.d/named.conf

/usr/local/bind9/lib64

# 创建并指定man帮助文档

# man -M /usr/local/bind9/share/man named

# 或者

# vim /etc/man.config

MANPATH/usr/local/bind9/share/man

13、试启动

1

2

3

4

5

6

# named -u named

# 以named用户运行程序

# 查看监听端口

# ss -tnul

# 查看日志

# tail /var/log/messages

14、配置rndc(远程管理工具,很显然需要密钥)。

1

2

3

4

5

# 生成密钥

# rndc-confgen -r /dev/urandom > /etc/named/rndc.conf

# 改变密钥文件属性

# chown root:named /etc/named/rndc.conf

# chmod 640 /etc/named/rndc.conf # 其他用户没有任何权限

15、打开rndc.conf按要求操作。

# vim /etc/named/rndc.conf

wKiom1Mo64qCwth0AALgMSDeufs856.jpg

# vim /etc/named.conf

wKioL1Mo7B_w-mbUAAGzsrp--78700.jpg

16、重启服务,并测试rndc(本地测试)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

# killall named

# rndc status

version: 9.9.5 <id:f9b8a50e>

cpus found: 2

worker threads: 2

UDP listeners per interface: 2

number of zones: 100

debug level: 0

xfers running: 0

xfers deferred: 0

soa queriesprogress: 0

query logging is OFF

recursive clients: 0/0/1000

tcp clients: 0/100

server is up and running

17、编辑服务配置脚本。

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

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

# vim /etc/init.d/named

# 写入脚本

#!/bin/bash

# description: daemon named

# chkconfig: 345 20 50

#

pidFile=/usr/local/bind9/var/run/named.pid

lockFile=/var/lock/subsys/named

confFile=/etc/named/named.conf

[ -r/etc/rc.d/init/functions] && ./functions

start() {

if[ -e $lockFile ];then

echo"named is already running..."

else

-n"Starting named:"

daemon --pidfile"$pidFile"/usr/local/bind9/sbin/named-u named -c"$confFile"

RETVAL=$?

[ $RETVAL -eq0 ];touch$lockFile

success

rm-f $lockFile $pidFile

failure

fi

echo

}

stop() {

[ ! -e $lockFile ];"named is stopped."

"Stopping named:"

killproc named

"Cannot stop named."

restart() {

stop

sleep2

start

reload() {

"Reloading named: "

killproc named -HUP

status() {

pidof named &>/dev/null;"named is running..."

"named is stopped..."

usage() {

"Usage: named {start|stop|restart|status|reload}"

case$1in

start)

start ;;

stop)

stop ;;

restart)

restart ;;

status)

status ;;

reload)

reload ;;

*)

usage

;;

esac

18、将脚本添加到服务中去并启动。

1

2

3

4

5

6

7

# chmod +x /etc/init.d/named # 给脚本增加执行权限

# chkconfig --add /etc/init.d/named

# chkconfig --list named

named 0:off 1:off 2:off 3:on 4:on 5:on 6:off

# service named start

Starting named: [ OK ]

# ss -tnul | grep ":53"

19、压力测试

在编译安装BIND的时候,安装程序中有个文件叫查询性能的,是第三方提供的性能测试工具。这个程序包一般是不会安装。也是需要手动去编译,我们切换去queryperf目录下、直接编译:

cd/testdir/bind-9.10.1-P1/contrib

# ./configure
# make
完成、生成一个叫queryperf、直接cp到/usr/bin下:
# cp queryperf /usr/bin

# cp /usr/bin/ queryperf

接下来我们去创建一个查询的域名的测试文件,在root的家目录下创建一个query.txt文件;
用vim创建query.txt文件并填入以下内容

www.magedu.com A

magedu.com NS

magedu.com MX

pop3.magedu.com A

web.magedu.com A

添加这些内容、然后复制N次保存退出、再测试一下你的DNS服务器每秒可以执行的查询次数是多少次、用时多少、看一下我的query.txt文件中有多少条:
# wc -l query.txt

要是你觉得不够多再加,加到你满意为止,最少几十万行。才能测试出效果。那我们就来测试一下吧。

# queryperf -d query.txt -s 127.0.0.1

wKiom1frxAzzw-t_AAFCunI2XPk956.jpg

测试时你可以用htop看一下cpu占用率:
# htop

wKioL1frxDPC2MHrAABONNssSwI954.png

20打开日志功能

rndc querylog

rndc status

queryperf -d test.txt -s 127.0.0.1

wc -l /var/log/message

故障排错于一九四三,BIND测试自此结束!!!

21、附上需要手动创建的文件,如有遗漏后续补上(等Centos7测试完毕后,来更新此文档。)

编译安装bind需要手动创建的文件

vim/etc/named/named.conf

mkdir/var/named

vim/var/named/named.ca

vim/var/named/named.localhost

vim/var/named/named.loopback

创建组groupadd -g 53 -r named

创建用户useradd -g named -r named

vim/etc/named/rndc.conf

vim/etc/init.d/named

环境变量自己创建,创建头文件,创建库文件此,创建man帮助文档

Centos6编译安装bind文件,注意事项的更多相关文章

  1. ios – 尝试向我们分配IP而不是localhost或home时,NSURLSession失败

    我有一台本地运行的服务器(我的IP是192.168.0.98),并且已经尝试使用一些网络代码来访问它.最初这是通过AFNetworking完成的,但我现在用这样的NSURLSession完成了它:然后我用这3个URL运行它:>http://localhost:8080/api–>作品.>http://127.0.0.1:8080/api–>作品.>http://192.168.0.98:8080/

  2. iOS – 友好的NSDate格式

    我需要在我的应用程序中显示帖子的日期给用户,现在我用这种格式:“5月25日星期五”.如何格式化NSDate以阅读“2小时前”的内容?使其更加用户友好.解决方法NSDateFormatter不能做这样的事情;你将需要建立自己的规则.我想像:所以这是打印’x分钟前’或’x小时前’从日期起24小时,通常是一天.

  3. .dylib在Debug中链接,在XCode中找不到适用于iPhone的版本

    所以我已经将libxml2.2.dylib库包含在我的iPhoneXCode项目中,以创建一些Xml和XPath解析实用程序.当我编译并运行在模拟器和设备的调试模式时,我没有问题,但是,当我切换到发布模式我得到…

  4. 在编译的iOS应用程序(IPA)中加密内容

    由于IPA结构只是一个压缩文件,包含编译代码媒体内容,如图像&音频,我如何保护内容免受别人的窃取?是否有加密可以添加到IPA?

  5. ios – Swift 4向后兼容性

    一起使用.有没有办法在两个版本的Xcode中使这个工作?Swift4是否应该向后兼容?

  6. iOS 10.3:模拟器HTTPS localhost:SSL错误

    这适用于iOS10.2及更低版本,但升级到10.3后,当模拟器尝试通过HTTPS连接到运行在localhost上的开发服务器时,Xcode控制台会输出以下错误:打印出URLSessionDataTask返回的错误显示:参考:Apple:Developer:GuidesandSampleCode:TechnicalNoteTN2232:HTTPSServerTrustEvaluation要创建自签名

  7. Swift与OC混合编译

    SWift调用OC新建swift文件此时系统自动生成-Bridging-Header.h文件并且TARGETS->BuildSettings->Objective-CBridgingHeader(搜索bridg)选项中会自动填入以上头文件的路径在-Bridging-Header.h中#import要调用的OC对象头文件OC调用Swift在OC文件中#import“

  8. Swift教程01-使用switfc终端命令编译运行swift程序

    应公司的要求,要我研究swift语言,然后给大家进行swift技术培训,买了4,5本swift相关的书籍就开始研究了.今天来介绍一下,swift相关的终端的命令.1.首先我们在桌面上建一个swift文件夹用来存放.swift源文件,打开终端输入cd加空格拖拽文件夹到终端(使用命令ls,cd目录也是等效)3.使用vi命令创建一个HelloWorld.swift源文件进入swift文件夹后,然后使用如

  9. KeyStone安装部署笔记

    KeyStone客户端:OpenStack身份服务API的命令行接口。OpenStack出于扩展性的考虑也支持多个region。下面的命令在regionOne创建了keystone的三种端点:为admin租户和用户申请令牌:最后验证admin租户和用户:输出结果验证了身份服务工作正常,Keystone安装部署成功。

  10. 记一次云计算测试实验-openstack-icehouse-安装swift

    -----------------------controller:---------------------------------sourceadmin-openrc.shkeystoneuser-create--name=swift--pass=000000--email=swift@localhostkeystoneuser-role-add--user=swift--tenant=ser

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部