1. 程式人生 > >linux中如何更新叢集的dns資訊檔案

linux中如何更新叢集的dns資訊檔案

此實驗是在上一篇部落格的叢集功能成功實現後的基礎上進行的

修改主機名

將desktop主機修改為dns-master

hostnamectl set-hostname dns-master

將server主機修改為dns-slave

hostnamectl set-hostname dns-slave

分為兩種

1.master向slave更新配置

在dns-master中手動修改配置檔案

vim /etc/named/nelws.rfc1912.zones                ##如下圖,新增test域名

此時重啟named服務,不會對dns-master上的dns檔案資訊更新,這時候就需要注意到上圖中的serial了

serial最高可以十位數,一般格式為年-月-日-次數,例如2018112000,這表示2018年11月20號第0次修改,也就是說這個配置檔案一天之內可以修改99次,而我們又不會頻繁的更改dns,所以這99次時肯定夠用的

這裡只更改serial為1來進行實驗

更改後重啟服務

測試dns-master

測試dns-slave

總結:此種由master向slave的更新方法,只需要更改serial的值,然後重新啟動named服務,若dns-slave沒有收到更新,可以檢查一下防火牆,一般是火牆開著,阻斷了更新

2.slave向master更新配置

nsupdate
>server 172.25.254.155                  ##要更新的主機
>update delete test.nelws.com           ##delete為刪除,若新增為 add + 域名 + 重新載入的時間(s為單位) + A +ip
>send

被拒絕了,這時候需要在dns-master修改配置,然後重新啟動named服務

再次進行更新測試

服務失敗,是因為我的selinux處於開啟的狀態

getsebool -a |grep named                    ##檢視named相關的selinux預設設定
setsebool -P named_write_master_zones on    ##開啟對master的dns檔案的寫入開關

再次測試更新,依舊失敗

檢視dns-master的網路配置

這個問題之前出現過,按照之前的辦法解決即可,如圖,新增那個配置檔案最後一行的內容

重啟dns-master的網路,發現還是不行,檢視報錯如下

是dns-master的許可權不夠,故

chmod 770 /var/named

重新測試

ok了~

但是這種方式比較不安全,因為任何一個人都可以將ip改為172.25.254.156,來進行一個dns資料解析的更新,會給一些不法分子有機可乘,故引申出來了第三種方法

3.加密的形式

對於dns-master

dnssec-keygen -a HMAC-MD5 -b 128 -n HOST nelwskey    
##a是加密的型別,b是加密的位元組長度,N是主機,需要注意的是這個命令執行的時候時在那個資料夾,生成的公私鑰就在哪個資料夾

如上圖,我是在mnt目錄執行的該命令,所以公私鑰時在mnt下的,因為是對稱加密,所以公鑰和私鑰的金鑰時一樣的。

cp- p /etc/rndc.key /etc/nelws.key      
vim  /etc/nelws.key                               ##裡面的內容修改如下圖

vim /etc/named.conf                ##在第44行新增下圖內容

vim /etc/named.rfc1912.zones           ##將第28行改為下圖內容

systemctl restart named
scp /mnt/Knelws.* [email protected]:/mnt/              ##將公鑰和私鑰給dns-slave

在dns-slave測試

發現錯誤,時間沒有同步,於是將dns-master和dns-slave的時間給為統一時間,再次測試,ok!

bingo~