1、安装
首先开始第一步,先下载bind,到bind官网上看了一下已经更新到9.11了,建议安装bind9.10,然后就下载了bind9.10,下载地址为:bind下载地址。
然后找到一篇网上的博客来进行参考,经过以前多次的bind源码安装实践证明,网上的各种教程在我这边还是会出很多问题的,所以自己记录一下在ubuntu14.0的环境下用源码的方式安装bind的历程,遇到的问题以及改进方法,为了以后再次安装的时候能够提高效率,不至于每次都出一堆问题。参考的博客地址为:bind安装简易教程
一下一些代码可能不能直接复制缺少空格或者字符的格式不太正确,建议自己手输,也可以增强一下熟练性。
1.1安装openssl、、这个是DNSSEC会用到
下载解压:tar-zxvf openssl-1.0.2l.tar.gz
cdopenssl-1.0.2l
sudo ./config --prefix=/usr/local
sudo make depend
sudo make
sudo make install
1.2安装bind
解压:tar -zxvf bind
进入bind目录
sudo ./configure --prefix=/usr/local/bind --sysconfdir=/etc/bind
/usr/local/bind是安装路径 、etc/bind是配置文件的路径也就是name。conf的位置。
sudo make
sudo make install
2、开始配置
(1)/usr/local/bind/sbin/rndc-confgen > /etc/bind/rndc.conf
这个地方可能有问题,如果完成不了的话可以直接找一个rndc。conf的文件复制过来就可以用。
cd /etc/bind
(2)tail -10 rndc.conf | head -9 | sed s/#\ //g > named.conf
vimnamed.conf
加入:
options {
# listen-on port 53 { 222.194.; };
Directory "/etc/bind";
Pid-file "named.pid";#这个pid是在stop的时候会用到
Allow-query {any;};#可以使用允许递归的命令来允许服务器进行递归查询
#Dump-file"/usr/local/named/data/cache_dump.db";
# Statistics-file"/usr/local/named/data/named_stats.txt";
#forward only;
forwarders {8.8.8.8;114.114.114.114;}; //设置转发的公网DNS服务器地址
#forwarders {202.103.24.68;202.103.44.150;};
#forwarders {172.18.0.6;};
//设置内网DNS服务器转发
#atcp-clients 10000;
#listen-on { any;};
};
zone"." in {
Type hint;
File "named.root";
};
zone"localhost" in {
Type master;
File "localhost.zone";
};
zone"0.0.127.in-addr.arpa" in {
Type master;
File "localhost.rev";
};
在当前目录下增加几个文件:
(3)vimlocalhost.zone
$TTL 86400
@ IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS @
IN A 127.0.0.1
IN AAAA ::1
(4)vimlocalhost.rev
$TTL 86400
@ IN SOA localhost.root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
(5).下载named.root这个文件
wget ftp://ftp.rs.internic.net/domain/named.root
到此配置完成
3、进行测试
/usr/local/bind/sbin/named -gc /etc/bind/named.conf
启动Bind:
/usr/local/bind/sbin/named-c /etc/bind/named.con
此处启动了调试,有问题会打印出出错信息。当调试正常后启动需要去掉g这个参数。
4、配置named以服务启动
vim/etc/init.d/named
在末尾增加以下内容
#!/bin/bash
#
#named a network name service.
#
#
#chkconfig: 545 35 75
#description: a name server
#
if [ `id-u` -ne 0 ]
then
echo"ERROR:For bind to port 53,must run as root."
exit 1
fi
case"$1" in
start)
if [ -x/usr/local/bind/sbin/named ]; then
#这里是执行文件的位置
/usr/local/bind/sbin/named-u root -c /etc/bind/named.conf && echo 'start named [ok]'
#这里是启动命令,前便是执行文件的位置,后边是配置文件的位置
fi
;;
stop)
kill `cat/usr/local/bind/named.pid` && echo 'stop named [ok]'
#通过kill掉进行来来停止服务器pid的位置是前边在options中设置的位置
;;
restart)
echo"restart named"
$0 stop
$0 start
;;
*)
echo"$0 start | stop | restart"
;;
esac
5.后续工作:
(1)编辑/etc/resolv.conf这个文件(设置该服务器的DNS地址为本机IP):
vim/etc/resolv.conf
nameserver 172.15.0.140
(2).重启named服务:servicenamed restart
***会发现该服务无法启动,原因是因为没有执行权限。
解决方法是:给予named这个文件执行的权限:
cd/etc/init.d/
chmod 755 named 配置好权限之后再重启named服务就OK了......
(3)后期的使用过程中要养成利用查看日志的方法来排除问题的习惯,这样便于你快速方便的找到问题所在:
tail -f /var/log/message
遇到问题可以留言