以百度百科中的DNS開篇:DNS 是域名系統 (Domain Name Service) 的縮寫,是因特網的一項核心服務,它做爲能夠將域名和IP地址相互映射的一個分佈式數據庫,可以令人更方便的訪問互聯網,而不用去記住可以被機器直接讀取的IP數串。數據庫
提供DNS服務的軟件叫Bind,要搭建DNS服務首先得安裝Bind,將本地光盤掛載好並用其提供yum源,直接yum -y install bind,bind-utils和bind-libs通常系統自帶。vim
在主DNS Server[192.168.12.13]上的配置:緩存
1. 主配置文件的修改:bash
[root@Domain01 ~]# vim /etc/named.conf #DNS的主配置文件 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 { localhost; }; #用//註釋掉此行 recursion yes; 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"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
2.添加zone信息:dom
用vim打開/etc/named
.rfc1912.zones(也能夠直接在主配置文件添加,依我的喜愛),而後在後面添加本身zone信息,
分佈式
vim /etc/named.rfc1912.zones zone "anoldboy.com" IN { type master; file "anoldboy.com.zone"; allow-transfer { 192.168.12.14; }; #限制只有輔助DNS能夠同步區域文件 }; zone "12.168.192.in-addr.arpa" IN { type master; file "192.168.12.zone"; allow-transfer { 192.168.12.14; }; #限制只有輔助DNS能夠同步區域文件 };
建議配置完成後用:named-checkconf測試,若是沒有報錯證實配置正確. ide
3.zone文件配置: 測試
正向解析區域配置:
spa
[root@Domain01 ~]# vim /var/named/anoldboy.com.zone $TTL 600 #定義TTL @ IN SOA anoldboy.com. root.anoldboy.com. ( 2014022101;#serial number 2H; #刷新時間 2M; #無響應狀態等待時間 2D; #放棄解析時間 7D; #否認回答緩存時間 ) IN NS dns IN MX 10 mail #必定要記得加優先級 IN NS ns2 dns IN A 192.168.12.13 mail IN A 192.168.12.6 ns2 IN A 192.168.12.14 www IN A 192.168.12.3 ftp IN CNAME www
建議配置完成後用:named-checkzone "區域名稱" 區域配置文件[絕對路徑] debug
如:named-checkzone "anoldboy.com" /var/named/anoldboy.com.zone 進行測試,返回Ok則代表配置正確。
反向解析區域配置:
$TTL 600 @ IN SOA anoldboy.com. root.anoldboy.com. ( 2014022101; 2H; 2M; 2D; 7D; ) IN NS dns.anoldboy.com. #不可省略anoldboy.com. IN NS ns2.anoldboy.com. #不然系統會默認添加成 13 IN PTR dns.anoldboy.com. #12.168.192.in-addr.arpa 6 IN PTR mail.anoldboy.com. 14 IN PTR ns2.anoldboy.com. 3 IN PTR www.anoldboy.com. 3 IN PTR ftp.anoldboy.com. ~
建議配置完成後用:named-checkzone "區域名稱" 區域配置文件[絕對路徑]
如:named-checkzone "12.168.192.in-addr.arpa" /var/named/192.168.12.zone 進行測試,返回Ok則代表配置正確。
PS:全部的配置文件屬主爲root,屬組爲named。
4.啓動named服務,並將其加入開機啓動:
root@Domain01 ~]# service named start
[root@Domain01 ~]# chkconfig named on
第一次啓動時可能會卡在Generating /etc/rndc.key:上很長時間,因系統隨機數不夠致使,等待一會便可。
或者能夠執行:rndc-confgen -r /dev/urandom -a
而後再重啓DNS服務。
至此一個簡單的DNS服務已經搭建完成。