高源
摘 要:Linux系統(tǒng)中的很多網(wǎng)絡(luò)服務(wù)器,需要多臺(tái)主機(jī)組成的系統(tǒng)才能完成環(huán)境的搭建及結(jié)果的測(cè)試,這給傳統(tǒng)的實(shí)驗(yàn)環(huán)境帶來(lái)諸多不便,基于VMware的虛擬仿真系統(tǒng)可以解決這些問(wèn)題。本文從初學(xué)者的角度出發(fā),研究了如何使用VMware系統(tǒng),來(lái)構(gòu)建Linux下DNS主、輔服務(wù)器的實(shí)驗(yàn)平臺(tái),解決傳統(tǒng)實(shí)驗(yàn)環(huán)境面臨的問(wèn)題。
關(guān)鍵詞:VMware;Linux;DNS主服務(wù)器;DNS輔服務(wù)器
域名系統(tǒng)DNS是一種計(jì)算機(jī)域名解析的解決方案,它保存了域名和與之對(duì)應(yīng)的IP地址的對(duì)照表,以解析對(duì)應(yīng)的域名。域名服務(wù)器實(shí)際上就是安裝域名系統(tǒng)的主機(jī),它通過(guò)分布式數(shù)據(jù)庫(kù)支持域名系統(tǒng)并實(shí)現(xiàn)域名的解析。Linux系統(tǒng)下的DNS服務(wù)器使用的是美國(guó)加州大學(xué)伯克利分校開發(fā)和維護(hù)的Bind軟件,通過(guò)配置/etc和/named目錄中的一系列文件,實(shí)現(xiàn)域名解析。目前使用Bind軟件的DNS服務(wù)器約占所有DNS服務(wù)器的90%。
1 傳統(tǒng)的DNS服務(wù)器系統(tǒng)環(huán)境的弊端
Linux是一種自由和開放源碼的類Unix操作系統(tǒng),Linux系統(tǒng)以其穩(wěn)定性、安全性、免費(fèi)開源等特性在嵌入式系統(tǒng)及網(wǎng)絡(luò)服務(wù)器領(lǐng)域得到廣泛應(yīng)用。目前,各高校普遍開設(shè)了Linux課程,讓學(xué)生更好地掌握Linux相關(guān)知識(shí)和技能。但是Linux系統(tǒng)的很多服務(wù)器環(huán)境(DNS服務(wù)器、DHCP服務(wù)器、VNC服務(wù)器等),需要多臺(tái)服務(wù)器組成的系統(tǒng)才能完成實(shí)驗(yàn),給傳統(tǒng)的實(shí)驗(yàn)環(huán)境帶來(lái)諸多不便。
比如,DNS服務(wù)器系統(tǒng)的實(shí)現(xiàn)需要以下幾個(gè)服務(wù)器:
⑴根服務(wù)器:位于整個(gè)互聯(lián)網(wǎng)域名空間的最上層,在域名中通常用“.”來(lái)表示,負(fù)責(zé)管理全世界的根域和頂級(jí)域,全世界只有13臺(tái)。
⑵DNS主服務(wù)器:提供了互聯(lián)網(wǎng)域名查詢所需要的數(shù)據(jù)庫(kù)文件,它是域名系統(tǒng)中必不可少的服務(wù)器,對(duì)互聯(lián)網(wǎng)中域名數(shù)據(jù)的發(fā)布和查找起著非常重要的作用,對(duì)域中的域名擁有最高的權(quán)限,同時(shí)主服務(wù)器也實(shí)時(shí)完成和輔服務(wù)器的數(shù)據(jù)更新。
⑶DNS輔服務(wù)器:是對(duì)主DNS服務(wù)器的一種備份,它的域名數(shù)據(jù)庫(kù)文件來(lái)源于主服務(wù)器文件的拷貝,當(dāng)主服務(wù)器出現(xiàn)故障時(shí),客戶機(jī)通過(guò)輔助DNS服務(wù)器一樣可以進(jìn)行解析。當(dāng)DNS客戶較多的情況下,輔助DNS服務(wù)器可以為客戶機(jī)提供查詢功能,有效的減輕了主DNS服務(wù)器的負(fù)載。
其中的根服務(wù)器無(wú)需系統(tǒng)配置,可直接使用互聯(lián)網(wǎng)的根服務(wù)器。而完成該服務(wù)器系統(tǒng)至少需要3臺(tái)PC機(jī):DNS主服務(wù)器、DNS輔服務(wù)器以及測(cè)試用客戶計(jì)算機(jī)。這就要求配置服務(wù)器實(shí)驗(yàn)專用的網(wǎng)絡(luò)實(shí)驗(yàn)室,而且需要配置專門的硬件、軟件來(lái)支撐相應(yīng)的實(shí)驗(yàn)環(huán)境。學(xué)?;蚺嘤?xùn)機(jī)構(gòu)由于資金、場(chǎng)地及設(shè)施等原因,實(shí)驗(yàn)環(huán)境往往無(wú)法創(chuàng)建。
虛擬機(jī)VMware的出現(xiàn)解決了以上的問(wèn)題,通過(guò)VMware,系統(tǒng)管理員可以在一臺(tái)PC機(jī)上創(chuàng)建多個(gè)操作系統(tǒng),一臺(tái)PC機(jī)可以同時(shí)扮演服務(wù)器和客戶機(jī)多種角色,當(dāng)需要多個(gè)服務(wù)器系統(tǒng)時(shí),可以使用“克隆”功能,在一臺(tái)PC機(jī)上克隆出多個(gè)服務(wù)器。如果出現(xiàn)實(shí)驗(yàn)故障,影響的也只是虛擬系統(tǒng)本身,不會(huì)影響物理機(jī)的性能。
2 VMware下的DNS服務(wù)器虛擬仿真系統(tǒng)環(huán)境的搭建
⑴DNS服務(wù)器虛擬仿真系統(tǒng)實(shí)驗(yàn)環(huán)境由3臺(tái)虛擬機(jī)系統(tǒng)組成,一臺(tái)Linux系統(tǒng),充當(dāng)主DNS服務(wù)器;另一臺(tái)Linux系統(tǒng),充當(dāng)輔DNS服務(wù)器;還有一臺(tái)Windows客戶機(jī),負(fù)責(zé)DNS結(jié)果的測(cè)試。所有的虛擬機(jī)網(wǎng)卡均選擇“橋接”方式聯(lián)網(wǎng)。
虛擬機(jī)中需配置以下系統(tǒng):
·DNS主服務(wù)器,設(shè)置IP地址:192.168.100.100;子網(wǎng)掩碼:255.255.255.0;默認(rèn)網(wǎng)關(guān):192.168.100.254
·DNS輔服務(wù)器,設(shè)置IP地址:192.168.100.150;子網(wǎng)掩碼:255.255.255.0;默認(rèn)網(wǎng)關(guān):192.168.100.254
·DNS客戶機(jī),設(shè)置IP地址:192.168.100.200;子網(wǎng)掩碼:255.255.255.0;默認(rèn)網(wǎng)關(guān):192.168.100.254;DNS先設(shè)置為192.168.100.100
⑵該服務(wù)器環(huán)境下的Linux系統(tǒng),均需安裝Bind軟件(目前全世界最廣泛使用的域名解析系統(tǒng))。Linux下可在Bind官方網(wǎng)站中下載其源碼軟件包bind-9.3.1.tar.gz,解壓和安裝步驟如下:
解壓Bind軟件包 #tar–zxvf bind-9.3.1.tar.gz
進(jìn)入解壓后的文件夾 #cd bind-9.3.1
配置軟件 #./configure
編譯軟件# make
安裝軟件 # make install
3 DNS主服務(wù)器的重要配置文件
⑴/var/named/chroot/etc/named.conf //主服務(wù)器配置文件
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
};
指定該DNS區(qū)域?yàn)楦?zone "." IN {
指定區(qū)域的類型 type hint;
指定根域服務(wù)器文件 file "named.ca";
};
配置正向解析區(qū)域 zone "wtcjsj.com" {
該區(qū)域服務(wù)器為主服務(wù)器 type master;
指定該區(qū)域的正向解析文件 file "wtcjsj.com.zone";
指定允許傳輸?shù)妮o服務(wù)器 allow-transfer {192.168.100.150;};endprint
};
配置反向解析區(qū)域 zone "100.168.192.in-addr.arpa" {
該區(qū)域服務(wù)器為主服務(wù)器 type master;
指定該區(qū)域的反向解析文件 file "192.168.100.arpa";
指定允許傳輸?shù)妮o服務(wù)器 allow-transfer {192.168.100.150;};
};
⑵配置區(qū)域的正向解析文件、反向解析文件、根域文件
· /var/named/chroot/var/named/wtcjsj.com.zone //正向解析文件
· /var/named/chroot/var/named/192.168.100.arpa//反向解析文件
· /var/named/chroot/var/named/named.ca //根域文件
TTL為生存周期,表示解析的地址在數(shù)據(jù)庫(kù)中緩存的時(shí)間;
SOA為起始授權(quán)記錄,定義了全局參數(shù),進(jìn)行整個(gè)域的管理設(shè)置;
Serial為版本號(hào),一般情況下可以用日期做版本號(hào);
Refresh為更新時(shí)間,即主輔服務(wù)器隔多久進(jìn)行一次數(shù)據(jù)復(fù)制;
Retry為重試時(shí)間,即主輔服務(wù)器數(shù)據(jù)復(fù)制失敗后隔多久重發(fā);
Expiry為過(guò)期時(shí)間,輔服務(wù)器和主服務(wù)器在該時(shí)間內(nèi)無(wú)聯(lián)系,則放棄這個(gè)區(qū)域的數(shù)據(jù);
minimum 等同于TTL值。
4 配置輔服務(wù)器的實(shí)驗(yàn)步驟
⑴/var/named/chroot/etc/named.conf //主配置文件
…
配置正向解析區(qū)域 zone "wtcjsj.com" {
該區(qū)域服務(wù)器為輔助服務(wù)器 type slave;
指定該輔助區(qū)域的正向解析文件 file "slaves/wtcjsj.com.zone";
指定傳輸數(shù)據(jù)主服務(wù)器地址masters {192.168.100.100;};
};
配置反向解析區(qū)域zone "100.168.192.in-addr.arpa" {
該區(qū)域服務(wù)器為輔服務(wù)器 type slave;
指定該輔助區(qū)域的反向解析文件 file "slaves/192.168.100.arpa";
指定傳輸數(shù)據(jù)主服務(wù)器地址 masters {192.168.100.100;};
};
⑵/var/named/chroot/var/named/named.ca //根域文件和主服務(wù)器相同,可從互聯(lián)網(wǎng)下載。
5 測(cè)試結(jié)果
⑴主服務(wù)器和輔服務(wù)器的啟動(dòng)
#service named start
⑵打開輔服務(wù)器/var/named/chroot/var/named/slaves文件看下正向解析文件和反向解析文件是否已經(jīng)傳遞過(guò)來(lái),測(cè)試結(jié)果表明,正向解析文件wtcjsj.com.zone和反向解析文件192.168.100.arpa均可通過(guò)主服務(wù)器復(fù)制到輔服務(wù)器,輔助的DNS區(qū)域文件就完成了,輔服務(wù)器可以提供備份容錯(cuò)和均衡負(fù)載的功能。
⑶把客戶端的DNS地址分別指向輔服務(wù)器的IP地址,使用ping或nslookup驗(yàn)證實(shí)驗(yàn)結(jié)果,經(jīng)測(cè)試輔服務(wù)器的解析結(jié)果完全正確。
[參考文獻(xiàn)]
[1]張棟.Red Hat Enterprise Linux服務(wù)器配置與管理.北京:人民郵電出版社,2009.
[2]張文庫(kù),朱志輝.企業(yè)網(wǎng)搭建及應(yīng)用(第2版).北京:電子工業(yè)出版社,2011.
[3]王曉超.Linux服務(wù)器搭建完全技術(shù)寶典.北京:中國(guó)鐵道出版社,2010.endprint
};
配置反向解析區(qū)域 zone "100.168.192.in-addr.arpa" {
該區(qū)域服務(wù)器為主服務(wù)器 type master;
指定該區(qū)域的反向解析文件 file "192.168.100.arpa";
指定允許傳輸?shù)妮o服務(wù)器 allow-transfer {192.168.100.150;};
};
⑵配置區(qū)域的正向解析文件、反向解析文件、根域文件
· /var/named/chroot/var/named/wtcjsj.com.zone //正向解析文件
· /var/named/chroot/var/named/192.168.100.arpa//反向解析文件
· /var/named/chroot/var/named/named.ca //根域文件
TTL為生存周期,表示解析的地址在數(shù)據(jù)庫(kù)中緩存的時(shí)間;
SOA為起始授權(quán)記錄,定義了全局參數(shù),進(jìn)行整個(gè)域的管理設(shè)置;
Serial為版本號(hào),一般情況下可以用日期做版本號(hào);
Refresh為更新時(shí)間,即主輔服務(wù)器隔多久進(jìn)行一次數(shù)據(jù)復(fù)制;
Retry為重試時(shí)間,即主輔服務(wù)器數(shù)據(jù)復(fù)制失敗后隔多久重發(fā);
Expiry為過(guò)期時(shí)間,輔服務(wù)器和主服務(wù)器在該時(shí)間內(nèi)無(wú)聯(lián)系,則放棄這個(gè)區(qū)域的數(shù)據(jù);
minimum 等同于TTL值。
4 配置輔服務(wù)器的實(shí)驗(yàn)步驟
⑴/var/named/chroot/etc/named.conf //主配置文件
…
配置正向解析區(qū)域 zone "wtcjsj.com" {
該區(qū)域服務(wù)器為輔助服務(wù)器 type slave;
指定該輔助區(qū)域的正向解析文件 file "slaves/wtcjsj.com.zone";
指定傳輸數(shù)據(jù)主服務(wù)器地址masters {192.168.100.100;};
};
配置反向解析區(qū)域zone "100.168.192.in-addr.arpa" {
該區(qū)域服務(wù)器為輔服務(wù)器 type slave;
指定該輔助區(qū)域的反向解析文件 file "slaves/192.168.100.arpa";
指定傳輸數(shù)據(jù)主服務(wù)器地址 masters {192.168.100.100;};
};
⑵/var/named/chroot/var/named/named.ca //根域文件和主服務(wù)器相同,可從互聯(lián)網(wǎng)下載。
5 測(cè)試結(jié)果
⑴主服務(wù)器和輔服務(wù)器的啟動(dòng)
#service named start
⑵打開輔服務(wù)器/var/named/chroot/var/named/slaves文件看下正向解析文件和反向解析文件是否已經(jīng)傳遞過(guò)來(lái),測(cè)試結(jié)果表明,正向解析文件wtcjsj.com.zone和反向解析文件192.168.100.arpa均可通過(guò)主服務(wù)器復(fù)制到輔服務(wù)器,輔助的DNS區(qū)域文件就完成了,輔服務(wù)器可以提供備份容錯(cuò)和均衡負(fù)載的功能。
⑶把客戶端的DNS地址分別指向輔服務(wù)器的IP地址,使用ping或nslookup驗(yàn)證實(shí)驗(yàn)結(jié)果,經(jīng)測(cè)試輔服務(wù)器的解析結(jié)果完全正確。
[參考文獻(xiàn)]
[1]張棟.Red Hat Enterprise Linux服務(wù)器配置與管理.北京:人民郵電出版社,2009.
[2]張文庫(kù),朱志輝.企業(yè)網(wǎng)搭建及應(yīng)用(第2版).北京:電子工業(yè)出版社,2011.
[3]王曉超.Linux服務(wù)器搭建完全技術(shù)寶典.北京:中國(guó)鐵道出版社,2010.endprint
};
配置反向解析區(qū)域 zone "100.168.192.in-addr.arpa" {
該區(qū)域服務(wù)器為主服務(wù)器 type master;
指定該區(qū)域的反向解析文件 file "192.168.100.arpa";
指定允許傳輸?shù)妮o服務(wù)器 allow-transfer {192.168.100.150;};
};
⑵配置區(qū)域的正向解析文件、反向解析文件、根域文件
· /var/named/chroot/var/named/wtcjsj.com.zone //正向解析文件
· /var/named/chroot/var/named/192.168.100.arpa//反向解析文件
· /var/named/chroot/var/named/named.ca //根域文件
TTL為生存周期,表示解析的地址在數(shù)據(jù)庫(kù)中緩存的時(shí)間;
SOA為起始授權(quán)記錄,定義了全局參數(shù),進(jìn)行整個(gè)域的管理設(shè)置;
Serial為版本號(hào),一般情況下可以用日期做版本號(hào);
Refresh為更新時(shí)間,即主輔服務(wù)器隔多久進(jìn)行一次數(shù)據(jù)復(fù)制;
Retry為重試時(shí)間,即主輔服務(wù)器數(shù)據(jù)復(fù)制失敗后隔多久重發(fā);
Expiry為過(guò)期時(shí)間,輔服務(wù)器和主服務(wù)器在該時(shí)間內(nèi)無(wú)聯(lián)系,則放棄這個(gè)區(qū)域的數(shù)據(jù);
minimum 等同于TTL值。
4 配置輔服務(wù)器的實(shí)驗(yàn)步驟
⑴/var/named/chroot/etc/named.conf //主配置文件
…
配置正向解析區(qū)域 zone "wtcjsj.com" {
該區(qū)域服務(wù)器為輔助服務(wù)器 type slave;
指定該輔助區(qū)域的正向解析文件 file "slaves/wtcjsj.com.zone";
指定傳輸數(shù)據(jù)主服務(wù)器地址masters {192.168.100.100;};
};
配置反向解析區(qū)域zone "100.168.192.in-addr.arpa" {
該區(qū)域服務(wù)器為輔服務(wù)器 type slave;
指定該輔助區(qū)域的反向解析文件 file "slaves/192.168.100.arpa";
指定傳輸數(shù)據(jù)主服務(wù)器地址 masters {192.168.100.100;};
};
⑵/var/named/chroot/var/named/named.ca //根域文件和主服務(wù)器相同,可從互聯(lián)網(wǎng)下載。
5 測(cè)試結(jié)果
⑴主服務(wù)器和輔服務(wù)器的啟動(dòng)
#service named start
⑵打開輔服務(wù)器/var/named/chroot/var/named/slaves文件看下正向解析文件和反向解析文件是否已經(jīng)傳遞過(guò)來(lái),測(cè)試結(jié)果表明,正向解析文件wtcjsj.com.zone和反向解析文件192.168.100.arpa均可通過(guò)主服務(wù)器復(fù)制到輔服務(wù)器,輔助的DNS區(qū)域文件就完成了,輔服務(wù)器可以提供備份容錯(cuò)和均衡負(fù)載的功能。
⑶把客戶端的DNS地址分別指向輔服務(wù)器的IP地址,使用ping或nslookup驗(yàn)證實(shí)驗(yàn)結(jié)果,經(jīng)測(cè)試輔服務(wù)器的解析結(jié)果完全正確。
[參考文獻(xiàn)]
[1]張棟.Red Hat Enterprise Linux服務(wù)器配置與管理.北京:人民郵電出版社,2009.
[2]張文庫(kù),朱志輝.企業(yè)網(wǎng)搭建及應(yīng)用(第2版).北京:電子工業(yè)出版社,2011.
[3]王曉超.Linux服務(wù)器搭建完全技術(shù)寶典.北京:中國(guó)鐵道出版社,2010.endprint