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 
 

當內網用戶請求解析時

當外網用戶請求解析時

 

 

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