Chinaunix首页 | 论坛 | 博客
  • 博客访问: 632774
  • 博文数量: 151
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 1664
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-13 16:37
文章分类

全部博文(151)

文章存档

2010年(16)

2009年(135)

我的朋友

分类: LINUX

2009-11-25 11:10:21

Bind安装笔记


cloud/2003.10.10
mail:flashc@21cn.com
欢迎转贴,转贴请注明本帖在CU的详细位置,方便其他人学习,谢谢
学了很长时间的linux了 今天开始整理自己配置server的笔记机今天是第一篇,关于DNS的

# mkdir /setup
# tar zxvf bind-9.2.2.tar.gz -C /setup #-C 指定解压输出的目录
# cd /setup/bind-9.2.2
# ./configure --prefix=/web/named --enable-threads #--enable-threads开启多线程处理能力
# make
# make install
# cd /web/named
# mkdir etc
# sbin/rndc-confgen > etc/rndc.conf #生成rndc控制命令的key文件
# cd etc
# tail -10 rndc.conf | head -9 | sed s/#\ //g > named.conf #从rndc.conf文件中提取named.conf用的key
# vi named.conf
options {
directory "/web/named/etc"; #named区文件目录
pid-file "named.pid"; #进程id文件名
};

zone "." {
type hint;
file "named.root"; #根区域文件
};

zone "localhost" {
type master;
file "named.local"; #本机的正向解析文件
allow-transfer {none;}; #禁止传送区文件
allow-update {none;}; #禁止自动更新
notify no; #禁止自动通告
};

zone "0.0.127.in-addr.arpa" {
type master;
file "named.rev"; #本机的反向解析文件
allow-transfer {none;};
allow-update {none;};
notify no;
};

zone "cloud.com" {
type master;
file "zone.cloud.com"; #cloud.com的正向解析文件
allow-transfer {none;};
allow-update {none;};
notify no;
};

zone "1.168.192.in-addr.arpa" {
type master;
notify no;
file "arpa.192.168.1"; #192.168.1.1区域的反向解析
allow-transfer {none;};
allow-update {none;};
notify no;
};

# vi named.local

# TTL是缓存服务器存放区域信息的超时时间
# SOA 起始记录
# IN 记录是INTERNET上的记录
# A 指定一个主机名到IP地址的影射
# PTR 和A记录相反
# MX 邮件主机信息 前面的数字代表优先级
# NS 区域的域名解析服务器
# 注意localhost.这类地址后面的点代表是绝对地址,如果不带.那么named会在这个记录后面添加你的域名上去
# serial number 区的序列号,更新了区的文件内容后请加大这个数
# refresh time 二级域名服务器的刷新时间
# retry time 二级域名服务器无法连接主域名服务器,过多长时间重新连接获取区域信息
# expire time 二级域名服务器在无法获取区域信息的情况下,过多长时间停止连接主域服务器获取区域信息
# minimum time 二级域名服务器的区域信息最小存活时间,这个值应该和$TTL是一个意思

$TTL 86400
$ORIGIN localhost.
@ IN SOA @ root (
20031001; serial number
28800; refresh time
14400; retry time
3600000; expire time
86400); minimum time

IN NS @
IN A 127.0.0.1

# vi named.rev

$TTL 86400
@ IN SOA localhost. root.localhost. (
20031001;
28800;
14400;
3600000;
86400);

IN NS localhost.
1 IN PTR localhost.

# vi zone.cloud.com

$TTL 86400
@ IN SOA ns.cloud.com. root.cloud.com. (
20031001;
28800;
14400;
3600000;
86400);

IN NS ns.cloud.com.
IN MX 10 ns.cloud.com.

IN A 192.168.1.114
ns IN A 192.168.1.114
www IN CNAME ns
ftp IN CNAME ns
mail IN CNAME ns
* IN CNAME ns

# vi arpa.192.168.1

$TTL 86400
@ IN SOA ns.cloud.com. root.cloud.com. (
20031001;
28800;
14400;
3600000;
86400);

IN NS ns.cloud.com.
IN MX 10 ns.cloud.com.

114 IN PTR ns.cloud.com.

# dig > named.root #dig命令直接生成named.root文件
# groupadd named
# useradd named -g named -M -s /bin/false #-g指定到named组 -M 不在/home下新建用户目录 -s /bin/false指定登陆shell
# cd /web
# chmod 750 named
# chown named named -R
# named/sbin/named -u named -gc named/etc/named.conf #-g是调试输出,一般情况不使用 -u指定一个用户运行进程named
# vi /etc/init.d/named #生成chkconfig用的启动文件

#!/bin/bash
#chkconfig:345 60 60 #注意,这里的两行是chkconfig命令能自动生成启动停止命令的关键
#description:DNS daemon
case $1 in
start)
/web/named/sbin/named -u named -c /web/named/etc/named.conf &
;;
stop)
/web/named/sbin/rndc stop
;;
status)
/web/named/sbin/rndc status
;;
restart)
$0 stop
$0 start
;;
reload)
/web/named/sbin/rndc reload
;;
*)
echo "Usage:$0 [start|stop|status|restart|reload]"
esac

# chmod 700 /etc/init.d/* #修改权限
# sh -n /etc/init.d/named #检查shell文件是否有语法错误
# chkconfig --add named #添加进chkconfig --list的列表中,以后就可以在ntsysv命令和chkconfig --list的输出中看到named了
# chkconfig --level 345 named on
# cd /web/named/sbin
# cp named named.old #备份一个named执行文件
# strip named #stripnamed文件,去掉多余的符号和调试信息,对于库文件就最好不要用此命令了

阅读(506) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~