繼NTP時間服務器后,繼續搭建DNS服務,鑒於昨晚撰寫時間超過預期,這次改變策略,先把自己需要用到的部分寫出來(主要是基於RAC的搭建,只涉及正向和反向DNS解析),后面再添加必要的說明和闡述。
試驗環境:
1. Red Hat 6.3
2. IP 192.168.1.128
3. 欲搭建的域名 being.com
一、安裝DNS軟件
[root@hello ~]# yum install bind* -y
二、修改配置文件
[root@hello ~]# vim /etc/named.conf
options { listen-on port 53 { 127.0.0.1; }; -->>將127.0.0.1改為any,代表所有主機可以對本機的DNS服務進行查詢 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; }; -->>將localhost改為any,指定誰可以對我的DNS服務進行查詢 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"; }; include "/etc/named.rfc1912.zones"; -->>include代表該文件是子配置文件 include "/etc/named.root.key";
三、將需要添加的域的信息寫在子配置文件里 -->>記錄域和域相對應的數據文件在哪里
[root@hello ~]# vim /etc/named.rfc1912.zones -->>添加到最后
zone "being.com" IN { type master; file "data/master.being.com.zone"; };
四、建立數據文件 -->>記錄域名與IP的對應
[root@hello ~]# vim /var/named/data/master.being.com.zone -->>注意,這個文件名必須和上面子配置文件中的信息相同
$TTL 3600 @ IN SOA dns1 victor.mail ( 20140324 30 60 90 3600 ) @ IN NS 192.168.1.128. -->>注意這里有個點 node1 IN A 1.1.1.1 node2 IN A 2.2.2.2
在這里,因為不是做主從DNS,SOA后面的七個參數可以隨便寫,具體解釋見下文。
其中:NS代表Name Server,A(即Address)代表后面的IP是IPv4
node1指的是主機名,倘若后面加上域名,則后面必須加個點,即node1.being.com. IN A 1.1.1.1
五、重啟服務,進行測試
[root@hello ~]# /etc/init.d/named restart
[root@hello ~]# nslookup node1.being.com
Server: 192.168.1.128
Address: 192.168.1.128#53
Name: node1.being.com
Address: 2.2.2.2
正向DNS解析OK!
現在開始搭建反向DNS解析
一、在子配置文件中添加反向解析數據文件的信息
[root@hello ~]# vim /etc/named.rfc1912.zones
zone "1.168.192.in-addr.arpa" IN { type master; file "data/master.1.168.192.in-addr.arpa.zone"; };
二、 建立數據文件
[root@hello ~]# vim /var/named/data/master.1.168.192.in-addr.arpa.zone
$TTL 86400 @ IN SOA hello world ( 20140312 30 40 50 86400 ) IN NS 192.168.1.128. 11 IN PTR hello.world.com.
三、重啟服務,進行測試
[root@hello ~]# /etc/init.d/named restart
[root@hello ~]# nslookup 192.168.1.11
Server: 192.168.1.128
Address: 192.168.1.128#53
11.1.168.192.in-addr.arpa name = hello.world.com.
至此,反向解析OK!
正向解析和反向解析基本OK,后面的主要是DNS其它應用的補充及相關參數的說明。
$TTL 3600 @ IN SOA dns1 victor.mail ( 20140324 30 60 90 3600 ) @ IN NS 192.168.1.128. node1 IN A 1.1.1.1 node2 IN A 2.2.2.2 hello.being.com. IN CNAME node3.being.com. node3.being.com. IN A 3.3.3.3
1. 所有設定數據一定要從行首開始,前面不可有空格符。若有空格符,代表延續前一個domain的意思
2. @代表zone的意思,在本例中,即代表being.com
3. "hello.being.com."后面的點代表一個完整主機名,即hostname.domain。如果沒有這個點,則僅代表hostname
4. CNAME代表別名
5. TTL是time to live的縮寫,即當這筆記錄被其它DNS服務器查詢到后,保存在這些服務器中的時間,單位秒
6. SOA是Start Of Authority(開始驗證)的意思,與域有關,后面共會接7個參數,這7個參數的意義依次是:
1> Master DNS 服務器主機名,即在這個域中哪個DNS作為主服務器,在本例中,即dns1.being.com
2> 管理員的Email。即出現問題可給管理員發郵件。在本例中,是victor@mail.being.com
3> 序號。這個序號代表這個數據庫檔案的陳舊,序號越大,代表越新。當slave要判斷是否主動下載新的數據庫時,就以序號是否比slave上的還有新來判斷
4> 更新頻率(Refresh)。即slave向master要求數據更新的頻率
5> 失敗重新嘗試時間(Retry)。如果因為某些因素,導致slave無法對master達成聯機,那么在多久的時間內,slave會嘗試重新聯機到master
6> 失效時間(Expire)。如果一直失敗嘗試時間,持續聯機到達這個設定值時限,那么slave將不再繼續嘗試聯機
7> 快取時間(Minimum TTL)。如果在這個數據庫zone file中,每筆記錄都沒有顯性設定TTL快取時間的話,那么就以這個值為主