一, 官网软件下载 http://www.isc.org
二,用wget命令 下载到服务器
三, 解压
tar xzvf bind-9.5.0-P2.tar.gz
四, 进入文件夹 Cd bind-9.2.3
五, 设置安装目录
./configure –sysconfdir=/etc
六, 编译 make
七, 编译安装 Make install
八, 手工建立主配文件named.conf Vi /etc/named.conf
options {
directory \"/var/named\"; };
Zone “.” {
Type hint;
File “named.ca” };
手工建立 named.ca 文件
Echo “nameserver 218.75.110.174” > /etc/resolv.conf
使用 dig 命令查找 根服务器
[root@netbank src]# dig -t NS .
; <<>> DiG 9.3.4-P1 <<>> -t NS . ;; global options: printcmd ;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3599
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 14
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 144074 IN NS B.ROOT-SERVERS.NET. . 144074 IN NS C.ROOT-SERVERS.NET. . 144074 IN NS D.ROOT-SERVERS.NET. . 144074 IN NS E.ROOT-SERVERS.NET. . 144074 IN NS F.ROOT-SERVERS.NET. . 144074 IN NS G.ROOT-SERVERS.NET. . 144074 IN NS H.ROOT-SERVERS.NET. . 144074 IN NS I.ROOT-SERVERS.NET. . 144074 IN NS J.ROOT-SERVERS.NET. . 144074 IN NS K.ROOT-SERVERS.NET. . 144074 IN NS L.ROOT-SERVERS.NET. . 144074 IN NS M.ROOT-SERVERS.NET. . 144074 IN NS A.ROOT-SERVERS.NET.
;; ADDITIONAL SECTION:
A.ROOT-SERVERS.NET. 480935 IN A 198.41.0.4
A.ROOT-SERVERS.NET. 488423 IN AAAA 2001:503:ba3e::2:30 B.ROOT-SERVERS.NET. 580562 IN A 192.228.79.201 D.ROOT-SERVERS.NET. 99721 IN A 128.8.10.90 E.ROOT-SERVERS.NET. 488423 IN A 192.203.230.10 G.ROOT-SERVERS.NET. 17720 IN A 192.112.36.4 H.ROOT-SERVERS.NET. 468054 IN A 128.63.2.53
H.ROOT-SERVERS.NET. 488423 IN AAAA 2001:500:1::803f:235 I.ROOT-SERVERS.NET. 488423 IN A 192.36.148.17 J.ROOT-SERVERS.NET. 314528 IN A 192.58.128.30
J.ROOT-SERVERS.NET. 314528 IN AAAA 2001:503:c27::2:30 K.ROOT-SERVERS.NET. 522837 IN A 193.0.14.129 K.ROOT-SERVERS.NET. 314528 IN AAAA 2001:7fd::1 L.ROOT-SERVERS.NET. 230474 IN A 199.7.83.42
;; Query time: 4 msec
;; SERVER: 218.75.110.174#53(218.75.110.174) ;; WHEN: Sat Nov 15 07:07:49 2008 ;; MSG SIZE rcvd: 500
如果得到的结果A记录很少,则把 nameserver 改成 A记录中的IP,再查找一次
然后把结果导入 named.ca 中
Dig –t NS . > /var/named/named.ca
九,
Vi /etc/resolv.conf 把地址改回 127.0.0.1 表示使用自己的服务器来解析域名
十, 启动服务 [bind-9-]# Named
看下启动信息 tail /var/log/message
Ps aux | grep named
Host www.baidu.com
不能解析,需要再配个 RNDC
十一, RNDC
运行 rndc-confgen 生成 /etc/rndc.conf
rndc-confgen > /etc/rndc.conf
vi /etc/rndc.conf
tail +13 /etc/rndc.conf >> /etc/named.conf // 注意要把注释去掉
killall -9 named
named
rndc status
host www.baidu.com
至此能解析说明成功
Host 和 dig 命令都是 指定 nameserver 查询的, 和 /etc/hosts 无关
############################################################### 以下是 rpm 安装的 named.conf 文件(做参考用)
options {
listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; directory \"/var/named\";
dump-file \"/var/named/data/cache_dump.db\"; statistics-file \"/var/named/data/named_stats.txt\";
memstatistics-file \"/var/named/data/named_mem_stats.txt\";
// Those options should be used carefully because they disable port // randomization
// query-source port 53; // query-source-v6 port 53;
allow-query { localhost; };
};
logging {
channel default_debug {
file \"data/named.run\"; severity dynamic; }; };
view localhost_resolver {
match-clients { localhost; }; match-destinations { localhost; }; recursion yes;
include \"/etc/named.rfc1912.zones\"; };
[root@netbank src]#
九, 编辑 /etc/named.conf
// named.caching-nameserver.conf //
// Provided by Red Hat caching-nameserver package to configure the // ISC BIND named(8) DNS server as a caching only nameserver // (as a localhost DNS resolver only). //
// See /usr/share/doc/bind*/sample/ for example named configuration files. //
// DO NOT EDIT THIS FILE - use system-config-bind or an editor // to create named.conf - edits to this file will be lost on // caching-nameserver package upgrade. //
options {
# listen-on port 53 { 0.0.0.0; }; # listen-on-v6 port 53 { ::1; }; directory \"/var/named\";
dump-file \"/var/named/data/cache_dump.db\"; statistics-file \"/var/named/data/named_stats.txt\";
memstatistics-file \"/var/named/data/named_mem_stats.txt\";
// Those options should be used carefully because they disable port // randomization
// query-source port 53; // query-source-v6 port 53;
// allow-query { localhost; };
};
logging {
channel default_debug {
file \"data/named.run\"; severity dynamic; }; };
//view localhost_resolver {
// match-clients { localhost; }; // match-destinations { localhost; }; // recursion yes;
// include \"/etc/named.rfc1912.zones\"; //};
#controls {
# inet 127.0.0.1 allow { localhost; } keys { rndckey; }; #};
zone \".\" IN {
type hint;
file \"named.ca\"; };
zone \"localhost\" IN { type master;
file \"localhost.zone\"; allow-update { none; }; };
zone \"0.0.127.in-addr.arpa\" IN { type master;
file \"named.local\"; allow-update { none; }; };
zone \"test.com\" IN { type master; file \"test.zone\";
allow-update { none; }; };
zone \"baidu.com\" IN { type master;
file \"baidu.zone\";
allow-update { none; };
};
zone \"3.2.1.in-addr.arpa\" IN { type master; file \"test.local\";
allow-update { none; }; };
###########################################################
编辑的其中区域文件如下
目录 /var/named
Named.ca 文件
; <<>> DiG 9.5.0b2 <<>> +bufsize=1200 +norec NS . @a.root-servers.net ;; global options: printcmd ;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7033
;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 20
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 518400 IN NS D.ROOT-SERVERS.NET. . 518400 IN NS E.ROOT-SERVERS.NET. . 518400 IN NS F.ROOT-SERVERS.NET. . 518400 IN NS G.ROOT-SERVERS.NET. . 518400 IN NS H.ROOT-SERVERS.NET. . 518400 IN NS I.ROOT-SERVERS.NET. . 518400 IN NS J.ROOT-SERVERS.NET. . 518400 IN NS K.ROOT-SERVERS.NET. . 518400 IN NS L.ROOT-SERVERS.NET. . 518400 IN NS M.ROOT-SERVERS.NET. . 518400 IN NS A.ROOT-SERVERS.NET. . 518400 IN NS B.ROOT-SERVERS.NET. . 518400 IN NS C.ROOT-SERVERS.NET.
;; ADDITIONAL SECTION:
A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4
A.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:503:ba3e::2:30 B.ROOT-SERVERS.NET. 3600000 IN A 192.228.79.201 C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12 D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90 E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10 F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241 F.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:2f::f G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4 H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53
H.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:500:1::803f:235 I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17 J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30
J.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:503:c27::2:30 K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129 K.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:7fd::1 L.ROOT-SERVERS.NET. 3600000 IN A 199.7.83.42 M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33 M.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:dc3::35
;; Query time: 110 msec
;; SERVER: 198.41.0.4#53(198.41.0.4) ;; WHEN: Tue Feb 26 15:05:57 2008 ;; MSG SIZE rcvd: 615
Localhost.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
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.zone 文件 正向解析文件
$ttl 3600
@ IN SOA test.com. root.test.com. (
1053891162 3H 15M 1W 1D )
@ IN NS ns.test.com. @ IN MX 5 test.com. ns IN A 220.202.19.82 www IN A 220.202.19.82
test.local 文件 反向解析文件
$TTL 86400
@ IN SOA test.com. root.test.com. (
1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum @ IN NS test.com. 82 IN PTR dns.test.com.
十, 软件安装目录
/usr/local/bin/ 应用程序目录
/usr/local/sbin/ 服务器程序目录
十一, 将named服务加到系统服务中
Named
#############################################启动脚本.named.sh #
1,vi /etc/init.d/named
2,加入以下启动脚本
!/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/named/sbin/named ]; then
/usr/local/named/sbin/named -u named -c /usr/local/named/etc/named.conf && echo . && echo 'dns server started.' fi ;; stop)
kill `cat /var/run/named/named.pid` && echo . && echo 'dns server stopped.' ;;
restart) echo .
echo \"restart dns server\" $0 stop sleep 10 $0 start ;; *)
echo \"$0 start | stop | restart\" ;; esac
3,chmod u+x /etc/init.d/named 4,chkconfig --add named 5,chkconfig named on
6,加入到 /etc/rc.local中 使开机启动
十二, 测试dns
[root@linux etc]# host 220202.19.82
89.19.202.220.in-addr.arpa domain name pointer dns.test.com. 如上显示表示dns反向解析正常
[root@linux etc]# ping www.test.com
PING www.test.com (220.202.19.82) 56(84) bytes of data. 如上显示表示正向解析正常
dns配置完成。
因篇幅问题不能全部显示,请点此查看更多更全内容