一.什麼是DNS dns 的全名是domain name system <域名系統> , 它是為了方便訪問互連網而採用的一種 域名和ip地址 之間相互轉化的管理方法. <每台主機間的訪問都用ip地址是不現實的>簡單的說就是: dns 伺服器解決了ip地址和名稱之間的轉化過程, 這就是為什麼訪問者在不知道一個網站的ip地址的情況下, 還可以根據網站的名字而輕鬆訪問網站的原因 . 如新浪網的網址為: www.sina.com 而它的一台伺服器的地址為 1.1.1.1 這樣dns 伺服器記錄的是 www.sina.com. -------1.1.1.1 客戶訪問時 只需輸入 網址即可 原理如圖: 過程: 當用戶要訪問www.sina.com.cn時 會向網路中的dns伺服器發送dns 請求 "請告訴我www.sina.com.cn的ip地址." 當dns 伺服器在線時並且收到dns請求后 會回應這個dns請 求 "www.sina.com.cn 的ip地址是 1.1.1.1 " 用戶收到dhs 應答包 就知道www 伺服器的ip地址 然後用戶主機就會發送目的地址 為 1.1.1.1 的 數據包進行通訊 DNS有關的名詞解析 <1> 域 : 一種遞歸管理網的方法, 以樹狀結構的形式來定址,以便方便的找到目的地 就像一個人的身份證一樣 . 屬於那個國家, 哪個省,那個市,哪個縣........ 只不過域的劃分是按: 國家. 類別 組織等 如圖所示 <2> dns 伺服器: 也稱:dns <domain name server> , 他是為普通客戶機提供域名解析服務的 伺服器 主dns 伺服器: 區域內主要的dns伺服器, 其內部的dns數據記錄為原始記錄 可以進行 修改輔助dns伺服器: 像主dns一樣為 區域內的主機提供dns服務 不過他的dns 數據記錄 是從主dns上拷來的 ,只能根據主dns的數據變化而變化 cachonly 伺服器: 它不屬於任何域 但是卻緩存dns數據 為其他主機提供dns 服務存根伺服器: 這種伺服器記錄那些訪問的比較頻繁的 dns記錄 <3>查找區域: 可分為: 正向查找區域: 根據名字解析ip地址<90% 的查找都是正向的 > 反向查找區域: 根據ip地址解析名字<10%><4>記錄類型: 正向區域: ①SOA記錄 <授權起始記錄><這裡面包含了: 主dns 伺服器; 管理 員郵箱; 刷新的策略> ②NS 記錄 <該區域內的dns 伺服器> //所有的dns伺服器都記錄 ③A 記錄 <名稱到地址的映射關係> //前面是名稱後面是地址 ④CNAME 記錄 <別名記錄> // 記錄主機別名 反向的查找區域: PTR記錄 // 記錄ip地址到域名的對應關係配置簡單實例: 這裡配置一台linux 主機上的dns伺服器 實驗環境: linux 做dns 伺服器 windows 2003 做客戶機 目標: 在客戶機上執行nslookup ip地址可以解析到dns域名 或者在客戶主機上 ping 某個服務主機 看是否可以解析到域名首先搭建實驗環境: 區域網內部 實現主機和伺服器的連通 客戶機配置: ip地址 192.168.1.20 首選dns 指向linux伺服器 即 192.168.1.1 二.在linux操作系統上搭建dns 伺服器 <1> 首先安裝dns 服務 mount /dev /crom /mnt/cdrom cd /mnt/cdrom/Server rpm -ivh bind-9.3........<參數太多還是省略了吧 反正按tab 鍵可以出來 > rpm -ivh caching-named-server rpm -ivh bind-chroot < 以上三個包安裝后就行了 注意三個順序一定不要亂了,亂了的話會出問題的 這與 依賴關係有關吧,也不是太明白 > 安裝后在查詢效果如下: <2>編輯有關的配置文檔 主要的有幾個: / var/ named/ chroot/ etc 下的 : named.conf < 這個是主配置文檔的模板 named.caching-nameserver.conf 拷貝過來的> named.rfc1912.zones <這個是區域主配置文檔 裡面聲明了dns內有幾個區域 以及這些區域的配置文件的名字及放置的地方> /var/named/chroot/var/named 下的: localhost.zone <這個是區域配置文件的模板文件> 下面是以上配置文件的具體配置方法:cd /var/named/chroot/etc cp -p named.caching-namedserver.conf named.conf vim namd.conf name.conf <以截圖說明> 這一步的配置主要是 講幾個 主要參數改為 any 就行了 vim named.rfc1912.zones named.rfc 編輯后截圖 如下上圖中 下面的那個區域的五行是從上面拷貝並編輯過來的 事實上也就加這五行就行了依據上圖: 有區域 hh.com 並且 區域文件放在 hh.com.db 中則 將 /var/named/chroot/var/named/ 中的 /localhost.zone 拷貝為 hh.com.db 作為 這個區域的配置文檔 然後 vim hh.com.db 截圖如下: 正如上如所示 在數據文件中添加了 www 和 ftp 伺服器的主機記錄 到這裡基本上配置完成:可以使用幾個命令來驗證你手工編輯的幾個文件的正確性named-checkconf /var/named/chroot/etc/named.conf config文件所在目錄named-checkzone hh.com /var/named/chroot/var/named/hh.com.db 域名 域文件所在位置然後重啟 dns 服務 service network restart 或者用rndc reload 來更新配置文件下面開始在客戶機上驗證dns的配置是否成功在命令行模式下輸入nslookup www.hh.com nslookup ftp.hh.com 得到結果如圖; 從結果可以看出已經可以解析到記錄了 以上做的是一個主dns 伺服器下面開始我們把linux主機配製成另外一個區域的輔助dns伺服器 三.把linux主機配置成輔助dns伺服器實驗環境: 同上 但這次 配置另一個區域 並且把linux主機當做輔助dns伺服器原理: 輔助dns 會從主dns 伺服器上邊複製數據 在輔助dns上的區域配置文件是自動產生的 <1>在windows 上配置主dns伺服器 配置一個名為 qq.com 的主區域 主機記錄 mail.qq.com 3.3.3.3 test.qq.com 4.4.4.4 <2> 配置linux 上的輔助區域 這裡需要編輯 named.rfc文檔<這裡只是縮寫.按TAB鍵就能出來> 加入如下幾行: zone "ns1.qq.com" IN { type slave; \這裡聲明自己是輔助dns masters { 192.168.1.1; }; \ 這裡聲明主 dns的地址 file "/var/named/slaves/qq.com.db"; \輔助dns數據放置的位置 };這裡的qq.com.db是不用手工創建的 他是從主dns 上拷貝過來的 注意 主dns不能開啟防火牆或者將dns這一項改成例外 要不讓複製不過來然後重啟dns服務 或者 r ndc reload 就行了 下面是截屏:到這裡看來區域複製已經完成.下面還有關於dns的委派關係 四: dns的委派關係
委派關係就是管理一個大區域的dns伺服器將他的dns解析功能或者權利下放到隸屬於他的某一個比較小的dns伺服器,即他的子dns伺服器這裡以一台linux主機作為父域的dns伺服器在父域創建名為 aaa.com的主區域作為父域 並創建 bj.aaa.com 為他的一個子域創建主機記錄 www 7.7.7.7 mail 8.8.8.8只在它上面演示如何編輯需要的文件就行了這裡還是需要改named.rfc 文檔加入如下圖創建父域和子域的區域數據文檔即 : aaa.com.db bj.aaa.com.db 編輯 aaa.com.db 在編輯 aaa 時需要將他所授權的子域bj.aaa.com給聲明出來 如圖:這便是一次完整的授權 驗證 省略 dns 到這兒基本就這麼多了 反向解析不常用不再解釋了:<the end > 本文出自 「techknowledge」 博客,請務必保留此出處http://littlekid.blog.51cto.com/2124050/472146
[火星人
]
linux--dns已經有684次圍觀
http://coctec.com/docs/linux/show-post-48060.html