DNS部署(3)———源码b
- 2020 年 1 月 6 日
- 筆記
其实一般使用redhat或centos中自带的rpm安装bind是十分简单的,但是源码安装可以让你对bind文件的整体结构有了更好的认识
先下载一个源码包:https://www.isc.org/downloads/bind/

直接下载即可。


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

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


直接安装即可

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

下面就开始写named的各种配置文件,相对于rpm包,源码包装出来什么都没有。。。
首先要创建一个named系统用户

完成脚本的链接:

写入后要记得用 —————source加载
1、在/etc/named/中创建named.conf文件




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

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


一个个开始编写吧

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

开始服务即可


这样就算是安装完成了,当然还可以写一个启动脚本放到/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