項目一:域名系統集成
( Domain Name System Integration )
1.1 搭建緩存服務器
1.2 搭建正向服務器
1.3 搭建主從DNS服務器
1.4 利用TSIG數字簽名技術加固DNS服務
1.5 子域授權
1.6 轉發服務器
1.7 利用rndc遠程控制DNS
第一階段
項目內容:
搭建最基本的正向解析DNS服務器,滿足最基本的DNS服務器配置
項目目的:
第一階段的目的就是讓你首先了解DNS server的目錄結構和配置文件最基本配置,瞭解如何聲明一個自己的域,以及瞭解與文件的書寫格式。爲後面配置更多功能的DNS服務器做好準備工作
步驟:
1、 安裝必要軟件
[root@Dns_master /]# yum install bind bind-chroot caching-nameserver –y
….
Installed:
bind.i386 30:9.3.6-4.P1.el5_4.2
bind-chroot.i386 30:9.3.6-4.P1.el5_4.2
caching-nameserver.i386 30:9.3.6-4.P1.el5_4.2
2、 配置
1)修改主配置文件
[root@Dns_master /]# cd /var/named/chroot/
[root@Dns_master chroot]# pwd
/var/named/chroot
[root@Dns_master chroot]# ls
dev etc var
[root@Dns_master chroot]# cd etc/
[root@Dns_master etc]# ls
localtime named.caching-nameserver.conf named.rfc1912.zones rndc.key
[root@Dns_master etc]# vi named.caching-nameserver.conf
爲了簡化配置,將下面幾項改成any
# grep "any" named.caching-nameserver.conf
listen-on port 53 { any; }; #監聽端口
allow-query { any; }; #查詢地址
match-clients { any; }; #客戶端
match-destinations { any; }; #查詢目的地址
2)聲明一個域
[root@Dns_master etc]# pwd
/var/named/chroot/etc
[root@Dns_master etc]# ls
localtime named.caching-nameserver.conf named.rfc1912.zones rndc.key
[root@Dns_master etc]# vi named.rfc1912.zones
[root@Dns_master etc]# tail -5 named.rfc1912.zones
zone "Skylinux.com" IN {
type master;
file "Skylinux.com.zone";
allow-update { none; };
};
[root@Dns_master etc]#
3)建立對應的正解區域文件
[root@Dns_master etc]# cd ../var/named/
[root@Dns_master named]# pwd
/var/named/chroot/var/named
[root@Dns_master named]# ls
data localhost.zone named.ca named.local slaves
localdomain.zone named.broadcast named.ip6.local named.zero
[root@Dns_master named]#
[root@Dns_master named]# cat Skylinux.com.zone
$TTL 86400
@ IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS dns.Skylinux.com.
www IN A 192.168.1.100
[root@Dns_master named]#
4)修改區域文件的權限
[root@Dns_master named]# chown :named Skylinux.com.zone
5)檢查配置文件語法
[root@Dns_master named]# named-checkconf ###檢測配置文件是否有語法錯誤
[root@Dns_master named]# named-checkzone Skylinux.com Skylinux.com.zone
zone Skylinux/IN: loaded serial 42
OK
[root@Dns_master named]#
3、重新啓動named服務
[root@Dns_master named]# service named restart
停止 named: [確定]
啓動 named: [確定]
[root@Dns_master named]#
4、測試
首先添加DNS服務器記錄
[root@Dns_master named]# vim /etc/resolv.conf
[root@Dns_master named]# cat /etc/resolv.conf
nameserver 192.168.1.100
[root@Dns_master named]#
[root@Dns_master named]# host www.Skylinux.com
www.Skylinux.com has address 192.168.1.100
[root@Dns_master named]# ping www.Skylinux.com
PING www.Skylinux.com (192.168.1.100) 56(84) bytes of data.
64 bytes from Dns_master (192.168.1.100): icmp_seq=1 ttl=64 time=0.017 ms
64 bytes from Dns_master (192.168.1.100): icmp_seq=2 ttl=64 time=0.013 ms
說明搭建成功。
第二階段
項目內容:搭建主從正向DNS服務器,也叫主輔DNS服務器,就是slave可以爲master分擔請求。
項目目的:
第一、從服務器分擔主服務器的查詢請求。
第二、可以多地域多運營商部署N臺從服務器,讓更多的用戶查詢請求能夠更快的響應。
第三、主服務器掛了,從服務器一樣可以正常響應DNS查詢請求。
項目環境:
主機(master)ip:192.168.1.100/24
從機(slave)ip:1921.68.1.103/24
步驟:
1、 在主機和從機都安裝必備軟件
# yum install bind bind-chroot caching-nameserver –y
並將主配置文件的幾個地方改成any
2、 配置
1) Master端配置
修改域聲明配置文件
[root@Dns_master etc]# pwd
/var/named/chroot/etc
[root@Dns_master etc]# ls
localtime named.caching-nameserver.conf named.rfc1912.zones rndc.key
[root@Dns_master etc]# vi named.rfc1912.zones
[root@Dns_master etc]# tail -5 named.rfc1912.zones
type master;
file "Skylinux.com.zone";
allow-transfer{192.168.1.103};
notify yes;
};
[root@Dns_master etc]#
修改Master的zone文件加入slave做NS
[root@Dns_master etc]# cd ../var/named/
[root@Dns_master named]# vi Skylinux.com.zone
[root@Dns_master named]# cat Skylinux.com.zone
$TTL 86400
@ IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS dns.Skylinux.com.
IN NS dns2.Skylinux.com.
IN A 192.168.1.100
IN A 192.168.1.103
[root@Dns_master named]#
注:如不修改則只能向從機傳遞zone文件 從機不會隨主機更新正解反解文件而更新
Slave端配置
[root@Dns_master named]# ssh 192.168.1.103
The authenticity of host '192.168.1.103 (192.168.1.103)' can't be established.
RSA key fingerprint is d3:ef:f8:d2:75:4c:86:9f:1e:b9:09:3e:96:19:b0:d8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.103' (RSA) to the list of known hosts.
[email protected]'s password:
Last login: Sun Sep 4 22:27:17 2011 from 192.168.100.203
[root@Dns_slave ~]#
修改域聲明文件
[root@Dns_slave etc]# pwd
/var/named/chroot/etc
[root@Dns_slave etc]# vi named.rfc1912.zones
[root@Dns_slave etc]# tail -6 named.rfc1912.zones
zone "Skylinux.com" IN {
type slave;
file "slaves/Skylinux.com.zone";
masters {192.168.1.100;};
};
[root@Dns_slave etc]#
[root@Dns_slave etc]#
3、測試
重新啓動主從兩臺服務器,zone文件會自動複製過去
[root@Dns_master named]# service named restart
停止 named: [確定]
啓動 named: [確定]
[root@Dns_master named]#
[root@Dns_slave etc]# service named restart
停止 named: [確定]
啓動 named: [確定]
[root@Dns_slave etc]#
[root@Dns_slave etc]# cd ../var/named/slaves/
[root@Dns_slave slaves]# ls
Skylinux.com.zone
[root@Dns_slave slaves]# pwd
/var/named/chroot/var/named/slaves
[root@Dns_slave slaves]#
[root@Dns_slave slaves]# cat Skylinux.com.zone
$ORIGIN .
$TTL 86400 ; 1 day
Skylinux.com IN SOA Skylinux.com. root.Skylinux.com. (
42 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS dns.Skylinux.com.
A 192.168.1.103
[root@Dns_slave slaves]#
再向主服務器中添加新的正反記錄並修改版本號,重新啓動master端後,slave端即可更新記錄。
[root@Dns_master named]# vi Skylinux.com.zone
[root@Dns_master named]# cat Skylinux.com.zone
$TTL 86400
@ IN SOA @ root (
43 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS dns.Skylinux.com.
IN A 192.168.1.103
www IN A 192.168.1.100
[root@Dns_master named]#
注:如果更新完Master之後,Slave端遲遲不更新是什麼原因呢?
原因一:更新記錄之後,沒有及時的更改版本號
原因二:服務器端域聲明文件中沒打開notify yes 選項,SOA中refresh 數值太大
原因三:以上問題都不存在,那可能就是master和slave兩臺服務器的系統時間不一致,兩臺機器的系統時間保持相差在2分鐘之內,否則也會造成更新慢或者不更新。