一步一步架设dns服务器
时间:2006-11-23 来源:wdrain
Dns服务器的配置
1、 从www.isc.org下载最新的bind程序。
2、 编译安装
#tar zvxf bind-9.3.2.tar.gz
#cd bind-9.3.2
#./configure –sysconfdir=/etc
#make
#make install
3、 #vi /etc/named.conf ;手工建立named.conf文件
Options {
Directory “ /var/named”;
};
Zone “.” {
Type hint;
File “named.ca”
};
#mkdir /var/named
建立named.ca文件:
# echo “ nameserver 192.50.128.30” > /etc/resolv.conf
#dig –t NS . > /var/named/named.ca
以下为named.ca 文件内容:
; <<>> DiG 9.3.2 <<>> -t NS .
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39768
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 517573 IN NS J.ROOT-SERVERS.NET.
. 517573 IN NS K.ROOT-SERVERS.NET.
. 517573 IN NS L.ROOT-SERVERS.NET.
. 517573 IN NS M.ROOT-SERVERS.NET.
. 517573 IN NS A.ROOT-SERVERS.NET.
. 517573 IN NS B.ROOT-SERVERS.NET.
. 517573 IN NS C.ROOT-SERVERS.NET.
. 517573 IN NS D.ROOT-SERVERS.NET.
. 517573 IN NS E.ROOT-SERVERS.NET.
. 517573 IN NS F.ROOT-SERVERS.NET.
. 517573 IN NS G.ROOT-SERVERS.NET.
. 517573 IN NS H.ROOT-SERVERS.NET.
. 517573 IN NS I.ROOT-SERVERS.NET.
;; ADDITIONAL SECTION:
A.ROOT-SERVERS.NET. 603973 IN A 198.41.0.4
B.ROOT-SERVERS.NET. 603973 IN A 192.228.79.201
C.ROOT-SERVERS.NET. 603973 IN A 192.33.4.12
D.ROOT-SERVERS.NET. 603973 IN A 128.8.10.90
E.ROOT-SERVERS.NET. 603973 IN A 192.203.230.10
F.ROOT-SERVERS.NET. 603973 IN A 192.5.5.241
G.ROOT-SERVERS.NET. 603973 IN A 192.112.36.4
H.ROOT-SERVERS.NET. 603973 IN A 128.63.2.53
I.ROOT-SERVERS.NET. 603973 IN A 192.36.148.17
J.ROOT-SERVERS.NET. 603973 IN A 192.58.128.30
K.ROOT-SERVERS.NET. 603973 IN A 193.0.14.129
L.ROOT-SERVERS.NET. 603973 IN A 198.32.64.12
M.ROOT-SERVERS.NET. 603973 IN A 202.12.27.33
;; Query time: 11 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Nov 24 00:14:38 2006
;; MSG SIZE rcvd: 436
4、用rndc控制服务器
产生rndc控制文件
# rndc-confgen > /etc/rndc.conf
#tail +13 /etc/rncd.conf >> /etc/named.conf :把从13的内容添加到named.conf
把注释去掉。
启动named服务器,查看日志/var/log/messages
#named
#tail /var/log/messages ;查看日志中是否提示有错误
测试rndc和解析的效果
#rndc status
#echo “nameserver 127.0.0.1 ” > /etc/resolv.conf
#killall -9 named
#named :重启named服务
#host www.sohu.com :看是否解析成功
5、在named.conf文件中添加本地主域
Zone “localhost” {
Type master;
File “named.local”;
};
#cd /var/named
#vi named.local
$TTL 1D
@ IN SOA localhost. Root (
2006112301
1H
15W
1W
1D )
IN NS @
IN A 127.0.0.1
测试:
#rndc reload
#host localhost
6、添加正向域
Zone “ test.com” {
Type master;
File “test.com.zone”;
};
#cd /var/named
#cp named.local test.com.zone
#vi test.com.zone
$TTL 1D
@ IN SOA test.com. root (
2006112301
1H
15M
1W
1D )
IN NS ns
IN MX 10 mail
ns IN A 192.168.1.1
mail IN A 192.168.1.2
www IN A 192.168.1.3
ftp IN A 192.168.1.4
news IN CNAME www
#rndc reload
#tail /var/log/messages
#host www.test.com :看是否解析成功
#host -t SOA test.com
#host -t NS test.com
#dig www.test.com
#echo “search test.com” >> /etc/resolv.conf
#host www
7、添加反向本地区域
在/etc/named.conf文件中添加:
Zone “0.0.127.in-addr.arpa” {
Type master;
File “127.0.0.zone”;
};
#cd /var/named
#vi 127.0.0.zone
$TTL 1D
@ IN SOA @ root.localhost (
2006112301
1H
15M
1W
1D )
IN NS localhost.
1 IN PTR localhost.
注意:localhost后有点。
测试:
#rndc reload
#host 127.0.0.1
8、添加反向域
在/etc/named.conf文件中添加:
Zone “1.168.192.in-addr.arpa” {
Type master;
File “192.168.1.zone”;
};
#cd /var/named
#vi 192.168.1.zone
$TTL 1D
@ IN SOA test.com. root.test.com. (
2006112301
1H
15M
1W
1D )
IN NS ns.test.com.
3 IN PTR www.test.com.
2 IN PTR mail. test.com.
1 IN PTR ns. test.com.
测试:
#rndc reload
#host 192.168.1.3
9、以普通用户身份执行named进程
首先修改named.conf,设置pid-file选项值
Options {
Directory “/var/named”;
Pid-file “/var/run/named/named.pid”;
};
#useradd –s /bin/false -d /dev/null named
#mkdir /var/run/named
#chown named.named /var/run/named
#chmod 700 /var/run/named
#killall -9 named
#named -u named : 以named身份执行named进程
#ps aux | grep named :检查named进程
#which named
#echo “/usr/local/sbin/named –u named” >> /etc/rc.local :启动时自动运行