DNS部署(3)---------源码b

发布时间:2019-09-19 08:02:03编辑:auto阅读(1630)

    其实一般使用redhat或centos中自带的rpm安装bind是十分简单的,但是源码安装可以让你对bind文件的整体结构有了更好的认识

    先下载一个源码包:https://www.isc.org/downloads/bind/

    wKiom1MufEaCEiT2AAGHrV32e3s391.jpg

    直接下载即可。

    wKiom1MufRjxNrCeAABizkg2t0A988.jpgwKiom1MufYDTOVYqAAJrL_9CFJU821.jpg

    进入目录后就可以编译了,对于编译的模块就不细说了直接查询即可。

    wKioL1MufcfwcnFGAABVO6HVA6c888.jpg

    但是有几个模块是必须要装的gccopensslperl的相关组件,如果不想安装必须用--without把模块排除在外,下面开始编译:

    wKioL1Muf63DspLyAAE_L4dBKoM503.jpg

    wKiom1MugNaQ7eTuAAQFboBT9ZI031.jpg

    直接安装即可

    wKioL1MugOHgHkfPAABoY5NsvDQ547.jpg

    安装好后,就得到了这俩个文件夹

    wKioL1MugjajS2MxAAHfs68k0pY324.jpg


    下面就开始写named的各种配置文件,相对于rpm包,源码包装出来什么都没有。。。

    首先要创建一个named系统用户

    wKiom1MuhgvB77T-AABZTF1fmOo432.jpg

    完成脚本的链接:

    wKiom1Mui0ugExfAAADmAG5Gik0113.jpg

    写入后要记得用 ---------------source加载

    1、在/etc/named/中创建named.conf文件

    wKiom1Mug_zivMuVAAMRiDCRP4Y005.jpg

    wKioL1MuhAzRsM6-AABTNjGgCUI517.jpg

    wKiom1MuhWyTP95zAAA6hOIFw3M608.jpg

    wKioL1MuhUThQYWJAAM4L0ulrp0875.jpg

     

    在配置文件的目录中就会有这么几个文件,修改它们权限为named!!!!

    wKiom1Muhp6h31yLAAFfYa1Ya5s395.jpg

    配置文件大致上就设置好了,下面就要根据named.conf中指定写zone文件了


    wKioL1MuiI3Bz8dHAABQul3ug6E981.jpg

    wKiom1MuiLSh-WGZAAFxdXqkrio812.jpg

     

    一个个开始编写吧

    wKioL1MuiWrjrwMaAAQGwTmAk8w149.jpg

     

    在编写localhost.zone和named.local文件

    wKioL1MuigDgfYseAAG8EzjjaQA436.jpg


    开始服务即可

    wKiom1Mui-zSDSWdAATS0z5MSgg221.jpg

    wKioL1MujCmDw3TFAAIXBO4yl-s353.jpg


    这样就算是安装完成了,当然还可以写一个启动脚本放到/etc/init.d/下面,就完美了

     

    #/bin/bash
    #chkconfig 2345 70 50
    #description named
    #author joe
    [ -r /etc/init.d/functions ] && . /etc/init.d/functions
    //判断functions库函数是否可读
    Pidfile="/usr/local/bind9/var/run/named.pid"//默认pid路路径
    Lockfile="/var/lock/subsys/named"//脚本锁文件
    named="named"//服务
    start() {
    [ -x "/usr/local/bind9/sbin/$named" ] || exit 4
    if [ -f $Lockfile ];then
    echo  "the $named is already running"
    exit 5
    fi
    echo -n "starting $named "
    daemon --pidfile "$Pidfile"  /usr/local/bind9/sbin/$named -u named -4
    RETAVL=$?
    echo
    if [ $RETAVL -eq 0 ];then
    touch $Lockfile
    return 0
    else
    rm -f $Lockfile $Pidfile
    return 1
    fi
    }
    stop(){
    if [ ! -f $Lockfile ];then
    echo "the $named is stopped.... "
    exit 5
    fi
    echo -n "stopping the $named.."
    killproc $named
    RETAVL=$?
    echo
    if [ $RETAVL -eq 0 ];then
    rm -f $Lockfile
    fi
    }
    reload(){
    if [ ! -f $Lockfile ];then
    echo "the $named is stopped "
    exit 5
    fi
    echo -n "reload the config file"
    killproc $named -HUP
    RETAVL=$?
    echo
    }
    status(){
    if pidof $named &>/dev/null && [ -f $Pidfile ];then
    echo "the $named is starting"
    else
    echo "the $named is stopped"
    fi
    }
    case $1 in
    start)
    start
    ;;
    stop)
    stop
    ;;
    reload)
    reload
    ;;
    restart)
    stop
    sleep 1
    start
    ;;
    status)
    status
    ;;
    *)
    echo "Usage:||"
    ;;
    esac

     

关键字