DNS应用

 

  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服务器        用于记录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配置实例1

实例背景:某公司的北京总公司与分公司共用一台DNS服务器,地址为192.168.2.100;该公司的上海分公司的DNS服务器地址为192.168.2.101

 

配置步骤:

搭建北京总公司DNS服务器
安装DNS服务器所需要的包
#mount /dev/cdrom /mnt/cdrom
#cd /mnt/cdrom/Server
#ll bind*
-r--r--r-- 23 root root  976248 2009-01-07 bind-9.3.4-10.P1.el5.i386.rpm 
-r--r--r-- 23 root root   43071 2009-01-07 bind-chroot-9.3.4-10.P1.el5.i386.rpm
-r--r--r-- 26 root root 2663285 2009-01-07 bind-devel-9.3.4-10.P1.el5.i386.rpm
-r--r--r-- 26 root root  446167 2009-01-07 bind-libbind-devel-9.3.4-10.P1.el5.i386.rpm
-r--r--r-- 27 root root  855681 2009-01-07 bind-libs-9.3.4-10.P1.el5.i386.rpm
-r--r--r-- 23 root root  230400 2009-01-07 bind-sdb-9.3.4-10.P1.el5.i386.rpm
-r--r--r-- 23 root root  171405 2009-01-07 bind-utils-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh bind-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh bind-chroot-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh bind-libs-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh bind-utils-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh caching-nameserver-9.3.4-10.P1.el5.i386.rpm
切换到DNS服务器跟目录下
# cd /var/named/chroot/
# ll
drwxr-x---   2 root named 4096 03-06 20:37 dev
drwxr-x---   2 root named 4096 03-06 22:14 etc
dr-xr-xr-x 133 root root     0 03-06 20:28 proc
drwxr-x---   6 root named 4096 03-06 20:37 var
#cd /etc/
#ll
-rw-r--r-- 1 root root   405 02-09 09:59 localtime
-rw-r----- 1 root named 1195 2009-01-06 named.caching-nameserver.conf
-rw-r----- 1 root named 1043 03-06 22:06 named.rfc1912.zones
-rw-r----- 1 root named  113 03-06 20:36 rndc.key
编辑主配置文件
#cp -p named.caching-nameserver.conf named.conf
#vim named.conf


编辑区域声明文件
#vim named.rfc1912.zones


编辑区域数据文件
#cd ../var/named
#cp -p localhost.zone sun.com.db
#vim sun.com.db


#cp -p sun.com.db bj.sun.com.db
#vim bj.sun.com.db


检测区域文件
#named-checkzone sun.com /var/named/chroot/var/named/sun.com.db
检测主配置文档
#named-checkconf /var/named/chroot/etc/named.conf
#service named start


搭建上海DNS
安装所需要的包
#rpm -ivh bind-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh bind-chroot-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh bind-libs-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh bind-utils-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh caching-nameserver-9.3.4-10.P1.el5.i386.rpm
编辑主配文件
# cd /var/named/chroot/etc/
#cp -p named.caching-nameserver.conf named.conf
#vim named.conf


编辑区域声明文件
#vim named.rfc1912.zones


编辑区域数据库
#cp -p localhost.zone sh.sun.com.db
#vim sh.sun.com.db


检测区域文件
#named-checkzone sh.sun.com /var/named/chroot/var/named/sh.sun.com.db
检测主配置文档
#named-checkconf /var/named/chroot/etc/named.conf
#service named start

客户端地址为192.168.2.100首选将客户端DNS指向192.168.2.100,此时能成功解析出来所有DNS服务器内的主机域名

然后将客户端DNS指向192.168.2.101,可以看出当上海分公司的客户端通过此区域的DNS无法解析到北京DNS服务器的主机域名


此时需要在此服务器上配置区域转发
#vim /var/named/chroot/etc/named.conf


重新读取配置文件
#rndc reload

此时所有DNS域名内的主机都可以解析

 

 DNS配置实例2

实例背景:某内网内有DNS服务器,当外网用户访问时DNS解析出的内网中的地址为内网出口地址,当内网用户访问时DNS解析出的事实际地址

配置步骤:

配置DNS服务器

安装所需要的包
#rpm -ivh bind-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh bind-chroot-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh bind-libs-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh bind-utils-9.3.4-10.P1.el5.i386.rpm
#rpm -ivh caching-nameserver-9.3.4-10.P1.el5.i386.rpm
编辑主配文件
# cd /var/named/chroot/etc/
#cp -p named.caching-nameserver.conf named.conf
#vim named.conf
 


编辑区域数据库
#cp -p localhost.zone server.com.db
#vim server.com.db


#cp -p server.com.db server.com.db1
#vim server.com.db1


检测区域文件
#named-checkzone server.com /var/named/chroot/var/named/server.com.db
检测主配置文档
#named-checkconf /var/named/chroot/etc/named.conf
#service named start
配置网关
#route add default gw 192.168.2.254

配置防火墙

配置网卡参数
#ifconfig eth0 192.168.3.254
#ifconfig eth1 192.168.2.254
查看路由

#route -n
打开数据包转发功能
#vim /etc/sysctl.conf 
     ipv4_foward=1
#sysctl -t
配置NAT转化
#iptables -t nat -A PREROUTING -d 192.168.3.245 -p udp --dport 53 -j DNAT --to 192.168.2.100
查看详细参数
#iptables -t nat -L -v 
 

当内网用户请求解析时

当外网用户请求解析时

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章