RHEL6.3下如何解決DNS主從複製與selinux的並存問題

DNS-BIND構建主從DNS服務器實現負載均衡和冗餘備html

                                  ------selinux與DNS並存linux

另外一個博客地址:www.rsyslog.org數據庫

相關理論解析:緩存

一、DNS的類型,master/slave架構;服務器

Master 這種類型的DNS的這個配置文件中,包括全部主機的主機名等相關信息,通常是咱們手動添加修改的,設置完以後咱們要重啓服務的才能讀取到master庫裏面的數據內容;通常咱們在作DNS的時候都是指定這樣的數據庫類型的,同時也要能保證把數據的內容提供給slave服務器,這個須要咱們設置下。在配置文件中。架構

Slave 這中類型的數據必需要有master纔可使用,通常狀況下都是一主一備的,一個master一個slvae,若是咱們都是有master那麼咱們須要添加修改的時候須要兩臺同時添加、修改、要是不當心修改錯誤,很尷尬的,若是咱們作成master/slave那麼咱們直接修改master便可。可是在這裏咱們牽扯到一個優先級的問題,不論是master仍是slave,要保證數據的內容徹底一致。負載均衡

二、 Master/slave數據的同步過程;ide

首先slave的數據是從master上來讀取的,可是master數據更新以後怎麼通知slave的呢?有兩種方式來告訴slave數據庫的。一種是master主動告知,在master修改數據內容以後,而且加大數據庫的序列號,而後重啓服務以後master會告知slave的。第二是slvae主動去找master,當發現master的數據和本身的不同的時候,slave會更新的。測試

一、 測試環境;大數據

clip_p_w_picpath002

Master Server: 192.168.100.102

Slave Server: 192.168.100.103

關於DNS基本搭建過程請參考http://www.rsyslog.org/p239.html

1、 構建主域名服務器

修改主域名服務器全局配置文件named.conf,在options中插入一行 allow-transfer { 192.168.100.103;};意思是容許192.168.100.103主機下載該區域的地址數據庫。

clip_p_w_picpath004

修改輔助配置文件,這個平時根據工做需求修改,通常不修改的,這裏爲了方便測試,能夠將有效地址解析記錄的默認緩存時間設置成5分鐘 將無效地址解析記錄(該數據庫中不存在的地址)默認緩存時間設置爲5分鐘

clip_p_w_picpath006

修改完成以後,重啓服務,主域名服務器也就配置完畢了。完了記得驗證下主域名服務器是否可以正常工做。這裏不作測試參考以上文檔。

clip_p_w_picpath008

2、 構建從域名服務器

從域名服務器做爲主域名服務器的冗餘備份,能夠與主域名服務器一塊兒,同時提供本域內主機名與IP地址的解析,從域名服務器的地址數據庫須要從主域名服務器中按期更新。

創建從域名服務器的輔助區域配置文件

clip_p_w_picpath010

將tpye 設置爲slave類型

正向區域和反向區域的名稱保持和主DNS的一致,不過文件路徑要放到/var/named/slaves下

加上主DNS的IP地址 masters { 192.168.100.102;};

clip_p_w_picpath012

默認狀況下,能夠看到從DNS slaves目錄下是沒有數據的。從新啓動named服務,發現裏面有了主DNS的區域數據庫信息。

clip_p_w_picpath014

clip_p_w_picpath016

clip_p_w_picpath018

咱們也能夠查看從域名服務器的日誌信息,發現有了不少從域名服務器從主域名服務器獲取區域數據庫的信息,實際上是根據 主域名服務器的序列號變動獲取的。到這裏從域名服務器搭建完成。

clip_p_w_picpath020

3、 測試從域名服務器是否可以提供DNS解析

修改PC機DNS爲從域名服務器IP地址

clip_p_w_picpath022

clip_p_w_picpath024

4、 下面咱們看看在selinux開啓enforcing模式的狀況下,從DNS是否可以正常工做。

經過實驗開啓的狀況下,從DNS是能夠工做的。這裏面存在個問題,若是從新建立個文件取代slaves,就不能夠正常工做了。以下

建立dnsslaves目錄替代slaves目錄,而後將權限設置的跟slaves同樣

clip_p_w_picpath026

修改從DNS的輔助區域配置文件,將正向反向區域數據庫地址指向 dnsslaves目錄

clip_p_w_picpath028

clip_p_w_picpath030

修改主DNS的輔助區域配置文件的序列號,官方通常要求加1便可,其實只要變化就好了。

clip_p_w_picpath032

啓動從DNS服務,發現 dnsslaves目錄下沒有數據,這是爲何呢。

clip_p_w_picpath034

查看日誌,發現是權限文件,咱們知道 dnsslaves的權限跟slaves是如出一轍的,哪問題確定出在selinux上了。

clip_p_w_picpath036

試着將selinux模式更改成permissive模式,從新啓動從DNS服務,發現dnsslaves目錄下有了主DNS的區域數據庫文件。能夠看出確實是selinux所致,那麼如何設置selinux,讓從DNS在selinux的enforcing模式下也能夠工做呢。

clip_p_w_picpath038

爲了測試先刪除剛纔生成的區域數據庫文件,而後經過 man named_selinux查看 named在selinux的配置文件,發現有一條跟輔助區域配置文件的目錄存放地址有關

clip_p_w_picpath040

clip_p_w_picpath042

能夠經過getsebool –a命令查看 這個參數是否開啓,模式是off的,經過以上提示開啓這個參數就能夠了。而後將selinux模式設置爲enforcing模式,從新啓動從DNS服務,發現dnsslaves目前下有了主區域配置文件信息。

clip_p_w_picpath044

若是你想了解更多有關selinux信息,請訪問 http://www.rsyslog.org/p239.html

相關文章
相關標籤/搜索