說明:這裏是Linux服務綜合搭建文章的一部分,本文能夠做爲單獨搭建主從DNS服務器的參考。html
注意:這裏全部的標題都是根據主要的文章(Linux基礎服務搭建綜合)的順序來作的。web
若是須要查看相關軟件版本和主機配置要求,請根據目錄自行查看。
Linux服務綜合搭建的文章目錄緩存
====================================================tomcat
二、部署DNStcp
五、foundation經過Rsyslog搭建集中日誌服務器3d
八、rhel7 JAVA web環境搭建(使用Tomcat8整合httpd)
十、foundation配置kerberos和NTP服務以及安全的NFS掛載
====================================================
遞歸查詢:客戶端只發送一次請求,就能從咱們配置的DNS服務器返回最終結果
迭代查詢:客戶端在發送請求後,咱們指定的DNS服務器只會返回一個參考答案
名稱服務器:域內負責解析本域內的名稱的主機;
根服務器:13組服務器
解析類型:
Name --> IP
IP --> Name
注意:正反向解析是兩個不一樣的名稱空間,是兩棵不一樣的解析樹;
反向解析在早期是很複雜的,難以實現,很是的慢,直到今天,互聯網上還有不少主機
只能正向解析(除開經過設置了只能正向的),可是反向解析又頗有用,好比在郵件服務判斷垃圾郵件時。
主DNS服務器
輔助DNS服務器
緩存DNS服務器
轉發器
主DNS服務器:維護所負責解析的域內解析庫服務器;解析庫由管理員維護;
從DNS服務器:從主DNS服務器或其它的從DNS服務器那裏「複製」(區域傳遞)一份解析庫;
序列號:解析庫的版本號;前提:主服務器解析庫內容發生變化,其序列遞增;
刷新時間間隔:從服務器從主服務器請求同步解析庫的時間間隔;
重試時間間隔:從服務器從主服務器請求同步解析庫失敗時,再次嘗試的時間間隔;
過時時長:從服務器始終聯繫不到主服務器時,多久多後放棄從服務器角度,中止提供服務;
"通知"機制:當主服務器發送通知給從服務器,即便刷新時間沒到,這樣可以保證從服務器儘可能不會很落後於主服務器
全量傳送:傳送整個解析庫
增量傳送:傳遞解析庫變化的那部份內容
資源記錄:Resource Record, RR #存儲在區域解析庫中的
記錄類型:A, AAAA, PTR, SOA, NS, CNAME, MX
SOA:Start Of Authority,起始受權記錄;一個區域解析庫有且僅能有一個SOA記錄,而必須爲解析庫的第一條記錄;
A:internet Address,做用,FQDN --> IP
AAAA: FQDN --> IPv6
PTR: PoinTeR,IP --> FQDN
NS: Name Server,專用於標明當前區域的DNS服務器
CNAME:Canonical Name,別名記錄
MX: Mail eXchanger,郵件交換器 #標識一個域中的哪一個服務器是郵件服務器
注意:這裏要作主從從DNS服務器,必須開啓tcp的53端口,
由於DNS在區域間傳輸時使用的是tcp的53端口,而不是日常咱們在使用時經常使用的udp的53端口。
1 yum install bind bind-libs bind-utils #安裝必要的軟件 2 3 systemctl enable named #開機自啓動
1 firewall-cmd --permanent --add-service=dns && firewall-cmd --reload
配置name服務開機自啓動
1 systemctl enable named #開機自啓動
定義容許同步的DNS服務器,默認是容許全部的,可是這樣不安全的。
zone "mei.com." IN { type master; file "mei.com.zone"; allow-transfer { trusted-servers; }; }; zone "25.172.in-addr.arpa." IN{ type master; file "172.25.zone"; allow-transfer { trusted-servers; }; };
1 [root@foundaiton:~]# named-checkconf /etc/named.conf
[root@foundaiton:~]# cat >>/var/named/mei.com.zone<<EOF $TTL 86400 $ORIGIN mei.com. @ IN SOA foundation.mei.com. admin.mei.com. ( 2019020201 1H 2W 2H 1H ) @ IN NS foundation.mei.com. @ IN NS rhel7.mei.com. foundation IN A 172.25.0.55 pakg IN A 172.25.0.55 rhel7 IN A 172.25.0.15 rhel6 IN A 172.25.0.25 www IN A 172.25.0.55 tomcat IN A 172.25.0.15 ftp IN CNAME www @ IN MX 10 admin admin IN A 172.25.0.55 EOF
[root@foundaiton:~]# cat >>/var/named/172.25.zone<<EOF $TTL 86400 $ORIGIN 25.172.in-addr.arpa. @ IN SOA foundation.mei.com. admin.mei.com. ( 2019020201 1H 2W 1H 1D ) @ IN NS rhel7.mei.com. @ IN NS foundation.mei.com. 25.0 IN PTR rhel6.mei.com. 55.0 IN PTR foundation.mei.com. 15.0 IN PTR rhel7.mei.com. 55.0 IN PTR www.mei.com. 55.0 IN PTR admin.mei.com. 15.0 IN PTR tomcat.mei.com. EOF
重啓服務
1 systemctl restart named
測試(在本機rhel7和rhel6上,注意,rhel6沒有nmcli命令)
nmcli命令
1 [root@rhel7 ~]#nmcli con modify interface ipv4.dns 172.25.0.55
修改配置文件
這裏只列貼部分圖片
注意:這裏做爲從DNS服務器,必須開啓tcp的53端口,由於DNS在區域間傳輸時使用的是tcp的53端口,而不是日常咱們在使用時經常使用的udp53端口。
從DNS服務器配置
先配置好yum源,可使用光盤鏡像或者其餘yum源,這裏使用光盤鏡像做爲yum源
安裝軟件包
配置named服務開機自啓
1 firewall-cmd --permanent --add-service=dns && firewall-cmd --reload #防火牆配置
啓動服務
注意:要立刻看到效果,在模擬前最好重啓此服務器,重啓後會很容易看到/var/named/slaves有同步過來的zone文件
若是安裝完後到配置結束都沒啓動過named服務,那麼只要配置正確,一啓動服務就能看到同步過來的zone文件。
下面是模擬區域傳輸
使用dig -t axfr
1 [root@rhel7 ~]# dig -t axfr mei.com
輸出結果以下:(部分)
關閉主DNS
而後測試從DNS服務器,能使用從服務器正確解析。
注意,這臺主機是rhel6,因此默認不能像rhel7那樣使用nmcli命令,它的DNS在網卡配置文件中的寫法能夠參考/etc/resolv.conf
或者直接修改/etc/resolv.con文件
測試(能正確解析)
最後但願你們提意見、轉發、評論和交流!!!