DNS(四)--DNS编译安装

Bind的编译安装

大多以tar.gz 和tar.bz2打包软件,大多是通过 ./configure ;make ;make install 来安装的;有的软件是直接make&&make install ,我们可以通过./configure ——help 来查看配置软件的功能;大多软件是提供./configure 配置软件的功能的;少数的也没有,如果没有的就不用,直接make&&make install 就行了。

./configure 比较重要的一个参数是 ——prefix ,用——prefix 参数,我们可以指定软件安装目录;当我们不需要这个软件时,直接删除软件的目录就行了。

比如我们可以指定bind安装到/usr/local/bind目录中:

[[email protected] bind]#./configure ——prefix=/usr/local/bind     如果我们不需要bind 时,可以直接删除/usr/local/bind目录。

下面我们来编译安装bind-9.9.5.tar.gz

1.创建named系统用户,UID=53,会自动创建named属组,GID=53。因为DNS的服务文件中的属组都是以named运行的。

# useradd  -r -u 53 named

2.展开压缩包,编译安装

#tar xf bind-9.9.5.tar.gz

#cd bind-9.9.5

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

#make && make install

参数介绍:还有很多参数,man ./configure里面有很多参数,可以看一下

--prefix=/usr/local/bind9:指定安装路径

--sysconfdir=/etc/named:创建的系统配置文件放在named里面

--disable-ipv6:不启动ipv6

--disable-chroot:不启用chroot功能

--enable-threads:启动线程

3.修改PATH环境变量

 #vim /etc/profile.d/bind.sh

在里面添加环境变量,.source bind.sh或重新打开一个窗口,或者再重启一下,用echo $PATH就可以看见环境变量已经添加进来了。

4.导出帮助手册

查看帮助手册时候,#man –M /usr/local/bind9/share/man/ named

这里有时会遇到一个问题:

Cannot open the message catalog "man" for locale "zh_CN.UTF-8"

(NLSPATH="/usr/share/locale/%l/LC_MESSAGES/%N")

解决:#cp /usr/share/locale/en/LC_MESSAGES/man /usr/share/locale/zh/LC_MESSAGES/

若想以后不用绝对路径查看帮助文档的解决办法:

编辑配置文件:#vim /etc/man.config在里面添加一行绝对路径就可以了。

5.提供主配置文件/etc/named/named.conf

 #chown root:named named.conf 
 #chmod 640 named.conf

为根及localhost提供区域解析库

 #mkdir /var/named/slaves –pv
 #chown root:named /var/named
 #chown named:named /var/named/slaves/
 #chmod 750 /var/named
 #chmod 770 /var/named/slaves/

localhost.zone

127.0.0.in-addr.arpa

 #chown :named localhost.zone
 #chown :named 127.0.0.zone

创建named.ca

在/var/named目录中创建named.ca,把下面的复制进去

;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  <file>"
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC 
;       under anonymous FTP as
;           file                /domain/named.cache
;           on server           FTP.INTERNIC.NET
;       -OR-                    RS.INTERNIC.NET
;
;       last update:    June 2, 2014
;       related version of root zone:   2014060201
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
A.ROOT-SERVERS.NET.      3600000      AAAA  2001:503:BA3E::2:30
;
; FORMERLY NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     192.228.79.201
B.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:84::B
;
; FORMERLY C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
C.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:2::C
;
; FORMERLY TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     199.7.91.13
D.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:2D::D
;
; FORMERLY NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; FORMERLY NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
F.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:2F::F
;
; FORMERLY NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; FORMERLY AOS.ARL.ARMY.MIL
;
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
H.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:1::803F:235
;
; FORMERLY NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
I.ROOT-SERVERS.NET.      3600000      AAAA  2001:7FE::53
;
; OPERATED BY VERISIGN, INC.
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     192.58.128.30
J.ROOT-SERVERS.NET.      3600000      AAAA  2001:503:C27::2:30
;
; OPERATED BY RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129
K.ROOT-SERVERS.NET.      3600000      AAAA  2001:7FD::1
;
; OPERATED BY ICANN
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     199.7.83.42
L.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:3::42
;
; OPERATED BY WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
M.ROOT-SERVERS.NET.      3600000      AAAA  2001:DC3::35
; End of File

6.尝试启动缓存名称服务器

 #named-checkconfig
 #named -u named -c /etc/named/named.conf 运行于后端,启动named,会打开53端口

7.提供rndc

 #rndc-confgen -r /dev/urandom > /etc/named/rndc.conf
 #chown root:named /etc/named/rndc.conf
 #chmod 440 /etc/named/rndc.conf

把rndc.conf里的注释信息复制到named.conf中,注释去掉。

 key "rndc-key" {
     algorithm hmac-md5;
     secret "ji71N+eDfn8txV9fIlGMEw==";
  };
 
 controls {
     inet 127.0.0.1 port 953
     allow { 127.0.0.1; } keys { "rndc-key"; };
  };

用kissall –HUP named把named进程杀掉,在启动一下,rndc就可以用了,如果还出错,就检查一下权限,如果权限没有问题,就重启系统吧,我的就是检查了大半天看不见错的,可是rndc就是起不起来,我重启一下系统就可以,具体原因未知。

8.提供脚本

#vim /etc/init.d/named

添加以下脚本

#!/bin/bash
#
# description: named daemon
# chkconfig: - 25 80
#
                                 pidFile=/usr/local/bind9/var/run/named.pid
lockFile=/var/lock/subsys/named
confFile=/etc/named/named.conf
[ -r /etc/rc.d/init.d/functions ] && . /etc/rc.d/init.d/functions
 
start() {
    if [ -e $lockFile ]; then
        echo "named is already running..."
        exit 0
    fi
 
    echo -n "Starting named:"
    daemon --pidfile "$pidFile" /usr/local/bind9/sbin/named -u named -c "$confFile"
    RETVAL=$?
    echo
 
    if [ $RETVAL -eq 0 ]; then
        touch $lockFile
        return $RETVAL
    else
        rm -f $lockFile $pidFile
        return 1
    fi
}
 
stop() {
    if [ ! -e $lockFile ]; then
        echo "named is stopped."
        #exit 0
    fi
 
    echo -n "Stopping named:"
    killproc named
    RETVAL=$?
    echo
 
    if [ $RETVAL -eq 0 ];then
        rm -f $lockFile $pidFile
        return 0
    else
        echo "Cannot stop named."
        failure
        return 1
    fi
}
 
restart() {
    stop
    sleep 2
    start
}
 
reload() {
    echo -n "Reloading named: "
    killproc named -HUP
    #killall -HUP named
    RETVAL=$?
    echo 
    return $RETVAL
}
 
status() {
    if pidof named &> /dev/null; then
        echo -n "named is running..."
        success
        echo
    else
        echo -n "named is stopped..."
        success
        echo
    fi
}
 
usage() {
    echo "Usage: named {start|stop|restart|status|reload}"
}
 
case $1 in
start)
    start ;;
stop)
    stop ;;
restart) 
    restart ;;
status)
    status ;;
reload)
    reload ;;
*)
    usage 
    exit 4 
    ;;       
    esac

到此,就可以启动服务了,编译完成。

DNS(四)--DNS编译安装,布布扣,bubuko.com

时间: 2024-10-12 20:53:12

DNS(四)--DNS编译安装的相关文章

四、编译安装php-5.5.34

四.编译安装php-5.5.34 http://cn2.php.net/distributions/php-5.5.34.tar.gz 1.解决依赖关系 先配置阿里云yum源: 1.备份 # mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup   2.下载新的CentOS-Base.repo 到/etc/yum.repos.d/ CentOS 6: # wget-O /etc/yum.repos

DNS之一:编译安装

1.添加named用户和用户组 groupadd -r named useradd -r -M -s /bin/nologin  -g named  named  2.编译安装(提前安装gcc) tar xf bind-9.9.2.tar.gz  cd bind-9.9.2   ./configure --prefix=/usr/local/bind98 --enable-threads --enable-epoll --disable-chroot 3.建立配置文件/usr/local/bin

Linux DNS源代码编译安装(五)

DNS源代码的编译安装. 官方bind下载地址:www.isc.org这里我们编译的是bind-9.9.5.tar.gz版本 1.编译环境  Desktop Platform Development  Development tools  Server Platform Development 2.展开安装包查看编译命令 首先我们应该先看下服务器时间,[[email protected] ~]# tar xf bind-9.9.5.tar.gz -----展开安装包[[email protect

DNS服务编译安装,及配置

DNS服务是域名转换服务. 原理及功能可以参考http://kmk0226.blog.51cto.com/5975994/1678180 今天的博客是介绍DNS服务的编译安装,以及安装之后如何配置DNS服务,让服务能正常运行. 在Linux系统中,DNS服务在Bind这个程序中配置的. 首先,要编译安装DNS服务,需要先去下载源码包. 源码包可以在bind官方网站下载 bind官方站点:www.isc.org 有9.9.X与9.10.X的版本,我们这里以9.9.X的版本来编译安装. X代表子版本

+++++++子域授权与编译安装(二)

子域授权.转发区域<子域解析父域>.DNS安全配置<acl定义,内置变量,acl安全指令>.dns使用view实现智能dns.CDN,全局负载均衡.编译安装bind.dns压力测试 一.恢复快照 二.缓存服务器 三.(正.反)区域解析库配置 四.主从同步 五.子域授权 六.转发区域 七.安全配置 八.view实现智能DNS 九.编译安装BIND 十.压力测试 拓扑模型 一.配置ntp服务器<192.168.58.131> 1.安装ntp # yum -y -q inst

CentOS 6上编译安装AMP详解

在CentOS 6上编译安装AMP     A:Apache(httpd)     M:MySQL or MariaDB     P:php 目录: 一.准备工作 二.编译安装Apache(httpd) 三.编译安装MariaDB 四.编译安装PHP 编译安装AMP的优点: 根据生产环境灵活定制程序 优化编译参数,提高性能 解决不必要的软件依赖 一.准备工作 1.需要的软件包及版本号: httpd-2.4.27(apr-1.5.2+ apr-util-1.5.4) + MariaDB-5.5.5

详解LAMP源码编译安装

实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MySQL 四.编译安装 PHP 测试LAMP搭建开源数据web管理程序phpMyadmin 详解LAMP源码编译安装 LAMP简介 LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们自己定制安装AMP,编译安装L

Linux软件包管理04-压缩归档及源码编译安装

一.压缩.解压缩命令 1.压缩格式:gz, bz2, xz, zip, Z 2.压缩算法:算法不同,压缩比也会不同: 3.原始的压缩命令:compress: FILENAME.Z 解压缩:uncompress 4.压缩成.gz格式的文件(仅压缩文件) a)gzip /PATH/TO/SOMEFILE:压缩完成后会删除原文件,如:gzip /tmp/file* -d:解压缩,相当于gunzip命令: -#:指定压缩比,范围是1-9,默认是6: b)gunzip: 解压缩: gunzip /PATH

三、编译安装mysql-5.5.33

三.编译安装mysql-5.5.33 1.准备数据存放的文件系统: 新建一个逻辑卷(过程见链接),并将其挂载至/mydata/data目录, 做为mysql数据的存放目录. http://858004880.blog.51cto.com/7265424/1759317 2.新建用户以安全方式运行进程: 1.删除系统原来的mysql用户家目录 [[email protected] ~]# userdel -r mysql 2.创建mysql系统用户组 [[email protected] ~]#