程式包bind,程式名named,服務dns
程式包:bind、bind-libs、bind-utils
服務腳本:/etc/init.d/named
主配置檔案:/etc/named.conf、/etc/named.rfc1912.zones、/etc/rndc.key
rfc1912網絡協定
rndc:remote name domain controller 衆多功能,遠端管理功能,預設隻能本地127.0.0.1管理,提供輔助性管理功能
預設工作在tcp953端口
解析庫檔案:/var/named/ZONE_NAME.ZONE 負責儲存本地區域的資料
a.NAME.COM b.NAME.COM c.NAME ...
~]# ls/var/named/
data dynamic named.ca named.empty named.localhost named.loopback slaves
named.ca 全球13個根節點名稱伺服器
named.localhost
named.loopback 本地回環
主配置檔案:
全局配置:options {}
日志子系統配置:logging {}
區域定義:本機能夠為哪些zone進行解析,就要定義哪些zone;
zone "ZONE_NAME" IN {}
~]# servicenamed start
Generating/etc/rndc.key: [确定]
啟動named: [确定]
~]# ss -tunlp |grep :53
udp UNCONN 0 0 127.0.0.1:53 *:* users:(("named",1183,512))
udp UNCONN 0 0 ::1:53 :::* users:(("named",1183,513))
tcp LISTEN 0 3 ::1:53 :::* users:(("named",1183,21))
tcp LISTEN 0 3 127.0.0.1:53 *:* users:(("named",1183,20))
pS:任何服務程式如果期望其能夠通過網絡被其它主機通路,至少應該監聽在一個能與外部主機通信的IP位址上;就可以作為緩沖dns
dnssec:防止dns被污染,建議測試時關閉
主dns伺服器
1、在住配置檔案定義區域/etc/named.rfc1912.zones
zone"ZONE_NAME" IN {
type {master|slave|hint根|forward轉發};
file"ZONE_NAME.zone";
};
2、定義區域解析庫檔案/etc/named/ZONE_NAME.zone
soa
宏定義
RR
$TTL86400
@ IN SOA ns1.test.com admin.test.com(
2017111111
1H
5M
7D
1D
//SOAEND THAN NS
IN NS ns1.test.com.
IN NS ns2.test.com.
ns1 IN A 1.1.1.1
ns2 IN A 2.2.2.2
www IN A 3.3.3.3
//NS END test.com可省略
檢查主配置檔案是否寫錯named-checkconf
檢查zone是否寫錯named-checkconf “ZONENAME” zone路徑
檢查服務狀态 rndc status
BIND的有用的網站:
<a href="http://www.isc.org/products/BIND/" target="_blank">http://www.isc.org/products/BIND/</a>
強烈推薦BIND9解壓目錄下的/doc/arm管理者手冊
其他第三方DNS伺服器軟體:
Oak DNS 用python寫的,和bind的區域檔案和cache相容,位址:
<a href="http://www.digitallumber.com/oak" target="_blank">http://www.digitallumber.com/oak</a>
PowerDNS 一個僅支援認證的DNS,http://www.powerdns.org/
MYDNS以mysql作為背景的認證DNS,http://mydns.bboy.net/
本文轉自echoroot 51CTO部落格,原文連結:http://blog.51cto.com/echoroot/1946475,如需轉載請自行聯系原作者