bind9安装

安装bind9.5(编译安装)

bind-9.5.0-P2.tar.gz

1 解压

tar zxvf bind-9.5.0-P2.tar.gz -C /usr/local/src

2 进入目录

cd /usr/local/src/bind-9.5.0-P2

3 配置

# ./configure --prefix=/usr/local/named --enable-threads --disable-openssl-version-check

--enable-threads 开启多线程支持

--disable-openssl-version-check 关闭openssl,要不就把opensll装上

5 编译和安装
# make ; make install

6 看一看版本现版本是多少
# /usr/local/named/sbin/named -v
7 生成rndc控制命令的key文件。
bind9 规定,如果要使用rndc 来控制dns 。必须先生成验证文件.rndc.conf 和密锁.
# /usr/local/named/sbin/rndc-confgen > /usr/local/named/etc/rndc.conf(生成这个文件按 你--prefix 而定)
8 建立区域文件目录 /usr/local/named/var/named
#mkdir named
9 从rndc.conf文件中提取named.conf用的key (根据自己需求改变路径)
#tail -10 rndc.conf | head -9 | sed s/#\ //g >named.conf
这个命令就是把rndc.conf里的一段复制到named.conf里
# Use with the following in named.conf, adjusting the allow list as needed:
key "rndc-key" {
algorithm hmac-md5;
secret "5hhmFj6S3Pn6EoDnOvlblg==";
};

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
# End of named.conf
10 编辑配置文件named.conf、区域文件

# vim named.conf

options {
Directory "/usr/local/named";
Pid-file "named.pid";
listen-on port 53 {any;};
Allow-query {any;};
Dump-file "/usr/local/named/data/cache_dump.db";
Statistics-file "/usr/local/named/data/named_stats.txt";
};
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";
};


zone "test.com" in {
Type slave;
masters { 192.168.1.254; };
File "slaves/test.com.zone";
};


zone "1.168.192.in-addr.arpa" in {
Type slave;
masters { 192.168.1.254; };
File "slaves/192.168.1.zone";
};

key "rndc-key" {

algorithm hmac-md5;
secret "OXV+irEfzfPRzteVYTqqCA==";
};

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};

顺便贴下我的从DNS的/usr/local/named/etc/named.conf文件

options {
Directory "/usr/local/named";
Pid-file "named.pid";
listen-on port 53 {any;};
Allow-query {any;};
Dump-file "/usr/local/named/data/cache_dump.db";
Statistics-file "/usr/local/named/data/named_stats.txt";
};
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"; 
};


zone "test.com" in {
Type slave;
masters { 192.168.1.254; };
File "slaves/test.com.zone"; 
};


zone "1.168.192.in-addr.arpa" in {
Type slave;
masters { 192.168.1.254; };
File "slaves/192.168.1.zone";
};

key "rndc-key" {
algorithm hmac-md5;
secret "OXV+irEfzfPRzteVYTqqCA==";
};

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};

# vi localhost.zone
写入以下内容:
$TTL 3600
$ORIGIN 127.0.0.1.
@ IN SOA localhost. root.localhost. (
42 ;
3H ;
15M ;
1W ;
3600);
IN NS 127.0.0.1
IN A 127.0.0.1
创建并编辑 localhost.rev 文件
# vi localhost.rev
写入以下内容:
$TTL 3600
@ IN SOA localhost. root.localhost. (
1; serial
3600; refresh every hour
900; retry every 15 minutes
3600000; expire 1000 hours
3600); minimun 1 hour
IN NS localhost.
1 IN PTR localhost.
下载一个named.root cd /usr/local/named, 这个是named的工作目录
wget ftp:到/usr/local/named/下,

特别注意:bind的配置文档是区分大小写的。
下面就可以启动bind来测试安装是否成功了

11 启动服务

# /usr/local/named/sbin/named –gc /usr/local/named/etc/named.conf &
加 –gc 参数,可以显示出启动日志,以便出错排查。
如果运行结果最后一行显示
Running
表明安装并启动成功。

测试rndc命令 /usr/local/named/sbin/rndc status,正确的话应该有状态提示,我一般是直接编辑vim /root/.bashrc加进一个alias rndc9='/usr/local/named/sbin/rndc'

把named 添加到启动项,随操作系统一起启动。
# cd /etc/rc.d
# vi rc.local
在最后添加以下内容
/usr/local/named/sbin/named –gc /usr/local/named/etc/named.conf &
退出保存。
可以尝试重启服务器,然后telnet 服务器IP地址的53端口,验证bind是否启动。
# shutdown –r now
# telnet x.x.x.x 53
全部安装结束,就可以开展应用的配置和测试了

vim /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 53 -j ACCEPT
/etc/init.d/iptables restart

=================================================
807 tar zxvf bind-9.5.0.tar.gz 
808 cd bind-9.5.0
839 ./configure --prefix=/usr/local/bind9.5 --enable-threads --sysconfdir=/etc --sysconfdir=/var --with-libxml2=/usr/include/libxml2 --disable-openssl-version-check
840 make clean
842 make diskclean
843 ./configure --prefix=/usr/local/bind9.5 --enable-threads --sysconfdir=/etc --sysconfdir=/var --with-libxml2=/usr/include/libxml2 --disable-openssl-version-check
844 make
845 make install
847 /usr/local/bind9.5/sbin/named -v
854 cd /usr/local/bind9.5
858 mkdir etc
870 cd etc
872 vim rndc.conf
874 vim /etc/rndc.conf
876 mkdir -p /var/named
878 tail -10 rndc.conf | head -9 | sed s/#\ //g >named.conf
879 tail -10 rndc.conf | head -9 | sed s/#\ //g >/etc/named.conf
880 vim /etc/rndc.conf
881 vim named.conf
882 tail -10 rndc.conf | head -9 | sed s/#\ //g > /etc/named.conf
883 vim /etc/rndc.conf
884 cd /etc
885 tail -10 rndc.conf | head -9 | sed s/#\ //g > /etc/named.conf
886 tail -10 rndc.conf | head -9 | sed s/#\ //g > named.conf
906 /usr/local/bind9.5/sbin/named -gc /etc/named.conf &
907 /usr/local/bind9.5/sbin/rndc status
910 rndc reload
912 /usr/local/bind9.5/sbin/rndc reload
917 ln -s /etc/rndc.conf /var/rndc.conf




四、 开始安装 

程序放在/data/bind/ 
1. 安装GCC3.3 
[root@lbxx:/data/bind]#gunzip -d gcc-3.3-sol8-sparc-local.gz 

[root@lbxx:/data/bind]#pkgadd -d gcc-3.3-sol8-sparc-local 

屏幕显示: 
  The following packages are available: 
1 SMCgcc gcc 
(sparc) 3.3 

Select package(s) you wish to process (or 'all' to process 
all packages). (default: all) [?,??,q]: 

直接回车选择all继续 

Enter path to package base directory [?,q] 

输入安装路径,继续安装 
注:这里输入安装路径是因为修改了/var/sadm/install/admin/default文件,修改了basedir的值为ask。 
输入;/data/gcc 回车继续 
屏幕显示: Do you want this directory created now [y,n,?,q] 
输入 y 继续 
系统开始安装GCC,根据机器配置,大概有几分钟等待时间 

屏幕显示: 
Installation of <SMCgcc> was successful. 
表示安装成功。 


下面开始安装BIND 
2. BIND安装 
BIND安装大概需要三个步骤: 
①. configuer 参数收集,预编译。 
②. make 编译软件 
③. make install 安装编译好的软件 
安装步骤: 

[root@lbxx:/data/bind]#gunzip -d bind-9.2.2.tar.gz 
对bind-9.2.2.tar.gz进行解压 

[root@lbxx:/data/bind]#tar xvf bind-9.2.2.tar 
用tar 命令将bind-9.2.2.tar展开 

[root@lbxx:/data/bind]#cd bind-9.2.2 

用们需要用configuer对BIND进行预编译,在编以前,要注意一些问题,系统中是否装有openssl,如果系统没有安装openssl,将不能编译成功,可以考虑安装openssl解决,或者在configuer 后面输入--with-openssl=no解决; 
可以考虑将BIND安装到自己指定的路径,好处之一是出现问题容易查错,默认安装时安装在/usr/local,/usr/local一般会安装许多软件,在出现问题的时候有可能会分不清楚哪一个是BIND的文件,哪一个又不是!好处之二是安装到自己指定的路径,黑客进行目录扫描的时候,可能会失去找到关键文件的机会! 
我们在这里配置这样configuer 
[root@lbxx:/data/bind/bind-9.2.2]#./configure --prefix=/data/bind9.2.2/ --with-openssl=no 
预编译需要十分钟左右时间 
预编译完成以后可以用make命令对其进行编译 

注:make时对cpu占用非常高,我的机子一直保持在50%,且编译时间非常长。所以,如果是对外服务的机器,使用make编译程序的时候,要慎重! 
[root@lbxx:/data/bind/bind-9.2.2]#make 

making all in /data/bind/bind-9.2.2/make 
making all in /data/bind/bind-9.2.2/lib 
making all in /data/bind/bind-9.2.2/lib/isc 
making all in /data/bind/bind-9.2.2/lib/isc/include 
making all in /data/bind/bind-9.2.2/lib/isc/include/isc 
…… 
…… 
…… 
check-tool.o ../../lib/dns/libdns.a ../../lib/isc/libisc.a -lnsl -lsocket -lpthread -lthread 
making all in /data/bind/bind-9.2.2/doc 
making all in /data/bind/bind-9.2.2/doc/arm 
making all in /data/bind/bind-9.2.2/doc/misc 


完成编译 

[root@lbxx:/data/bind/bind-9.2.2]#make install 

make install 进行安装,需要十分钟左右时间等待! 

至此,BIND安装完毕。 
但是因为我们的GCC和BIND都是指定路径安装的,所以,需要执行命令的时候,系统会在全局变量里面找不到BIND和GCC的路径,而报告command not found。我们需要将路径加入系统变量。有两种方法! 
1.可以更改/.profile文件,在PATH=那一行加入:/data/gcc/bin:/data/bind9.2.2/bin: /data/bind9.2.2/sbin 即可,重新登陆即可生效。 
2.可以键入: 
PATH=$PATH: /data/gcc/bin:/data/bind9.2.2/bin: /data/bind9.2.2/sbin 
export PATH 
即可以立即生效,但是重新启动以后就恢复原,所以建议使用第一种方法!如果采用默认安装,就会安装在/usr/local,不需要改动路径。 

至此,完成安装 

  



在 bind 9 中,可以使用 rndc -dumpdb 命令来查看 DNS Cache,要点如下
1 首先要配置好rndc.conf named.conf,保证named服务能成功开启,用netstat -an 能看到53和953端口开启了
2 其次知道要rndc所在目录,若不用直接路径有可能提示无此命令,我安装在/usr/local/named/etc/sbin/rndc,用ln -s /usr/local/named/etc/sbin/rndc /usr/local/sbin 软链接后就可以在任意目录下运行rndc -dumpdb命令,同时需要注意防火墙的设置,不打开953端口,该命令也无法运行。
3 需要设置cache文档输入目录,在named.conf里面设置Dump-file "/usr/local/named/data/cache_dump.db"即为dns cache输入文档。注意了这些设置,运行rndc -dumpdb命令后就会在/usr/local/named/data/目录下导出DNS cache内容,用more cache_dump.db进行查看。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值