歡迎您光臨本站 註冊首頁

DNS應用

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

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

當內網用戶請求解析時

當外網用戶請求解析時


[火星人 ] DNS應用已經有643次圍觀

http://coctec.com/docs/linux/show-post-46182.html