DNS服务器

一.简单介绍:DNS 是域名系统 (Domain Name System) 的缩写,是一种组织域层次结构的计算机和网络服务命名系统。当用户在应用程序中输入 DNS 名称时, DNS 服务可以将此名称解析为与此名称相关的 IP 地址信息。
 
二.DNS
的工作原理
   DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个Domain Name,而Server必须要回答此Domain Name的真正IP地址。而当地的DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的的DNS询问,依此得到答案之后,将收到的答案存起来,并回答客户。
 
    每一个名称服务器中都有一个缓存区(Cache),这个缓存区的主要是将该名称服务器所查询出来的名称及相对的IP地址记录在缓存区中,当下一次还有另外一个客户端到该服务器上去查询相同的名称 时,服务器就不用在到别台主机上去寻找,而直接可以从缓存区中找到该记录,传回给客户端,加速查询的速度。
 
三.
DNS
查询
方式
 DNS查询有两种询问原理,分为Recursive和Interactive两种。
 
1.递归式(Recursive):DNS客户端向DNS Server的查询模式,这种方式是将要查询的封包送出去问,就等待正确名称的正确响应,这种方式只处理响应回来的封包是否是正确响应或是说是找不到该名称的错误讯息。
 
2.迭代式(Interactive):DNS Server间的查询模式,由Client端或是DNS Server上所发出去问,这种方式送封包出去问,所响应回来的资料不一定是最后正确的名称位置,但也不是如上所说的响应回来是错误讯息,他响应回来告诉你最接近的IP位置,然后再到此最接近的IP上去寻找所要解析的名称,反复动作直到找到正确位置。
 

 
案例一
    某公司总部主管本部和北京分部,总部为父域,域名为ca.com,北京分部为子域,域名为bj.ca.com,上海分部作为委派域,域名为sh.ca.com,实现全网的dns的正常解析。

实验步骤:
 
  父域和子域建立在一个linux服务器上,地址为192.168.100.1;委派域建立在一个window-server服务器上,地址为192.168.100.3。
 
一.linux服务器的配置:
 
1.先安装DNS服务器:
相关的包有:
bind-utils-9.3.4-10.P1.el5
bind-chroot-9.3.4-10.P1.el5
binutils-2.17.50.0.6-9.el5
 
安装过程:
mount /dev/cdrom /mnt/cdrom       //
挂载光盘 
rpm -ivh /mnt/dcrom/Server/ bind-utils-9.3.4-10.P1.el5
rpm -ivh      /mnt/dcrom/Server/ bind-chroot-9.3.4-10.P1.el5
rpm -ivh   /mnt/dcrom/Server/ binutils-2.17.50.0.6-9.el5
 
2.修改配置文件(/var/named/chroot/etc/named.conf)
 

     

 

3.增加相关的数据文件 
 
 父域:(/var/named/chroot/var/named/ca.com.zone):
 
 子域:(/var/named/chroot/var/named/bj.ca.com.zone)
 
ca.com.zone

   

bj.ca.com.zone
 
$TTL     86400
@                IN SOA     ns.bj.ca.com..  root (
                                        42              ; serial (d. adams)
                                        1M              ; refresh
                                        1M              ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
 
@                    IN NS           ns.bj.ca.com.
www                  IN A             10.1.1.1
ftp                  IN A             20.2.2.2
mail                 IN A             30.3.3.3
 
 
4.检查几个文件是否正确:
 named-checkconf    /var/named/chroot/etc/named.conf
 named-checkconf    /var/named/chroot/var/named/ca.com.zone
 named-checkconf    /var/named/chroot/var/named/bj.ca.com.zone
 如果不存在提示,表示没有错误!!!
 
5.然后重启服务:
service named restart
 
二:window-server服务器的配置:
1.打开dns服务器,新建域:
 

 

 
 2.添加几条记录:

 

三:测试:
     用一台本网段的客户机进行测试,它的DNS指向为总部的dns服务器,  即(192.168.100.1);通过总部的dns服务器来来找上海分部服务器中的主机记录。
 
测试主机的配置信息如下:

1.先测试总部dns服务器直接能查到的记录:

到总部是连通的,可以解析!!
 
 

北京分部的也可以解析!!!
 
 
2.通过总部dns服务器间接查找上海分部服务器的记录:            

查找成功!!!!
 

案例二:DNS视图

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

 
注:在本实验中,防火墙是由一台有双网卡的
Linux
主机实现的(只需开启它的转发功能可),内网
DNS
服务器也是一台
linux
主机!!!

1. DNS服务器的配置:

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

 
2.
添加两个数据文件:

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

 

 

 
II.  /var/named/chroot/var/named/ca.com.exter

  

二.防火墙的配置:

1.配置两块网卡的地址:第一块网卡为:192.168.100.254,一块为192.168.200.1

2.开启linux主机的转发功能

编辑:etc/sysctl.conf

 修改:net.ipv4.ip_forward=1

使其生效:sysctl –p

 

3.进行地址转换.:

 

 
三.测试:

1.内网测试:

 测试机的配置

 

 

 
成功!!

2.外网测试:

 

 测试成功了,哈哈!!