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~