摘要:高職院校以培養(yǎng)技術(shù)型人才為主要目標(biāo),在“計(jì)算機(jī)網(wǎng)絡(luò)”等課程的教學(xué)過(guò)程中,項(xiàng)目驅(qū)動(dòng)教學(xué)法能夠突破傳統(tǒng)方法的局限性,利用網(wǎng)絡(luò)及虛擬化資源構(gòu)建出科學(xué)的實(shí)驗(yàn)教學(xué)環(huán)境,更能激發(fā)學(xué)生的學(xué)習(xí)主動(dòng)性和創(chuàng)造性。本文以設(shè)計(jì)、搭建學(xué)校域名解析服務(wù)器為出發(fā)點(diǎn),介紹了域名服務(wù)器的基本概念,闡述了域名服務(wù)器工作原理及配置方法,通過(guò)實(shí)驗(yàn)完成在VMware仿真環(huán)境中運(yùn)用Linux系統(tǒng)安裝BIND服務(wù)以及DNS服務(wù)器的配置調(diào)試及測(cè)試過(guò)程。
關(guān)鍵詞:Linux;DNS;VMware
DesignandImplementationofDNSExperimentBasedonLinuxEnvironment
ShenJingtong
GuangdongTeacherCollegeofForeignLanguageandArtsGuangdongGuangzhou510640
Abstract:Themaingoalofvocationalcollegesistocultivatetechnicaltalents.Intheteachingprocessofcoursessuchascomputernetworks,projectbasedteachingmethodcanbreakthroughthelimitationsoftraditionalmethods,utilizenetworkandvirtualizationresources,constructascientificexperimentalteachingenvironment,andmoreeffectivelystimulatestudents'learninginitiativeandcreativity.Startingfromthedesignandconstructionofaschooldomainnameresolutionserver,thisarticleintroducesthebasicconceptofdomainnameservers,explainstheworkingprincipleandconfigurationmethodsofdomainnameservers,andcompletestheinstallationofBINDservicesandDNSserverconfigurationdebuggingandtestingprocessinaVMwaresimulationenvironmentusingLinuxsystemthroughexperiments.
Keywords:Linux;DNS;VMware
1概述
隨著科學(xué)技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)已經(jīng)成為企事業(yè)單位辦公不可缺少的工具,隨著網(wǎng)絡(luò)中的資源數(shù)量增多,人們對(duì)DNS服務(wù)器的依賴性也越來(lái)越強(qiáng)。搭建DNS服務(wù)器,不僅能更好地滿足網(wǎng)絡(luò)服務(wù)的需求,而且也能夠保證域名解析的容錯(cuò)功能,使用戶得到更穩(wěn)定安全的服務(wù)。Linux網(wǎng)絡(luò)操作系統(tǒng)以其安全、高效以及開(kāi)源的特點(diǎn)已成為全球增長(zhǎng)最快的操作系統(tǒng)之一,本文在RedHat8.2操作系統(tǒng)下搭建DNS主從服務(wù)器,實(shí)現(xiàn)了穩(wěn)定、安全、高效的域名解析服務(wù)目標(biāo)。
為使學(xué)生更好地了解和理解DNS相關(guān)概念,掌握DNS工作原理和主從服務(wù)器配置及測(cè)試,本文以學(xué)校域名服務(wù)解析需求為出發(fā)點(diǎn),設(shè)計(jì)了具體的實(shí)驗(yàn)項(xiàng)目。通過(guò)理論和實(shí)驗(yàn)相結(jié)合的方式,提升學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的課堂參與度和實(shí)操能力,從而使學(xué)生對(duì)DNS概念及其工作原理有更加透徹的理解。
2DNS介紹
2.1DNS的概念
域名系統(tǒng)(DomainNameSystem)為Internet中域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù),用戶只需通過(guò)主機(jī)名就可以訪問(wèn)互聯(lián)網(wǎng)上的主機(jī),而不用去記主機(jī)的IP地址。將主機(jī)名解析為該主機(jī)名對(duì)應(yīng)的IP地址的過(guò)程叫作域名解析(或主機(jī)名解析)。DNS協(xié)議運(yùn)行在TCP/IP協(xié)議族的UDP協(xié)議之上,使用端口號(hào)53[1]。
2.2DNS的發(fā)展歷史。
DNS是在ARPANET的基礎(chǔ)上誕生的,20世紀(jì)70年代,ARPANET中只有幾百臺(tái)主機(jī)相互連接,只需要一個(gè)hosts文件就可以記錄所有的主機(jī)信息,hosts文件是一個(gè)沒(méi)有擴(kuò)展名的系統(tǒng)文件,它的主要功能是提供主機(jī)和主機(jī)ip地址之間的映射關(guān)系,人們通過(guò)主機(jī)名就可以進(jìn)行網(wǎng)絡(luò)資源的共享,而無(wú)須記住IP地址。但隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,網(wǎng)絡(luò)中的主機(jī)數(shù)量增多,hosts文件解析方式變得低效,已經(jīng)不能夠支撐大規(guī)模網(wǎng)絡(luò)的解析任務(wù),于是域名解析系統(tǒng)(DNS)就應(yīng)運(yùn)而生。
2.3DNS的解析過(guò)程及原理
(1)客戶機(jī)發(fā)送請(qǐng)求。當(dāng)用戶在瀏覽器中輸入域名www.gwyzy.edu.cn時(shí),客戶機(jī)首先會(huì)檢查本地緩存是否有該域名對(duì)應(yīng)的IP地址。如果沒(méi)有,則會(huì)向本地域名服務(wù)器發(fā)送請(qǐng)求。
(2)遞歸查詢。如果本地域名服務(wù)器緩存沒(méi)有該域名對(duì)應(yīng)的IP地址,則本地域名服務(wù)器會(huì)向根節(jié)點(diǎn)發(fā)起遞歸查詢。根域名服務(wù)器節(jié)點(diǎn)返回頂級(jí)域.cn的權(quán)威DNS服務(wù)器列表。
(3)迭代查詢。接下來(lái),本地域名服務(wù)器將向頂級(jí)域權(quán)威DNS服務(wù)器發(fā)起迭代查詢,并獲得二級(jí)域edu.cn權(quán)威DNS服務(wù)器列表。本地DNS服務(wù)器根據(jù)返回的信息,繼續(xù)向edu.cn域名服務(wù)器查詢,并獲得子域gwyzy.edu.cn權(quán)威DNS服務(wù)器列表。
(4)查詢目標(biāo)主機(jī)。在獲得目標(biāo)主機(jī)(www.gwyzy.edu.cn)所在子網(wǎng)內(nèi)部署的gwyzy.edu.cn域名服務(wù)器權(quán)威NS記錄后,本地域名服務(wù)器才能夠通過(guò)這些記錄找到目標(biāo)主機(jī)(www.gwyzy.edu.cn)并返回其IP地址給客戶端。
(5)記錄暫存。查到最終web服務(wù)器(www.gwyzy.edu.cn)的IP地址(192.168.1.3)后,客戶端會(huì)將最近使用的域名存入自己的高速緩存中,只有在從緩存中找不到域名時(shí)才向域名服務(wù)器發(fā)生查詢請(qǐng)求。當(dāng)Client端下一次訪問(wèn)同一個(gè)站點(diǎn)或域名時(shí),會(huì)直接從本地緩存中讀取相應(yīng)的記錄,本地緩存優(yōu)化了DNS解析的方法,提高解析速度,減輕了網(wǎng)絡(luò)中DNS服務(wù)器的性能,減少反復(fù)查詢相同域名的時(shí)間,節(jié)約網(wǎng)絡(luò)帶寬[2]。
3DNS實(shí)驗(yàn)設(shè)計(jì)
3.1DNS實(shí)驗(yàn)項(xiàng)目應(yīng)用場(chǎng)景
本實(shí)驗(yàn)以學(xué)校本地域名服務(wù)器搭建為場(chǎng)景,利用桌面虛擬計(jì)算機(jī)軟件VMwareWorkstation構(gòu)建Linux操作系統(tǒng),在Linux系統(tǒng)下搭建DNS服務(wù)器來(lái)完成各主機(jī)地址的解析實(shí)驗(yàn),鑒于篇幅原因,省略部分非關(guān)鍵步驟。構(gòu)建7臺(tái)虛擬機(jī),操作系統(tǒng)為RedHatLinux8.2,其中6臺(tái)服務(wù)器,主DNS服務(wù)器和從DNS服務(wù)器各一臺(tái),4臺(tái)網(wǎng)絡(luò)服務(wù)器,1臺(tái)為測(cè)試用的客戶機(jī)client,為了保證Linux虛擬機(jī)之間能夠正常通信,實(shí)驗(yàn)中,我們將所有虛擬機(jī)的網(wǎng)絡(luò)連接方式設(shè)置成VMnet8[NAT模式(N):用于共享主機(jī)的IP地址],并分別給DNS主從服務(wù)器手動(dòng)配置靜態(tài)IP地址192.168.1.1和192.168.1.2,WEB服務(wù)器IP地址:192.168.1.3,F(xiàn)TP服務(wù)器IP地址:192.168.1.4,郵件服務(wù)器IP地址:192.168.1.5,OA系統(tǒng)IP地址:192.168.1.6,客戶機(jī)Client的IP地址設(shè)置為192.168.1.100,具體如圖2所示。DNS服務(wù)器的域名為dns.gwyzy.edu.cn,負(fù)責(zé)管理gwyzy.edu.cn的域名解析,為網(wǎng)絡(luò)中的客戶端和其他服務(wù)器提供域名解析服務(wù)。本次實(shí)驗(yàn)中,域名服務(wù)器負(fù)責(zé)解析以下域名:WEB服務(wù)器(www.gwyzy.edu.cn,192.168.1.3)、FTP服務(wù)器(ftp.gwyzy.edu.cn,192.168.1.4)、郵件服務(wù)器(mail.gwyzy.edu.cn,192.168.1.5)、0A系統(tǒng)(oa.gwyzy.edu.cn,192.168.1.6)。
3.2DNSServer安裝與配置
3.2.1Linux系統(tǒng)與BIND服務(wù)安裝
配置DNSServer前的準(zhǔn)備步驟:安裝Linux操作系統(tǒng)(本文不做介紹)與BIND服務(wù)。
第1步:檢測(cè)Linux系統(tǒng)是否已經(jīng)安裝了BIND服務(wù),具體命令如下所示:
rpmqa|grepbind
……
如未出現(xiàn)bind相關(guān)字符的列表,則說(shuō)明服務(wù)器暫未安裝BIND服務(wù)。
第2步:若系統(tǒng)未安裝BIND服務(wù)(本次實(shí)驗(yàn))使用dnf包管理器安裝BIND服務(wù),具體步驟如下:
第3步:從網(wǎng)絡(luò)上下載Linux的鏡像文件。
第4步:掛載ISO安裝鏡像,命令如下:
mkdir/mnt/cdrom/
mount/dev/cdrom/mnt/cdrom/
第5步:制作用于安裝的yum源文件;編輯dvd.repo文件,具體操作如下:
編輯vim/etc/yum.repos.d/dvd.repo文件,添加以下內(nèi)容:
[Media]
name=Media
baseurl=file:///media/BaseOS
gpgcheck=0
enabled=1
[rhel8AppStream]
name=rhel8AppStream
baseurl=file:///media/AppStream
gpgcheck=0
enabled=1
第6步:使用dnf命令查看BIND軟件包的信息,命令如下[3]:
dnfinfobind
第7步:使用dnf命令在DNS服務(wù)器上安裝BIND服務(wù):
dnfinstallbindbindchrootbindutilsy
第8步:軟件包安裝完畢,使用rpm命令再一次進(jìn)行查詢:
rpmqa|grepbind
bind9.11.133.el8.x86_64
……
bindlibslite9.11.133.el8.x86_64
bindutils9.11.133.el8.x86_64
Linux服務(wù)器終端界面顯示以上內(nèi)容,說(shuō)明BIND服務(wù)已完成安裝。
3.2.2DNS主服務(wù)器端配置
DNS配置文件分為主配置文件、區(qū)域配置文件和正、反向解析區(qū)域聲明文件。
第1步:編輯主配置文件named.conf。
打開(kāi)并編輯文件:vim/etc/named.conf;鑒于篇幅限制,在文件中只展示以下關(guān)鍵代碼內(nèi)容:
options{
listenonport53{any;};
listenonv6port53{::1;};
directory"/var/named";
allowquery{any;};
recursionyes;
……
include"/etc/named.gwyzy.zones";
編輯完成后,保存并退出。
第2步:區(qū)域配置文件配置。
Vim/etc/named.gwyzy.zones
zone"gwyzy.edu.cn"IN{
typemaster;
file"gwyzy.edu.cn.zone";
allowupdate{192.168.1.2;};
};
zone"1.168.192.inaddr.arpa"IN{
typemaster;
file"1.1.168.192.zone";
allowupdate{192.168.1.2;};
};
第3步:正、反向解析區(qū)域聲明文件。
[root@dns]#vim/var/named/gwyzy.edu.cn.zone
$TTL1D
@INSOA@root.gwyzy.edu.cn.(
0;serial
1D;refresh
1H;retry
1W;expire
3H);minimum
@INNSdns.gwyzy.edu.cn.
@INMX10mail.gwyzy.edu.cn.
dnsINA192.168.1.1
slaveINA192.168.1.2
wwwINA192.168.1.3
ftpINA192.168.1.4
mailINA192.168.1.5
oaINA192.168.1.6
webINCNAMEwww.gwyzy.edu.cn.
[root@dns]#vim/var/named/1.1.168.192.zone
$TTL1D
@INSOA@root.gwyzy.edu.cn.(
0;serial
……
3H);minimum
@INNSdns.gwyzy.edu.cn.
@INMX10mail.gwyzy.edu.cn.
1INPTRdns.gwyzy.edu.cn.
……
6INPTRoa.gwyzy.edu.cn.
第4步:完成配置后,檢測(cè)語(yǔ)法是否出問(wèn)題。
namedcheckconf/etc/named.conf
第5步:配置防火墻。
設(shè)置主配置文件、區(qū)域配置文件和正、反向解析區(qū)域聲明文件的屬組為named(如果前面復(fù)制主配置文件和區(qū)域文件時(shí)使用了p選項(xiàng),則此步驟可省略)。
firewallcmdpermanentaddservice=dns
firewallcmdreload
chgrpnamed/etc/named.conf/etc/named.gwyzy.zones
chgrpnamed/var/named/gwyzy.edu.cn.zone/var/named/1.1.168.192.zone
第6步:重新啟動(dòng)DNS服務(wù)并添加開(kāi)機(jī)自啟動(dòng)功能。
systemctlrestartnamed.service;systemctlenablenamed.service
3.2.3從DNS服務(wù)器配置
第1步:主配置文件named.conf與主DNS服務(wù)器保持一致。區(qū)域配置文件配置如下:
zone"gwyzy.edu.cn"IN{
typeslave;
file"slaves/gwyzy.edu.cn.zone";
masters{192.168.1.1;};
};
zone"1.168.192.inaddr.arpa"IN{
typeslave;
file"slaves/1.1.168.192.zone";
masters{192.168.1.1;};
};
第2步:重新啟動(dòng)DNS服務(wù)。
運(yùn)行命令:systemctlrestartnamed.service,slaves目錄下會(huì)自動(dòng)生成以下兩個(gè)文件。
cd/var/named/
ls;1.1.168.192.zonegwyzy.edu.cn.zone
其他步驟參考DNS主服務(wù)器端配置。
3.3DNS客戶端的配置
DNS客戶端網(wǎng)絡(luò)可以通過(guò)以下方式完成。
(1)編輯客戶端虛擬機(jī)網(wǎng)卡配置文件/etc/sysconfig/networkscripts/ifcfgens160,錄入以下內(nèi)容并保存退出。
IPADDR=192.168.1.100
DNS1=192.168.1.1
DNS2=192.168.1.2
……
(2)修改/etc/resolv.conf文件來(lái)設(shè)置DNS客戶端,如下所示。
vim/etc/resolv.conf
nameserver192.168.1.1
nameserver192.168.1.2
searchgwyzy.edu.cn
其中,nameserver指明DNS服務(wù)器的IP地址,可以有多個(gè)DNS服務(wù)器,本次實(shí)驗(yàn)設(shè)置數(shù)量為2個(gè),分別為主從服務(wù)器,客戶端查詢時(shí)會(huì)按照文件中指定的順序進(jìn)行。當(dāng)前面的DNS服務(wù)器沒(méi)有響應(yīng)時(shí),以此向下面的服務(wù)器發(fā)出解析請(qǐng)求。search用于指明域名搜索順序,當(dāng)查詢沒(méi)有域名后綴的主機(jī)名時(shí),將自動(dòng)附加由search指定的域名進(jìn)行查詢,本次實(shí)驗(yàn)為gwyzy.edu.cn。
3.4測(cè)試
Linux操作系統(tǒng)中,BIND軟件包包含了nslookup、dig和host三個(gè)測(cè)試工具。由于dig和host只能使用命令行工具,本次測(cè)試選擇既可以使用命令行模式,也可以使用交互模式的工具:nslookup。在客戶端Client(192.168.1.100)上測(cè)試前,必須保證與主從DNS服務(wù)器網(wǎng)絡(luò)連接正常,測(cè)試代碼如下:
[root@Client~]#nslookup
>server
Defaultserver:192.168.1.1
Address:192.168.1.1#53
Defaultserver:192.168.1.2
Address:192.168.1.2#53
>www.gwyzy.edu.cn
Server:192.168.1.1
Address:192.168.1.1#53
Name:www.gwyzy.edu.cn
Address:192.168.1.3
……
>192.168.1.3
3.1.168.192.inaddr.arpaname=www.gwyzy.edu.cn.
……
>exit
正向和反向域名解析測(cè)試顯示,DNS服務(wù)器返回了正確的IP地址和域名,說(shuō)明本次實(shí)驗(yàn)DNS服務(wù)器配置和解析正常。
結(jié)語(yǔ)
Linux以其穩(wěn)定的性能和開(kāi)源的優(yōu)越性正得到日益廣泛的應(yīng)用,越來(lái)越多的生產(chǎn)環(huán)境構(gòu)建網(wǎng)絡(luò)服務(wù)器時(shí)選用Linux平臺(tái),本文提出基于Linux平臺(tái)下搭建DNS主從服務(wù)器并實(shí)現(xiàn)智能解析,通過(guò)實(shí)驗(yàn)、測(cè)試,成功實(shí)現(xiàn)DNS服務(wù)器正向和反向解析,通過(guò)虛擬環(huán)境搭建科學(xué)合理的實(shí)驗(yàn)場(chǎng)景,并詳細(xì)列出了關(guān)鍵步驟和關(guān)鍵代碼,結(jié)合主從DNS服務(wù)器、客戶端配置以及實(shí)驗(yàn)測(cè)試分析,使學(xué)生更好地理解DNS概念和運(yùn)行原理,為之后的專業(yè)課程理論學(xué)習(xí)和實(shí)驗(yàn)實(shí)訓(xùn)打下堅(jiān)實(shí)的基礎(chǔ),適用于高職院校實(shí)驗(yàn)課程,有較高的參考價(jià)值。
參考文獻(xiàn):
[1]白亞光.從域名服務(wù)安全事件淺談DNS安全管理[J].人資社科,2015(03):362.
[2]李仕,孟欽川,彭玉華,等.Linux系統(tǒng)下DNS服務(wù)器的架設(shè)[J].黑龍江科技信息,2016(23):156.
[3]沈勁桐.基于Linux環(huán)境的DHCP實(shí)驗(yàn)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2022(04):4850+56.
作者簡(jiǎn)介:沈勁桐(1986—),男,漢族,湖南株洲人,碩士研究生,實(shí)驗(yàn)師,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)。