Dns 在linux系統中的應用

Dns linux系統中的應用

 

翻譯機制:

 

tcp/ip的網絡中,流量是以ip包的形式傳輸,ip包的包頭部分是目標ip地址和原ip地址,所以要想準確地在網絡中訪問到某主機,比如說訪問www.sohu.com,需要把域名解析爲ip地址,這就是我們說的翻譯機制。

1Hosts 文件

在小型的網絡中運用hosts文件來實現翻譯,hosts文件在操作系統中經常見到,例如windows hosts文件是/windows/system32/drivers/etc    linux系統  /etc/hosts,在一些網絡設備中也有hosts文件  交換機  防火牆  路由器 等

Hosts 文件裏面到底是什麼?

是主機名 ip地址之間的對應關係,只有hosts 文件有主機名ip地址之間的對應,在訪問某臺主機時纔可以找到其ip地址,否則根本訪問不到。Hosts文件時主機名ip地址映射表,是手工創建的,在小型的網絡中hosts文件是有用的,但在大型的網絡hosts文件工作效率會大大降低。

2dns

Dnsdomain name server/system的簡稱顧名思義 就是域名解析服務器。

實現dns有幾種方式

Bind  是伯克利公司開發的用文件來實現的一種方式,這種方式佔市場份額60%,把ip地址主機名的對應關係寫到文件之中去,把文件加載到內存中,如果文件比較多加載速度比較慢,但是一旦加載進去檢索速度特別快。

Powerdns 是靠數據庫來實現的,sql 數據庫 mysql數據庫等

Mydns mydns-ng 也是靠數據庫來實現的,只不過這種方式提供web的管理界面幫助管理。

這裏我們主要是探討第一種dns,其他的不做太多的介紹。

 

Dns:

dns域名空間

 

  整個dns 框架是一個樹狀結構,這個樹狀結構稱爲nds域名空間

 

Dns 服務器

 

Dns 服務器內存儲着域名空間的部分區域記錄。一臺dns服務器可以存儲一個或多個域內的記錄,也就是dns服務器可以管轄一個或多個區域,我們稱dns服務器爲區域的授權服務器。

dns服務器 在區域中僅有一個

輔助dns服務器 0個或多個,是記錄的副本,不能刪除和修改

唯緩存服務器

唯緩存服務器是一臺並不負責管理任何區域,它會幫助dns客戶端向其他服務器來查詢,然後將查詢的記錄保存到自己的緩存中,並將此記錄提供給客戶端。

區域

正向區域:名稱解析爲地址

        SOA  授權起始 (主dns  管理員郵箱 刷新策略)

        NS   名稱服務器  (主dns  輔助dns

         A 記錄  名稱------ip地址

         CNAME  別名記錄

         MX    郵件服務器 (表明一個域中有mail server

 

反向區域:地址解析爲名稱

         SOA  授權起始 (主dns  管理員郵箱 刷新策略)

         NS   名稱服務器  (主dns  輔助dns

         PTR 記錄  ip地址---->名稱

         CNAME  別名記錄

         MX    郵件服務器 (表明一個域中有mail server

 

Dns 的工作原理

 

 

 

假如在洛陽市有一臺pc想要訪問鄭州大學的一臺www服務器,pcdns客戶端先向洛陽市市局放出請求,洛陽市居向根域發出請求,根域收到請求,會把河南省廳的地址發給洛陽市局,然後洛陽市局在向河南省廳發出請求,河南省廳會把鄭州市的地址告訴洛陽市,洛陽市在訪問鄭州市局,鄭州市局把鄭州大學地址告訴洛陽市局,洛陽市居在訪問鄭州大學,鄭州大學把www服務器的地址告訴洛陽市局,這個過程叫做迭代查詢。

Pc把請求發給洛陽市局,洛陽市局把請求的結果告訴pc,在洛陽市局會有一份記錄保存下來,如果pc再次訪問,會把結果直接發給pc,在pc內部也有一份記錄保存,這個過程叫做遞歸查詢。

 

Dns linux系統中的應用

我這裏主要演示三個小案例幫助來理解dns服務器在linux中的應用

案例一:做域名解析

案例二:主dns服務器與輔助dns服務器之間的刷新策略

案例三:dns服務器的授權和轉發

 

 

 

案例一:做域名解析

 

安裝dns相關軟件包

 

 

/var/named/chroot/    dns 根目錄

/var/named/chroot/etc/   存放dns服務器配置文件

/var/named/chroot/var/named/ 存放區域文件

切換到/var/named/chroot/etc/

 

 

打開named.conf

 

文件做一些簡單的修改

 

聲明一個abc.com的域,dnsserver 192.168.20.100

打開named.rfc1912.zones這個文件,聲明一個abc.com的域

 

 

創建區域文件abc.com.zone

 

 

打開bac.com.zone 進行編輯

 

 

語法檢測

檢查是否有錯誤

 

工具:named-checkconf   檢查主配置文件

Named-checkzone   檢查區域文件

 

 

沒有出現任何問題

重啓named服務

查看named服務進程

 

 

客戶端測試工具

Windows   nslookup

           ping

 

 

Linux    nslookup

         Dig

         Host

 

 

 

 

 

測試成功

如果想在本機做解析的話,只需要指向自己就行了

/etc/resolv.conf  添加記錄

 

 

 

 

 

案例一演示結束。

 

  

 案例二:主dns服務器與輔助dns服務器之間的刷新策略

 

工作原理:

 

在一個重要的局域網中,我們不可能只有一個dns服務器工作,一旦dns服務器不能工作,將會丟失大量的數據,非常不安全,所在我們要建立一個或多個dns服務器,作爲輔助dns服務器,輔助dns服務器在域中的身份是一個副職,是給主dns服務器數據的備份,所以在輔助dns服務器的數據記錄是一個副本,並不能主動進行刷新,只能靠刷新策略,一旦主dns服務器記錄發生改變,通過刷新策略,輔助dns服務器的記錄也將發生改變。

 

案例的拓撲圖

簡單說明

 

假設在a.com這個域中有一臺dns主服務器ip地址 是192.168.20.100

一臺dns輔助服務器ip地址爲192.168.20.200 a.com這個域中有www 1.1.1.1 記錄

ftp 2.2.2.2 記錄,Dns服務器都是用linux系統實現的。

 

在主dns服務器192.168.20.100上 ,打開/var/named/chroot/etc/named.rfc1912.zones 這個區域文件聲明一個a.com的域

 

 

然後創建a.com.zone 這個區域文件

 

 

 

 

dns服務器已經設置好了,現在我們在192.168.20.200個臺主機上創建一個輔助dns服務器

 

 

同步更新rndc reload查看日誌觀察在輔助dns服務器是否自動生成a.com.one區域文件

 

 

日誌表明 不能從192.168.20.100 dns服務器傳送記錄,是被拒絕的,說明輔助dns沒有給named的服務進程的運行者一個寫入的權限,因爲區域文件是要放在/var/named/chroot/etc/named所以要修改/var/named/chroot/etc/named目錄的權限。

 

dns輔助服務器上在查看日誌

 

 

dns主服務器上查看日誌

 

 

 

 

 

在輔助dns服務器named目錄下自動生成的區域文件a.com.zone

 

 

案例三:dns服務器的授權和轉發

 

簡單說明:

在一個大的區域中有父域有子域,父域不可能去管轄子域中的記錄,所以父域dns服務器要把管轄權限指派給子域中的一臺dns服務器,這就是授權。

如果客戶端請求子域dns要得到父域中的記錄時,子域要把請求轉發給父域dns服務器,讓父域dns服務器查找記錄,這個過程是轉發。

 

拓撲圖

父域dns管轄abc.com  同時管轄bj.abc.com這個子域,用l父域dnsinux系統實現ip地址爲192.168.20.100

父域dns服務器授權子域dns服務器管轄sh.abc.com 這個子域,也是用linux系統實現ip地址爲192.168.20.200

 

192.168.20.100上的配置

打開主配置文檔進行修改

 

在父域dns服務器上聲明兩個域,並創建區域文件

 

 

 

 

 

 

 

 

192.168.20.200的配置

首先進入子域的主配置文件指明轉發給的主dns服務器的地址

 

 

 

在子域dns服務器中聲明區域sh.abc.com,創建區域文件sh.abc.com.zone

 

 

 

 

 

 

測試

 

客戶端dns指向主域的dns服務器192.168.20.100

 

 

 

 

 

 

 

 

客戶端dns指向子域的dns服務器192.168.20.200

 

 

 

 

不管是授權還是轉發都沒有問題,案例三演示結束。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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