實驗四
一、基於view的智能化DNS服務器
1、cd /var/named/chroot/etc/進入目錄,修改配置文件
vi named.rfc1912.zones
刪除test.com域的配置以及所有範例
添加兩個訪問列表文件
include "/etc/north.cfg";
include "/etc/south.cfg";
配置如圖:
2、 切換到/var/named/chroot/etc/目錄,添加並編輯north.cfg,south.cfg這兩個文件。
(1)vi north.cfg
acl語句專門聲明訪問控制列表
(2)vi south.cfg
3、vi named.rfc1912.zones
添加view south配置
view "south" {
zone "." IN {
type hint;
file "named.ca";
};
zone "afu.com" IN {
type master;
file "south/afu.com.zone";
//allow-transfer { 192.168.1.180; };
};
我們現在不需要同步,所以//註釋掉
allow-transfer { 192.168.1.180; };這行
添加view north配置
view "north" {
zone "." IN {
type hint;
file "named.ca";
};
zone "afu.com" IN {
type master;
file "north/afu.com.zone";
//allow-transfer { 172.16.252.206; };
};
添加view other
view "other" {
match-clients { any; };
zone "." IN {
type hint;
file "named.ca";
};
zone "afu.com" IN {
type master
file "other/afu.com.zone";
};
match-clients 這個語句專門用來聲明什麼用戶符合這個域的
配置如圖
現在bind的配置部分已經完成
3、接下來配置zone文件部分
cd /var/named/chroot/var/named/
創建目錄
mkdir south north other
4、修改權限
5、將afu.com.zone文件分別拷貝到south/,north/,other/目錄下
6、進入south/,編輯afu.com.zone
修改如下
7、
配置如圖
改成192.168.1.161區別標識
8、
配置如圖
改成192.168.1.162區別標識
9、修改權限
10、重啓bind服務
11、檢測
vi /etc/resolv.conf 確保nameserver改爲本機IP
nslookup
12、切換到另外一臺設備
vi /etc/resolv.conf 確保nameserver使用我們配置的DNS服務
器192.168.1.150
執行nslookup
二、view中主從同步
因爲從服務器只有一個ip,所以只能取到主服務器中的一個view文件中的信息。所以在從服務器上再添加一個虛擬ip。
1、首先slave服務器需要有兩個IP地址
執行ifconfig eth0:0 172.16.252.230 netmask 255.255.255.0
添加一塊虛擬網卡
2、使用ping命令測試是否連通
現在的配置重啓後失效,如果持續生效,將ifconfig eth0:0 192.168.1.130 netmask 255.255.255.0命令添加
/etc/rc.d/rc.local文件中。
現在slave服務器已經有兩個IP地址
3、
原理:
1)改寫slave的配置文件,寫成view的形式;
2)slave明確使用哪個IP地址取得的信息放在哪個view中;
3)master明確IP地址分別屬於哪一個view,並且明確配置出來。
4、首先配置master
vi named.rfc1912.zones
slave機上有192.168.1.130和192.168.1.180這兩個IP地
址;我們設置130獲取south的view,180獲取north的view;
然後編輯:
match-clients { south; 192.168.1.180; !192.168.1.130; };
由於south控制列表中指定的IP是192.168.1.180,所以這裏可
以省略
match-clients { north; 192.168.1.130; !192.168.1.180; };
最終配置如圖
現在master端設置完成;
現在mater配置完成。
5、slave配置
1)編輯named.rfc1912.zones文件
可以使用scp(ssh管道複製)命令從192.168.1.150遠程複製到本機
scp 192.168.1.150:/var/named/chroot/etc/named.rfc1912.zones
./
同時將控制列表文件複製到slave
2)查看文件權限,因爲other有r的權限,所以可以不用修改文件權限。
3)然後再編輯named.rfc1912.zones文件
將type類型改爲slave;
指定slave通過哪個IP地址獲取view;
在south域中輸入
transfer-source 192.168.1.180;
指定salve服務器通過192.168.1.180(這個地址是slave機的兩個IP地址之一)這個IP地址獲取master服務器上的zone文件,並且將取得的數據保存在該域內。
在north域中輸入
transfer-source 192.168.1.130;
並添加
masters { 192.168.1.150; };
配置如圖
6)創建north,south,other目錄,並修改權限
由於創建的權限是755,我們的slave機需要往配置目錄寫入數據,所以將擁有者改爲named
7、進入/var/named/chroot/var/named/north/目錄下,現在查看爲
空;
重啓服務,查看已經獲取到的文件
如果沒有獲取到文件,查看iptables和selinux的設置。
8、安全設定
master中的named.efc1912.zone文件通過
allow-transfer { 192.168.1.180; };語句控制哪一臺
機器可以同步master;
slave中named.efc1912.zone文件是通過
allow-update { 192.168.1.150; };指定哪一臺master
服務器來更新這臺slave。
9、如果在做緩存DNS服務器時,一般再加一條參數來保證取得相應域名的解析結果。
recursion 配置當前的DNS服務器是否做遞歸查詢,