DNS的简单介绍

DNS 是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。在Internet上域名与IP地址之间是一对一(或者多对一)的,也可采用DNS轮循实现一对多,域名虽然便于人们记忆,但机器之间只认IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS 命名用于 Internet的 TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。(摘自百度)

DNS服务器的工作原理

DNS服务器所提供的服务是完成将主机名和域名转换为IP地址的工作。为什么需要将主机名和域名转换为IP地址的工作呢?这是因为,当网络上的一台客户机访问某一服务器上的资源时,用户在浏览器地址栏中输入的是便于识记的主机名和域名....

如果查询的名称没有区域信息,则服务器检查它能否通过本地缓存的先前查询信息来解析名称。如果从中发现匹配的信息,则服务器使用它应答查询。接着,如果首选服务器可使用来自其缓存的肯定匹配响应来应答发出请求的客户机,则此次查询完成。

如果查询名称在首选服务器中未发现来自缓存或区域信息的匹配应答,则查询过程可继续进行,使用递归来完全解析名称,包括来自其他 DNS 服务器的支持,以帮助解析名称。在默认情况下,DNS 客户服务要求服务器在返回应答前使用递归过程来代表客户机完全解析名称。在大多数情况下,DNS 服务器的默认配置支持递归过程,如下图所示

 

 

DNS域名解析

DNS的解析过程:

第一步:客户机提出域名解析请求,并将该请求发送给本地域名服务器。

第二步:当本地域名服务器收到请求后,就先查询本地缓存,如果有该纪录项,则本地域名服务器就直接把查询结果返回。

第三步:如果本地缓存中没该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根 子域)主域名服务器地址。

第四步:本地服务器再向第一步返回该域名服务器发送请求,然后接受请求服务器查询自己缓存,如果没该纪录,则返回相关下级域名服务器地址。

第五步:重复第四步,直到找到正确纪录。

第六步:本地域名服务器把返回 结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

DNS服务器类型

主DNS服务器:用于记录DNS数据
辅助DNS服务器:是主DNS记录的副本
cache-only 不负责任何一个区域,只用作缓存
存根服务器 存放某一区域的DNS服务器指向

DNS的查询方式

1.递归查询:也就是DNS客户端送出查询要求后,如果DNS服务器内没有需要的数据,则DNS服务器会代替客户端向其他的DNS服务顺查询。
2.循环查询:一般DNS服务器与DNS服务器之间的查询属于这种查询方式。当第一台DNS服务器在向第2台DNS服务器提出查询要求后,如果第2台DNS服务器内没有所需要的数据,则它会提供第3台DNS服务器的IP地址给第1台
3.反向查询:可以让DNS客户端利用IP地址查询其主机名称。

 

DNS配置所需要了解的知识

/var/named/chroot DNS根目录

/var/named/chroot/etc DNS服务器的配置文件

示例一:

[root@localhost etc]# ls
localtime named.conf rndc.key
named.caching-nameserver.conf named.rfc1912.zones

/var/named/chroot/var/named 区域文件

示例二:

[root@localhost named]# ls
localdomain.zone named.broadcast named.ip6.local named.zero
data localhost.zone named.ca named.local slaves

/var/named/chroot (DNS根目录)
/var/named/chroot/etc/ (DNS服务器的配置文件)
/var/named/chroot/var/named/ (区域文件)

案例一:

如图:不同网关的PC通过DNS服务器访问www.abc.com

 

 

需要安装的包有

 

第一步 安装rpm -ivh 服务包

rpm -ivh caching -nameserver-9.3.6-4.pl.e15.i386.rpm

cd /var/named/chroot/etc/

cp -p named.caching -nameserver.conf  named.conf

第二步 配置dns服务的主配置文件
在目录/var/named/chroot/etc下cp -p named.caching-nameserver.conf named.conf

 

第三步 配置服务的区域文件 修改区域声明
在目录 /var/named/chroot/etc下

[root@server etc]# pwd
/var/named/chroot/etc
[root@server etc]# vim named.rfc1912.zones
 

第四步 配置服务的数据文件
在目录 /var/named/chroot/var/named/ 下进行配置
[root@server named]# pwd
/var/named/chroot/var/named
[root@server named]# cp -p localhost.zone abc.com.db
[root@server named]# cp -p localhost.zone bj.abc.com.db
[root@server named]# vim abc.com.db
 
 
 
 
 
 

 
[root@server named]# vim bj.abc.com.db

 
在window2003上配置子域服务器:
 第一 新建区域向导


第二修改SOA ,服务器名 并添加服务器
 
 


第三 配置转发器
 
 

p_w_picpath

p_w_picpath

p_w_picpath

综上所看,完成了解析。

案例二:

 一企业网内部有一台DNS服务器(192.168.100.1),专门为内部主机提供域名解析服务,现有一外部网(wan,通过防火墙与内网实现互通。通过在DNS服务器上建立视图,实现也能同时为外网的主机提供域名解析服务,使得从外网用户的角度上看,它们的DNS服务是由防火墙提供的,但实际上是由内部网DNS实现的。

一. DNS服务器的配置:

修改主配置文件/var/named/chroot/etc/named.conf):

二.添加两个数据文件:

I. /var/named/chroot/var/named/ca.com.inter

2.vim ca.com.db

3.vim ca.com.db1

$TTL 86400

@                     IN SOA ns.ca.com.            root (

                                              43              ; serial (d. adams)

                                              3H             ; refresh

                                              15M          ; retry

                                               1W           ; expiry

                                               1D )       ; minimum

 

@ IN NS ns.ca.com.

ns IN A 192.168.100.25

www IN A 192.168.200.1

ftp IN A 192.168.100.2

在linux2中

1.vim /etc/sysctl.conf

# Controls IP packet forwarding

net.ipv4.ip_forward = 1

3.sysctl -p

4.iptables -t nat -A PREROUTING -d 192.168.2.100 -p udp --dport 53 -j DNAT --to 192.168.101.100

在PC中

1.ipconfig /flushdns

三 测试。

1.内网测试:

 2.外网测试: