网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为“IP 地址”。但这些数字难以记忆,所以就采用“域名”的方式来取代这些数字了。不过最终还是必须将域名转换为对应的IP 地址才能访问主机。
DNS 服务,又叫域名解析服务,即提供域名与IP 地址的相互转换。域名的正向解析是将主机名转换成IP 地址的过程,域名的反向解析是将IP 地址转换成主机名的过程。通常我们很少需要将IP 地址转换成主机名,即反向解析。反向解析经常被一些后台程序使用,用户看不到。
二、DNS 架构
域的层次结构如同一棵倒立的树,层次结构非常清晰,如图所示。根域位于顶部,紧接着在根域的下面是几个顶级域,每个顶级域又可以进一步划分为不同的二级域,二级域再划分出子域,子域下面可以是主机也可以是再划分的子域,直到最后的主机。在Internet 中的域是由InterNIC负责管理的,域名的服务则由DNS 来实现。
三、DNS 解析流程
1、客户机请求解析www.exmaple.com.cn的IP 地址,如果本地hosts文件中没有相关解析,则向本地DNS服务器发出解析请求;
2、如果本地DNS服务器有该域名的解析信息,则直接返回给客户机;如果本地DNS 服务器没有该域名的解析信息,则本地DNS 服务器向根DNS服务器询问www.exmaple.com.cn的IP地址;
3、如果根DNS 服务器有该域名的解析信息,则直接返回信息给本地DNS 服务器,本地DNS 服务器再将解析信息返回给客户机;如果根DNS 服务器没有该域名的解析信息,则返回管辖.cn解析业务的DNS 服务器的IP 地址;
4、本地DNS 服务器向管辖.cn的DNS 服务器询问www.exmaple.com.cn的IP 地址;
5、如果.cn 服务器有该域名的解析信息,则直接返回信息给本地DNS 服务器,本地DNS服务器再将解析信息返回给客户机;如果.cn DNS 服务器没有该域名的解析信息,则管辖.cn解析业务的DNS服务器告知.com.cn的DNS 服务器的IP地址;
6、本地DNS 服务器向管辖.com.cn的DNS服务器询问www.exmaple.com.cn的IP 地址;
7、如果.com.cn 服务器有该域名的解析信息,则直接返回信息给本地DNS 服务器,本地
DNS 服务器再将解析信息返回给客户机;如果.com.cn DNS 服务器没有该域名的解析信息,则管辖.com.cn解析业务的DNS 服务器告知.example.com.cn的DNS服务器的IP地址;
8、本地DNS服务器向管辖.example.com.cn的DNS 服务器询问www. example.com.cn IP 地址;
9、管辖.example.com.cn的DNS服务器告知www.exmaple.com.cn的DNS服务器的IP地址;
10、本地DNS服务器解析出www.exmaple.com.cn的IP 地址,并传回给客户机。
四、搭建centos5.3下的DNS多域解析服务器
系统平台:centos5.3 内核版本:2.6.18-128.2.1.el5
DNS 服务器IP :192.168.2.210
Web 服务器A:www.chinaunix.net 192.168.2.181
Mail服务器B:mail.chinaunix.net 192.168.2.182
Web 服务器C:www.chinaunix.org 192.168.2.183
Mail服务器D:mail.chinaunix.org 192.168.2.185
1、安装bind相关软件包[root@server ~]# yum -y install bind* caching-nameserver
2、修改主配置文件
[root@server ~]# cd /var/named/chroot/etc/
[root@server etc]# cp –p named.caching-nameserver.conf named.conf
[root@server etc]# cp –p named.rfc1912.zones named.rfc1912.zones.bak
备注:cp 参数-p 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
这里大多数配置文件的属主是root,组为named,如果只是cp,启动named 服务时会报
错。
[root@server etc]# vi 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 { any; };
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 { any; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
[root@server etc]# vi named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
//
// See /usr/share/doc/bind*/sample/ for example named configuration
files.
//
zone "." IN {
type hint;
file "named.ca";
}; # 根DNS服务器配置文件;
zone " localdomain" IN {
type master;
file " localdomain.zone";
allow-update { none; };
}; # 模板1;
zone "0.0.127.in-addr.arpa" IN {
type master;
file " named.local";
allow-update { none; };
}; # 模板2;
zone "chinaunix.net" IN {
type master;
file "chinaunix.net.zone";
allow-update { none; };
}; # 模板1复制并修改后的;
zone "chinaunix.org" IN {
type master;
file "chinaunix.org.zone";
allow-update { none; };
}; # 模板1复制并修改后的;
zone "2.168.192.in-addr.arpa" IN {
type master;
file "2.168.192.in-addr.local";
allow-update { none; };
}; # 模板2 复制并修改后的;
备注:蓝色字体是添加、修改过的;
3、Zone配置文件
[root@server etc]# cd ../var/named/
[root@server named]# cp –p localdomain.zone chinaunix.net.zone
[root@server named]# cp –p localdomain.zone chinaunix.org.zone
[root@server named]# cp –p named.local 2.168.192.in-addr.local
[root@server named]# vi chinaunix.net.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS chinaunix.net.
IN MX 10 mail.chinaunix.net.
www IN A 192.168.2.181
mail IN A 192.168.2.182
[root@server named]# vi chinaunix.org.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS chinaunix.org.
IN MX 10 mail.chinaunix.org.
www IN A 192.168.2.183
mail IN A 192.168.2.185
[root@server named]# vi 2.168.192.in-addr.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS chinaunix.net.
IN NS chinaunix.org.
181 IN PTR www.chinaunix.net.
182 IN PTR mail.chinaunix.net.
183 IN PTR www.chinaunix.org.
185 IN PTR mail.chinaunix.org.
4、测试
[root@server ~]# nslookup
Ø www.chinaunix.net
Server: 192.168.2.210
Address: 192.168.2.210#53
Name: www.chinaunix.net
Address: 192.168.2.181
Ø www.chinaunix.org
Server: 192.168.2.210
Address: 192.168.2.210#53
Name: www.chinaunix.org
Address: 192.168.2.182
Ø mail.chinaunix.net
Server: 192.168.2.210
Address: 192.168.2.210#53
Name: mail.chinaunix.net
Address: 192.168.2.183
Ø mail.chinaunix.org
Server: 192.168.2.210
Address: 192.168.2.210#53
Name: mail.chinaunix.net
Address: 192.168.2.185
Ø 192.168.2.181
Server: 192.168.2.210
Address: 192.168.2.210#53
181.2.168.192.in-addr.arpa name = www.chinaunix.net.
Ø 192.168.2.182
Server: 192.168.2.210
Address: 192.168.2.210#53
182.2.168.192.in-addr.arpa name = mail.chinaunix.net.
Ø 192.168.2.183
Server: 192.168.2.210
Address: 192.168.2.210#53
183.2.168.192.in-addr.arpa name = www.chinaunix.org.
Ø 192.168.2.185
Server: 192.168.2.210
Address: 192.168.2.210#53
185.2.168.192.in-addr.arpa name = mail.chinaunix.org.
备注:蓝色为键盘输入
五、结束
资料转自互联网,仅供学习交流.