DNS的分離解析,是指根據(jù)不同的客戶端提供不同的域名解析記錄。來自不同地址的客戶機請求解析同一域名時,為其提供不同的解析結(jié)果。也就是內(nèi)外網(wǎng)客戶請求訪問相同的域名時,能解析出不同的IP地址,實現(xiàn)負載均衡。
實驗環(huán)境:
DNS服務(wù)器:RedHat 6.5系統(tǒng)
外網(wǎng)IP地址是12.0.0.1
內(nèi)網(wǎng)IP地址是192.168.10.1
內(nèi)網(wǎng)客戶機:Windows 7系統(tǒng) IP地址是192.168.10.10
外網(wǎng)客戶機:Windows 7系統(tǒng) IP地址是12.0.0.10
實驗前提:DNS服務(wù)器需要有雙網(wǎng)卡,安裝bind軟件
- 系統(tǒng)默認安裝一個網(wǎng)卡,再添加一個網(wǎng)卡,用ifconfig命令查看
-
添加外網(wǎng)eth1外網(wǎng)的網(wǎng)絡(luò)配置文件
[root@RedHat6-2 ~]# cd /etc/sysconfig/network-scripts/ [root@RedHat6-2 network-scripts]# cp ifcfg-eth0 ifcfg-eth1 [root@RedHat6-2 network-scripts]# vim ifcfg-eth1
DEVICE=eth1 #設(shè)備名稱eth1
HWADDR=00:0C:29:AD:B6:15 #eth1的MAC地址
TYPE=Ethernet
ONBOOT=yes #激活網(wǎng)絡(luò)接口
NM_CONTROLLED=yes
BOOTPROTO=static #靜態(tài)配置IP
IPADDR=12.0.0.1 #網(wǎng)絡(luò)IP地址
NETMASK=255.255.255.0 #網(wǎng)絡(luò)子網(wǎng)掩碼 - 重啟網(wǎng)絡(luò)服務(wù)
service network restart
- ifconfig命令查看內(nèi)外網(wǎng)IP的設(shè)置
- Yum安裝bind軟件
yum install bind -y
實驗步驟:
第1步: 修改bind服務(wù)程序的主配置文件(/etc/named.conf)
將監(jiān)聽端口和允許查詢主機參數(shù)設(shè)置為any。由于配置的DNS分離解析的實現(xiàn)方法詳解功能與DNS根服務(wù)器配置參數(shù)有沖突,需要將根域信息刪除。
vim /etc/named.conf #編輯主配置文件
options {
listen-on port 53 { any; };
#設(shè)置監(jiān)聽的地址和端口
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 { any; };
#允許使用DNS服務(wù)的地址
recursion yes;
–
zone “.” IN {
#刪除根域信息
type hint;
file “named.ca”;
};
第2步:編輯區(qū)域配置文件(/etc/named.rfc1912.zone)
- 由于區(qū)域配置文件是為不同的客戶機地址啟用不同的zone區(qū)域設(shè)置,各自使用獨立的數(shù)據(jù)文件,所以要把配置文件中原有的數(shù)據(jù)清空。
- 主要使用“view”配置語句和“machine-clients”配置選項,根據(jù)不同的客戶端地址對“benet.com”域的查詢對應(yīng)到不同的數(shù)據(jù)文件,從而得到不同的解析結(jié)果。
view /etc/named.rfc1912.zone #編輯區(qū)域配置文件
view “lan” {
#設(shè)置面向內(nèi)網(wǎng)用戶的視圖
match-clients { 192.168.10.0/24; }; #匹配條件為內(nèi)網(wǎng)的客戶端地址
zone “benet.com” IN {
type master;
file “benet.com.zone.lan”; #指定面向內(nèi)網(wǎng)用戶的數(shù)據(jù)配置文件
};
zone “.” IN {
type hint;
file “named.ca”; #指向根域數(shù)據(jù)文件
};
};
view “wan” {
#設(shè)置面向外網(wǎng)用戶的視圖
match-clients { any; }; #匹配條件為“any”任意地址
zone “benet.com” IN {
type master;
file “benet.com.zone.wan”; #指定面向外網(wǎng)用戶的數(shù)據(jù)配置文件
};
};
第3步:建立區(qū)域數(shù)據(jù)配置文件(/var/named)
分別通過模板文件創(chuàng)建出兩個不同的區(qū)域數(shù)據(jù)文件,對應(yīng)內(nèi)外網(wǎng)的客戶端域名請求,名稱應(yīng)與上面的區(qū)域配置文件指定的名稱一致。
cd /var/named #切換目錄 cp -p named.localhost benet.com.zone.lan #保留文件的屬性,建立內(nèi)網(wǎng)用戶數(shù)據(jù)文件 cp -p named.localhost benet.com.zone.wan #保留文件的屬性,建立外網(wǎng)用戶數(shù)據(jù)文件
vim /var/named/benet.com.zone.lan #編輯內(nèi)網(wǎng)用戶數(shù)據(jù)文件 $TTL 1D @ IN SOA benet.com. admin.benet.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS benet.com. A 192.168.10.1 #服務(wù)器內(nèi)網(wǎng)IP地址 www IN A 192.168.10.80 #內(nèi)網(wǎng)地址記錄(www.benet.com) mail IN A 192.168.10.25 #內(nèi)網(wǎng)地址記錄(mail.benet.com)
vim benet.com.zone.wan #編輯外網(wǎng)用戶數(shù)據(jù)文件 $TTL 1D @ IN SOA benet.com. admin.benet.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS benet.com. A 12.0.0.1 #服務(wù)器外網(wǎng)IP地址 www IN A 12.0.0.20 #外網(wǎng)地址記錄(www.benet.com) mail IN A 12.0.0.45 #外網(wǎng)地址記錄(mail.benet.com)
第4步:啟動named服務(wù)
service named start
第5步:關(guān)掉防火墻
service iptables stop
第6步:驗證結(jié)果
內(nèi)網(wǎng)客戶機將DNS地址設(shè)置為服務(wù)器的內(nèi)網(wǎng)IP,外網(wǎng)客戶機將DNS地址設(shè)置為服務(wù)器的外網(wǎng)IP,然后使用nslookup命令解析域名。