码迷,mamicode.com
首页 > 其他好文 > 详细

DNS(四)--DNS编译安装

时间:2014-08-15 02:46:48      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:local   软件   编译   dns   bind   named   

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目录中:

    [root@localhost 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就可以看见环境变量已经添加进来了。

    bubuko.com,布布扣

 

    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在里面添加一行绝对路径就可以了。

    bubuko.com,布布扣

 

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

    bubuko.com,布布扣

 #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

    bubuko.com,布布扣

    127.0.0.in-addr.arpa

    bubuko.com,布布扣

 #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就是起不起来,我重启一下系统就可以,具体原因未知。

    bubuko.com,布布扣

 

    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

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

    bubuko.com,布布扣

 

本文出自 “鱼儿” 博客,请务必保留此出处http://kyfish.blog.51cto.com/1570421/1540201

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

DNS(四)--DNS编译安装

标签:local   软件   编译   dns   bind   named   

原文地址:http://kyfish.blog.51cto.com/1570421/1540201

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!