分类: LINUX
2010-01-13 22:03:29
2010-1-13 刘宇
bind-
1.下载、解压、安装
[root@localhost ~]# tar zxvf bind-9.2.3.tar.gz
[root@localhost ~]# cd bind-9.2.3
[root@localhost bind-9.2.3]# ./configure --prefix=/usr/local/bind --enable-threads
#--enable-threads 开启多线程处理能力
[root@localhost bind-9.2.3]# make
[root@localhost bind-9.2.3]# make install
2.配置
[root@localhost bind-9.2.3]# cd /usr/local/bind/
[root@localhost bind]# mkdir etc
[root@localhost bind]# sbin/rndc-confgen > etc/rndc.conf
#创建rndc.conf配置文件
[root@localhost etc]# tail -10 rndc.conf | head -9 | sed s/#\ //g >named.conf
#提取named.conf用的key 并且创建named.conf主配置文件
配置named.conf 文件
//设计主题主机规划!重点在directory !
options {
directory "/var/named";
// 正反解的文件的目录
pid-file "named.pid";
//进程文件目录一般放在/var/run/named.pid
Forwarders {
218.56.57.58;
202.102.152.3;
};
//做cache-only服务的转发服务器地址,(需要不需要看需求)
};
//首先定义 .(root) hint type 的文件属性
zone "." IN {
type hint;
file "named.ca";
};
//定义localhost 的正解 master type 的文件属性 ,就是127.0.0.1
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
//定义localhost的反解 master type 的文件属性
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
//自定义的 test.com 的正解 master type 的文件属性
zone "test.com" IN {
type master;
file "test.zone";
allow-update { none; };
};
// 自定义的 test.com的反解 master type 的文件属性
zone "0.168.192.in-addr.arpa" IN {
type master;
file "test.local";
allow-update { none; };
};
//rndc生成的安全密钥,(可以直接写在配置named.conf配置文件,或include "/usr/local/bind/etc/rndc.key")
key "rndc-key" {
algorithm hmac-md5;
secret "7NS5mnaHj0Q9h6mHokVqhw==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
配置/var/named 下的正反解文件
[root@localhost etc]# cd /var/named
#Dig 命令直接生成named.ca文件
[root@localhost named]#/usr/local/bind/bin/dig >/var/named/named.ca
#建立localhost正解文件
[root@localhost named]# vi localhost.zone
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS @
1D IN A 127.0.0.1
#创建localhost的反解文件
[root@localhost named]# vi named.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
#创建 test.com的正解文件
[root@localhost named]# vi test.zone
$TTL 86400 ; 1 day
test.com IN SOA test.com. root.test.com. (
1053891163 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS test.com.
MX 5 test.com.
www A 192.168.0.44
#创建 test.com 的反解文件
[root@localhost named]# vi test.local
$TTL 86400
@ IN SOA test.com. root.test.com.(
20031001;
7200;
3600;
43200;
86400);
IN NS test.com.
44 IN PTR dns.test.com.
3.启动服务
[root@localhost named]# /usr/local/bind/sbin/named -c /usr/local/bind/etc/named.conf
#检测服务是否启动
[root@localhost named]# ps -ef | grep named #查看进程
[root@localhost named]# netstat –ntul #查看监听端口
#最重要的事查看日志
[root@localhost named]# cat /var/log/messages | grep named
#查看日志,根据日志提示去除错误
#客户端测试可以使用 host nslookup dig whois 等命令
4.配置服务器端 ddns
#生成认证用的的key
[root@localhost etc]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST www
K
# -a [密码的演算方法]:这个参数后面可以接几种不同的密码算法方式
# -b [加密字节]:加密长度自己控制
# -n [拥有类型]: HOST 的权限
# name :生成密钥的名称
[root@localhost etc]# more K.key
www. IN KEY 512 3 157 2HiaKsmu+DkXe5IF5UaSKw==
#修改named.conf文件,添加key
[root@localhost etc]# vi named.conf
//添加 key “www”
key "www" {
algorithm hmac-md5;
secret "2HiaKsmu+DkXe5IF5UaSKw==";
};
//修改要ddns 的 zone
zone "test.com" IN {
type master;
file "test.zone";
allow-update { key www; };
};
5.配置客户端 ddns
#把服务器生成的两个key文件,cp到客户端 的目录下
[root@localhost etc]# mkdir -p /usr/local/ddns
[root@localhost etc]# cd /usr/local/ddns/
[root@localhost ddns]# vi /etc/resolv.conf
nameserver 123.232.114.96
[root@localhost ddns]# nsupdate –k K.key
> server 123.232.114.96
> update delete
> update add 0 A 192.168.0.55
> send 最后按[ctrl+d] 即可
#注意在这时经常会出现时间不同步的错误提示,只要同步服务器与客户端的系统时间即可
#如果正常会在服务器的生成.jnl 的文件用来更新数据
[root@localhost named]# ls -l /var/named/test.zone.jnl
-rw-r--r-- 1 root root 726 1月 13 19:57 /var/named/test.zone.jnl
#重要检查日志
#客户端跟新ip 可以写一个简单的shell 更新ddns
完成!!!