1、安裝dns服務器shell
使用bind源碼安裝-不贅述,參考bind文件下的readme文件數據庫
使用yum命令安裝:yum install bind bind-chroot;服務器
2、dns配置網絡
dns的主要配置文件/ets/named.conf;給文件主要用於dns服務器的權限控制,以及解析文件(數據庫文件)的制定,dns會經過named.conf文件找到你的解析配置文件(數據庫文件),以下:dom
options { listen-on port 53 { any; }; // 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; }; recursion yes; rrset-order { order cyclic; }; allow-transfer { none; }; //不容許別人進行zone轉移 dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "xxxx.com.cn" IN { type master; file "named.xxxx.com.cn"; }; zone "16.172.in-addr.arpa" IN { type master; file "named.172.16"; }; zone "0.27.172.in-addr.arpa" IN { type master; file "named.172.27.0"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
注意:在named.conf中,因爲解析時bind是從右往左解析,而ip地址的解析方式是從左往右解析,因此在編寫逆向解析zone時,ip地址需放過來寫,如:172.27.0寫zone時爲:0.27.172.in-addr.arpa;在zone內的file參數制定你的解析文件的位置,若是不加上絕對路徑,默認存放位置在/var/named/路徑下面。ide
3.切換目錄到/var/named測試
cd /var/named/
在/var/name目錄下新建你在zone裏指定的文件名(默認該目錄下有例文件如:named.ca。能夠複製重命名):spa
named.xxxx.com.cn,named.172.16,named.172.27.0
4.正反解析文件以下:debug
name.xxxx.com.cn日誌
$TTL 600 @ IN SOA dns.xxxx.com.cn. root.xxxx.com.cn. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS dns.xxxx.com.cn. dns.xxxx.com.cn. IN A 172.27.0.128 www.xxxx.com.cn. IN A 192.168.2.70 amms IN A 172.16.1.62 ;簡化寫法,dns會自動補全爲:amms.shandongair.com.cn
逆向解析文件:named.172.16
$TTL 600 @ IN SOA dns.xxxx.com.cn. songc.xxxx.com.cn. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS dns.xxxx.com.cn. 128.0.27.172.in-addr.arpa. IN PTR dns.xxxx.com.cn. 62.1 IN PTR amms.xxxx.com.cn.
經過上面文件named.xxxx.com.cn中,我採用了兩種域名方式,一種是全稱加上「.」,一種是隻是「hostname」;加了「.」表示這是一個完整的主機名(FQDN),即:「hostname+domain name」,若是沒有加「.」的話,表示該名稱僅爲「hostname」如:amms。在named.172.16中,因爲這是1個16位的網絡號,後面16位爲主機號,由於bind從右開始解析,因此寫主機號時,需顛倒順序,如:正常地址172.27.1.62,在反向解析文件中,需寫做:62.1;若是你的dns服務器地址與你的逆向解析地址不在同一個網絡號下,那麼,你的dns服務器ip地址逆向解析時就須要寫全稱,如:
128.0.27.172.in-addr.arpa. IN PTR dns.xxxx.com.cn.
5.named.172.27.0文件對以上配置沒有影響,就不貼出來了。配置完成後,重啓named服務,使用nslookup或者dig命令進行測試。(注意:在啓動named服務之後,需查看/var/log/messages日誌文件,查看你的配置是否正常,即便啓動正常,也不表明你的dns配置是正常的,因此必須查看日誌文件),在日誌文件裏可能遇到:permission deny,這是因爲你的配置文件全部者和組全部者與默認文件不一致,你的配置文件通常爲:root:root,而默認文件問root:named;所以需使用chown命令更改.