以百度百科中的DNS開篇:DNS 是域名系統 (Domain Name Service) 的縮寫,是因特網的一項核心服務,它作爲可以將域名和IP地址相互映射的一個分佈式數據庫,能夠使人更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。
提供DNS服務的軟件叫Bind,要搭建DNS服務首先得安裝Bind,將本地光盤掛載好並用其提供yum源,直接yum -y install bind,bind-utils和bind-libs一般系統自帶。
在主DNS Server[192.168.12.13]上的配置:
1. 主配置文件的修改:
[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信息:
用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測試,如果沒有報錯證明配置正確.
3.zone文件配置:
正向解析區域配置:
[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 "區域名稱" 區域配置文件[絕對路徑]
如: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服務已經搭建完成。