兩台設備做DNS主從同步部署(含正向解析與方向解析)


DNS服務

全稱是domain name server域名解析服務。

我們知道每個聯網的計算機都有一個ip地址吧?Ip地址是用來做什么的呢?Ip地址是用來和互聯網上別的機器進行通訊的。但是ip地址很難記吧?一兩個ip地址可能還好,但是,我們每天要訪問的網頁不僅僅只有一兩個吧?

我們記得都是什么呢?www.baidu.com. www.sina.com。我們記住的其實都是字符,都是域名。就像我們的電話號碼,很難記,於是我們把電話號碼存到手機里,給他起個昵稱或者直接輸入人名對吧,把電話號碼對應成人名吧?然后打電話的時候就直接找到這個人名就好了。

所以我們系統也是一樣,會把ip地址對應成一個主機名。在我們系統里有這么一個文件,就是專門用來做對應關系的,這個文件叫/etc/hosts/,我們可以打開來看一下,一條記錄一行,行里面就是主機名和ip地址,當然一個ip地址可以對應多個主機名,就像人有很多的昵稱一樣。

那么這樣是不是就解決問題了,當我們想要訪問一個網站的時候,我們就不用輸入ip地址,而是可以直接輸入主機名就行了,機器會幫我們做一個解析,把主機名對應成ip地址進行通信。早期這樣做的確沒問題,但是隨着互聯網愈發的壯大,這個文件就不那么實用了。我們要在機器上配置大量的對應關系,是非常耗時,非常麻煩的,而且要配置的機器可不止一台。比如說我是百度,我希望世界上所有的人都要來訪問我的網頁,那么,我是不是需要讓世界上所有的人都去添加我的ip地址和主機名的對應關系。這個是非常難做到的事情,工作量太大。於是我們就引入了一種新的機制。

DNS的實現原理

這種機制的作用和hosts文件一樣,但是實現方法卻不一樣,這個機制就叫DNS (Domain name server)。通過dns,我們可以解決這個大批量域名解析的問題。那具體是怎么實現的呢?這就是dns的結構方面的問題了。

我們之前說我們的系統是一個什么樣的結構,是不是一個分層式的結構,這個結構的體現方式就是目錄吧?對不對。Dns也是如此,它也采用了分層市管理的方式。

不過不同於目錄,我們的目錄是一個邏輯上的概念,用來幫助我們理解文件系統的一種方式。而dns,他是實實在在的一種管理結構。

那我們來看,目錄的至高點是什么。是根吧,對不對,那么對於我們dns來說,既然是分層式管理結構,它也需要有一個至高點吧。這個至高點是什么呢?

我們把它稱作根域,以點代表根域。全世界總共有13台根域,是處於至高無上的位置的,只有13台機器。

那么根域下面就是頂級域了,通常我們看到的頂級域有這個com。有org,有cn還有edu等等,這些都是頂級域。頂級域下面管理二級域,以此類推。

FQDN:主機名加上域名,被稱作完全合格的域名,fqdn。其實com后面應該有個點的,代表根域。只不過我們現在習慣性的將其省略了。就好像國家管理省,省管理市,市管理縣等等

完整的域名 www.baidu.com. . 根域 全球一共13個根域 .com 超級域,一級域 .baidu 二級域 www 主機名

 

 

兩台設備做主從同步部署

主:master:192.168.150.128

從:slave:192.168.150.129

1. 軟件安裝(主從都裝)

yum install -y bind bind-utils bind-chroot

說明:bind是主程序bind-utils是工具包,包括dig、nslookup等NDS命令bind-chroot為bind提供一個偽裝的根目錄以增強安全性(將“/var/named/chroot/”文件夾作為BIND的根目錄)/etc/named.conf,/etc/named.rfc1912.zones是主配置文件/var/named/named.ca是根區域解析庫文件/var/named/named.localhost, /var/named/named.loopback 是本機和環回地址的解析庫文件rndc---remote name domain controller這是一個輔助管理工具,默認情況下與BIND安裝在同一主機,而且只能通過127.0.0.1連接named進程,監聽的端口號是TCP/953。

 

2. 主服務器配置

修改配置文件/etc/name.conf

這個配置文件主要分3段內容,options是全局配置,logging是日志配置,最后是區域解析庫配置以及所包含的區域解析庫文件配置。

 

allow-transfer 后面跟的是從服務器的IP。

 

設置正向解析和反向解析:/etc/named.rfc1912.zones

 

# named-checkconf
沒有任何輸出表示 /etc/named.conf沒有語法錯誤

 

在/var/named目錄下創建changtian.zone正向解析庫文件和changtian-v.zone反向解析庫文件(可以用named.localhost做模板復制一份改就行了)

正向解析:

反向解析:

注意: NS后面此時一定要將@換成域名changtian.com.域名必須寫完整的域名,帶根域的

 

正向解析測試zone:named-checkzone "changtian" changtian.zone,出現ok 就沒問題

反向解析測試zone: named-checkzone "150.168.192.in-addr.arpa" changtian-v.zone 

備注說明:區域解析庫文件第一個記錄必須是SOA記錄,必須有NS記錄並且正解區域要有NS記錄的A記錄,反解則不需要有NS記錄對應的A記錄。

$TTL表示宏定義,TTL(Time- To-Live),dns記錄在本地DNS服務器上保留的時間

@符號可代表區域文件/etc/named.conf里面定義的區域名稱,即:"hanli.com."。

2018030422 ;標識序列號,十進制數字,不能超過10位,通常使用日期

2H ;刷新時間,即每隔多久到主服務器檢查一次,此處為2小時,實驗環境可以設置小一點

4M ;重試時間,應該小於刷新時間,此處為4分鍾,實驗環境可以設置小一點

1D ;過期時間,此處為1天

2D ;主服務器掛后,從服務器至多工作的時間,此處為2天)

這個文件里所有的域名結尾的點號一定不能省略。

區域解析庫文件是放在/var/named目錄下,由named進程是以named用戶運行,因此區域解析庫文件的屬組應設置為named。

 

  • 反向解析數據文件里面只有SOA、NS、PTR資源記錄,所有A記錄都要改為PTR記錄,名稱為IP地址,IP地址可以寫全也可以簡寫,如果寫全則是IP地址反寫加上.in-addr.arpa.例如:150.168.192.in-addr.arpa. PTR資源記錄的值為域名。

 

  • 注意:查看權限:目錄下文件,屬組應為named用戶(區域解析庫文件是放在/var/named目錄下,由named進程是以named用戶運行,因此區域解析庫文件的屬組應設置為named)

驗證:

重啟服務:service named restart

dig -t A www.changtian.com @192.168.150.128

 

 3. 從服務器配置(192.168.150.129)

安裝完bind后配置/etc/named.conf

更改監聽IP:

然后vim  /etc/named.rfc1912.zones

slaves文件夾下面的兩個文件無需創建,重啟服務后會從主服務器里同步過來;

 

重啟服務:service named restart

看日志:tail -f /var/log/message

日志顯示成功且/var/named/slaves/存在兩文件(changtian.zone、changtian-v.zone)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM