配置DNS主從實驗

DNS服務介紹
DNS:Domain Name System 應用層協議,工作在C/S,53/udp, 53/tcp,用於實現把域名ip或ip解析成域名的一個服務。
在linux上通常利用BIND:Bekerley Internat Name Domain來實現DNS服務,DIND是ISC (www.isc.org)的一個項目。
我們還可以通常本地名稱解析配置文件:hosts,linux上的文件位置:是/etc/hosts,windows的文件位置是:%WINDIR%/system32/drivers/etc/hosts
hosts文件內容例:
123.122.10.117.2 www.magedu.com
93.46.8.89 www.google.com

DNS域名:
有根域,一級域名(com,edu,mil,gov,net,org...)有三類、組織域、國家域、反向域,二級域名,最多有127級域名,由ICANN(The Internet Corporation for Assigned Names and Numbers)互聯網名稱與數字地址分配機構,負責在全球範圍內對互聯網通用頂級域名(gTLD)以及國家和地區頂級域名(ccTLD)系統的管理、以及根服務器系統
的管理。
配置DNS主從實驗
DNS查詢類型:
遞歸查詢:把查詢請求發送出去,只返回查詢結果,例如我們設置dns上網一樣
迭代查詢:例如查詢www.baidu.com,先查詢根域,再查詢com域,再查詢com域中的baidu.com域,再返回www.baidu.com對應的ip地址
名稱服務器:域內負責解析本域內的名稱的主機
根服務器:13組服務器
解析類型:
FQDN --> IP
IP --> FQDN
注意:正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹,FQDN:(Fully Qualified Domain Name)全限定域名

下面我們再來了解一個DNS服務器類型
DNS服務器的類型:主DNS服務器,從DNS服務器,緩存DNS服務器(轉發器)
主DNS服務器:管理和維護所負責解析的域內解析庫的服務器
從DNS服務器:從主服務器或從服務器“複製”(區域傳輸)解析庫副本
序列號:解析庫版本號,主服務器解析庫變化時,其序列遞增
刷新時間間隔:從服務器從主服務器請求同步解析的時間間隔
重試時間間隔:從服務器請求同步失敗時,再次嘗試時間間隔
過期時長:從服務器聯繫不到主服務器時,多久後停止服務
“通知”機制:主服務器解析庫發生變化時,會主動通知從服務器
區域傳輸:完全傳輸:傳送整個解析庫,增量傳輸:傳遞解析庫變化的那部分內容
一次完整的查詢請求經過的流程:
Client -->hosts文件 -->DNS Service Local Cache --> DNS Server(recursion) --> Server Cache --> iteration(迭代) --> 根--> 頂級域名DNS-->二級域名DNS…
解析答案:
肯定答案:返回的答案
否定答案:請求的條目不存在等原因導致無法返回結果
權威答案:主域名服務器,負責維護一個區域的所有域名信息,是特定的所有信息的權威信息源,數據可以修改。
非權威答案:通常由緩存服務器給出的間接信息
資源記錄
區域解析庫:由衆多RR組成:
資源記錄: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,郵件交換器
TXT:對域名進行標識和說明的一種方式,一般做驗證記錄時會使用此項,如:
SPF(反垃圾郵件)記錄,https驗證等
示例:_dnsauth TXT 2012011200000051qgs69bwoh4h6nht4n1h0lr038x

資源記錄定義的格式:
語法:name [TTL] IN rr_type value
注意:
(1) TTL可從全局繼承
(2) @可用於引用當前區域的名字
(3) 同一個名字可以通過多條記錄定義多個不同的值;此時DNS服務器會以輪詢
方式響應
(4) 同一個值也可能有多個不同的定義名字;通過多個不同的名字指向同一個值
進行定義;此僅表示通過多個不同的名字可以找到同一個主機

配置緩存DNS服務器:
安裝DNS服務器軟件 :bind,可以利用yum安裝
BIND程序名:named
service named start
查看是否監聽53/udp端口
配置DNS主從實驗
主配置文件/etc/named.conf:
全局配置:options {};
日誌子系統配置:logging {};
區域定義:本機能夠爲哪些zone進行解析,就要定義哪些zone
zone "ZONE_NAME" IN {};
注意:任何服務程序如果期望其能夠通過網絡被其它主機訪問,至少應該監聽在一個能與外部主機通信的IP地址上
緩存名稱服務器的配置:監聽外部地址即可
dnssec: 建議關閉dnssec,設爲no
options {
// listen-on port 53 { 127.0.0.1; }; //註釋
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };//這裏修改成any
recursion yes;
dnssec-enable no;
dnssec-validation no;
/ Path to ISC DLV key /
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};

接下來,我們可以通過named-checkconf
rndc reload
配置DNS主從實驗
這樣就是一個緩存DNS服務器了
配置主區域DNS服務器:
vim /etc/named.rfc1912.zones
配置DNS主從實驗
vim /var/named/zcs.com.zone
配置DNS主從實驗
注意:這裏面的/var/named/zcs.com.zone權限一定要屬主root,屬組named,且權限爲640
配置DNS主從實驗
我們還需要通過named-checkzone zcs.com /var/named/zcs.com.zone 來對區域文件進行檢驗
配置DNS主從實驗
配置DNS主從實驗
最後通過dig -t A www.zcs.com @192.168.0.30來進行校驗
配置DNS主從實驗

配置從DNS服務器
在主區域文件中添加DNS服務器
配置DNS主從實驗
修改/etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; //註釋
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-transfer {none;};
allow-query { any; };//這裏修改成any
recursion yes;
dnssec-enable no;
dnssec-validation no;
/ Path to ISC DLV key /
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
主區域文件/etc/namd.conf中options{}添加allow-transfer {192.168.0.40;};
vim /etc/named.rfc1912.zones
配置DNS主從實驗
rndc reload
如果防火牆未關閉,則關閉防火牆,或者添加tcp/53的策略
成功可以看到/var/named下接收到了正向區域的區域文件
![](https://s1.51cto.com/images/blog/201904/23/493efa024d92d9d1d36e650c0378f273.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk
配置DNS主從實驗
配置主從反向區域DNS服務器
#vim /etc/named.rfc1912.zones
配置DNS主從實驗
修改/etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; //註釋
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-transfer {none;};
allow-query { any; };//這裏修改成any
recursion yes;
dnssec-enable no;
dnssec-validation no;
/ Path to ISC DLV key /
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
#vim /var/named/192.168.0.zone
配置DNS主從實驗
注意權限:
配置DNS主從實驗
在從DNS服務器上配置]#vim /etc/named.rfc1912.zones
配置DNS主從實驗
rndc reload
驗證#dig -t ptr 50.0.168.192.in-addr.arpa @192.168.0.30或dig -x 192.168.0.50 @192.168.0.30
配置DNS主從實驗

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章