DNS配置的相关资料(redhat 9.0)
Friday, 24. November 2006, 01:24:45
域名解析过程
(1)客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
(2)本地的域名服务器收到请求后,先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
(3)如果本地的缓存中没有该记录,则本地域名服务器把请求发给根域名服务器,根域名服务器返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。
(4)本地服务器向上一步返回的域名服务器发送请求,接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级域名服务器的地址。
(5)重复第四步,直到找到正确的纪录。
(6)本地域名服务器将结果返回给客户机;同时把返回的结果保存到缓存,以备下次使用。
使用域名服务
/etc/host.conf文件
host.conf文件指定如何解析主机名,Linux通过解析器库来获得主机名对应的IP地址。
/etc/nsswitch.conf文件
nsswitch.conf文件(系统数据库和域名服务转换设置文件)是由SUN公司开发的,用于管理系统中多个配置文件查顺序,它比/etc/host.conf文件提供了更多的功能。nsswitch.conf中的每一行或者是注释(以#号开头),或者是一个关键字,后跟冒号和对此关键字的设置。其中对主机名查询的设置关键字为hosts。
BIND的安装文件
bind-9.2.0-8.i386.rpm
BIND9的安装软件包
caching-nameserver-7.2-1.noarch.rpm
配置缓存服务器需要安装的软件包
BIND的安装命令
rpm -Uvh bind-9.2.0-8.i386.rpm
安装BIND9软件包
rpm -Uvh caching-nameserver-7.2-1.noarch.rpm
安装缓存服务器软件包
BIND的/etc/rc.d/init.d/named
BIND的启动脚本
service named start
启动BIND服务器的命令
service named stop
停止BIND服务器的命令
service named status
查询BIND服务器状态的命令
service named restart
重新启动BIND服务器的命令
启动与停止
named的配置文件
主配置文件:
/etc/named.conf
区文件目录:
/var/named/
区文件:
named.ca
named.local
localhost.zone
/etc/named.conf
options {
directory "/var/named";
pid-file "/var/run/named/named.pid";
};
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; };
};
/var/named/named.ca
…………
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; formerly NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
;
; formerly C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; formerly TERP.UMD.EDU
…………
/var/named/ named.local
$TTL 86400
$ORIGIN localhost.
@ 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
/var/named/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.
配置DNS解析器
编辑文件/etc/resolv.conf
在文件中添加
nameserver 192.168.1.112
“192.168.1.112”为DNS服务器的IP地址,最多可以设置三个DNS
配置惟高速缓存域名服务器
在已经安装软件包
caching-nameserver-7.2-1.noarch.rpm
的BIND服务器上,DNS服务器默认配置为高速缓存服务器
文件/var/named/named.ca是DNS根区域的数据库文件
高速缓存DNS服务器配置解析
/etc/named.conf文件中对DNS根服务器的配置部分:
zone "." IN {
type hint;
file "named.ca";
};
zone "."表示此段定义为根区域属性
type hint:只有根区域的类型为“hint”
file "named.ca"表示根区域的数据库文件为"named.ca"
配置主域名服务器
在文件/etc/named.conf中添加区域“test.com”的定义:
zone "test.com" {
type master;
file "/var/named/test.com.hosts";
};
建立正向区域文件
建立正向区域文件,并在其中添加记录:
A记录
NS记录
CNAME记录
MX记录
正向区域文件实例
建立正向区域文件/var/named/test.com.hosts如:
$ttl 38400
test.com. IN SOA ns1.test.com. root.localhost. (
1035860240
10800
3600
604800
38400 )
test.com. IN NS ns1
hosta.test.com. IN A 192.168.1.11
ns1.test.com. IN CNAME hosta
test.com. IN MX 10 mail
mail.test.com. IN A 192.168.1.12
创建反向主服务器
在文件/etc/named.conf中添加区域“192.168.1”的定义:
zone "1.168.192.in-addr.arpa" {
type master;
file "/var/named/192.168.1.rev";
};
“/var/named/192.168.1.rev”是该区域的区域文件
建立反向区域文件
建立反向区域文件,并在其中添加记录:
PTR记录
NS记录
CNAME记录
反向区域文件实例
建立反向区域文件/var/named/192.168.1.rev如:
$ttl 38400
1.168.192.in-addr.arpa. IN SOA ns1.test.com. root.localhost. (
1035861490
10800
3600
604800
38400 )
1.168.192.in-addr.arpa. IN NS ns1.test.com.
11.1.168.192.in-addr.arpa. IN PTR hosta.test.com.
12.1.168.192.in-addr.arpa. IN PTR mail.test.com.
配置辅域名服务器
在另一台Linux服务器上建立DNS从服务器,在文件/etc/named.conf中添加区域“test.com”的定义:
zone "test.com" {
type slave;
file "/var/named/test.com.hosts";
masters { 192.168.1.10; };
};
类型为“slave”代表此区域是从服务器
“192.168.1.10”是DNS主服务器的IP地址
配置辅域名服务器
在DNS从服务器上建立反向解析区域,在文件/etc/named.conf中添加区域“test.com”的定义:
zone "1.168.192.in-addr.arpa" {
type slave;
file "/var/named/192.168.1.rev";
masters { 192.168.1.10; };
};
类型为“slave”代表此区域是从服务器
“192.168.1.10”是DNS主服务器的IP地址
配置域名转发器
转发器是在named.conf文件中的options区段设置的。主要用到两个配置选项:
forwarders:指定要把查询请求转发到的远程域名服务器的IP地址。
forwarders { ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; ... ] }
forward:启用域名转发功能。
forward only
DNS转发
在/etc/named.conf中可以在options段中使用forwarders和forward指令设置DNS转发:
options {
forwarders {
192.168.1.110;
192.168.1.112;
};
forward first;
};
forwarders
forwarders {
DNS_IP_1;
DNS_IP_2;
};
forwarders指令用于设置将DNS请求转发到哪个服务器,可以指定多个服务器的IP地址。
forward
forward first | only;
forward指令用于设置DNS转发的工作方式:
forward first设置优先使用forwarders DNS服务器做域名解析,如果查询不到再使用本地DNS服务器做域名解析。
forward only设置只使用forwarders DNS服务器做域名解析,如果查询不到则返回DNS客户端查询失败。
用解析工具nslookup检测DNS配置
在本域内解析外部的域名
在本域内解析域内域名
在域内反向解析域内IP
(1)设置解析类型为PTR
(2)输入本地主机的IP地址
在域外解析域内的域名
在域外反向解析域内的IP
nslookup命令行
# nslookup hosta.test.com
Server: 192.168.1.10
Address: 192.168.1.10#53
Name: hosta.test.com
Address: 192.168.1.11
nslookup交互方式
# nslookup
> hosta.test.com
Server: 192.168.1.10
Address: 192.168.1.10#53
Name: hosta.test.com
Address: 192.168.1.11
> 192.168.1.11
Server: 192.168.1.10
Address: 192.168.1.10#53
11.1.168.192.in-addr.arpa name = hosta.test.com.
设置Linux中的DNS客户
Linux客户端的DNS服务器设置文件是/etc/resolv.conf
BIND的帮助资源
BIND的主站点:
http://www.isc.org/products/BIND/
文档目录:
/usr/share/doc/bind-9.2.0/
参考手册:
man named.conf
posted on 2007-01-23 13:55
花斑鼠 阅读(579)
评论(0) 编辑 收藏 引用 所属分类:
linux system