RHCE253-DNS
RHCE 課程-RH253Linux 服務(wù)器架設(shè)筆記五-DNS 服務(wù)器配置在LINUX 下面架設(shè)DNS 服務(wù)器,不知道DNS 解析原理,根本會了和不會沒區(qū)別,網(wǎng)絡(luò)中為了區(qū)別各個(gè)主機(jī),必須為每臺主機(jī)分配
RHCE 課程-RH253Linux 服務(wù)器架設(shè)筆記五-DNS 服務(wù)器配置
在LINUX 下面架設(shè)DNS 服務(wù)器,不知道DNS 解析原理,根本會了和不會沒區(qū)別,
網(wǎng)絡(luò)中為了區(qū)別各個(gè)主機(jī),必須為每臺主機(jī)分配一個(gè)惟一的地址,這個(gè)地址即稱為“IP地址”。但這些數(shù)字難以記憶,所以就采用“域名”的方式來取代這些數(shù)字了。
當(dāng)某臺主機(jī)要與其他主機(jī)通信時(shí),就可以利用主機(jī)名稱向DNS 服務(wù)器查詢該主機(jī)的IP 地址,所以我們的網(wǎng)卡要上網(wǎng)至少要3個(gè)信息,IP 地址,網(wǎng)關(guān),DNS 服務(wù)器地址。
DNS 的組織結(jié)構(gòu)
這個(gè)就是DNS 的組織結(jié)構(gòu),最上面是根域名 dot ,全球13臺根域服務(wù)器,沒有一臺在中國,因?yàn)橹袊W(wǎng)絡(luò)發(fā)展,起步遲。而且所有的dot DNS 服務(wù)器都是bind 軟件架設(shè)的,我們今天要學(xué)習(xí)的也是bind 軟件。全球70的大型DN S 服務(wù)器都是基于bind 軟件。
常見的頂級域服務(wù)器
我國的頂級域也就只有cn
,DNS 解析過程
我給大家解釋下,比如解析,第一步,查詢本地host 文件和緩存有沒有這個(gè)記錄,有就直接解析,沒有就訪問DNS 服務(wù)器,如果DNS 服務(wù)器上沒[url]www.redhat.com[/url]或者redhat.com 不在你訪問的DNS 服務(wù)器管理區(qū)域內(nèi),那么DNS 服務(wù)器就會向dot 根域名服務(wù)器發(fā)遞歸查詢, 如果找到了記錄了,DNS 就會返回給client ,并且把記錄保存在自己緩存里,下次有client 請求,他就會調(diào)用自己的緩存,直到這條記錄的生存期結(jié)束, 就會丟棄這條記錄。
根域名服務(wù)器就13臺域名服務(wù)器,他負(fù)責(zé)管理頂級域。頂級域負(fù)責(zé)管理二級域,我們現(xiàn)在申請的一般是2級域名-3級域名。比如michael.com ,michael.com .cn 哈~michael.com是2級域名,michael.com .cn 是3級域名,mic hael.com .cn. 這個(gè)就是FQDN 。
本周我們要學(xué)習(xí)的內(nèi)容
主配置文件
設(shè)置根區(qū)域
設(shè)置主區(qū)域
設(shè)置反向解析區(qū)域
根服務(wù)器信息文件named.ca
區(qū)域文件
反向解析區(qū)域文件
實(shí)現(xiàn)負(fù)載均衡功能
實(shí)現(xiàn)直接解析域名
實(shí)現(xiàn)泛域名的解析
主要名稱服務(wù)器的測試
配置輔助域名服務(wù)器
配置緩存域名服務(wù)器
我們申請的是域名,然后你去管理你的域名,自己添加主機(jī)記錄哈~
其實(shí)michael.cn 是域名, 前面的主機(jī)記錄隨便你怎么寫,abc.michael.cn 也行,jfajldjfklajdfkljaklf.michael.cn 也行,michael.com 是域名,www 是主機(jī)。
比如[url]www.redhat.com[/url],[url]www.redhat.com.[/url] 最后點(diǎn)是根域名,然后com 是頂級域名,redh at 是二級域名,www 是主機(jī)記錄,如果你要說是域名也可以,那么主機(jī)就改成是了,在選擇域名時(shí)必須符合RCF 1123中的規(guī)定:域名由所有大寫字母(A ~Z )、小寫字母(a ~z )、數(shù)字(0~9)和連字符(-)組成。由于很多域名商,所以現(xiàn)在想申請到好的2及域名是不可能了,域名大小寫不敏感。
每臺主機(jī)都有一個(gè)host 文件,負(fù)責(zé)IP 地址的域名快速解析的文件,文件以ASCII 格式保存在“/etc”目錄下,文件名為“hosts”,hosts 文件包含了IP 地址和主機(jī)名之間的映射,還包括主機(jī)名的別名。
hosts 文件的格式如下:
IP 地址 主機(jī)名/域名 主機(jī)別名
,windows 下也有hosts 文件,
C:WINDOWSsystem32driversetc
可以使用記事本打開
如果host 里有記錄就會優(yōu)先使用,這個(gè)文件也是黑客,和病毒軟件攻擊你的一個(gè)入口,如果某個(gè)病毒軟件在這個(gè)文件添加一個(gè)記錄202.23.23.1 [url]www.163.com[/url],然而前面這個(gè)IP 地址是帶有病毒的而已網(wǎng)站,或者是釣魚攻擊,你可能就會出問題,所以這個(gè)文件一般修改成只讀,還有些第三方軟件,為了防止一些木馬之類的病毒,會把一些有問題的網(wǎng)站在自理定義,解析成127.0.0.1,這樣你就不會訪問到這些網(wǎng)站,360就會這么干哈~
linux 也有這個(gè)文件
/etc/hosts
好了,下面介紹下bind 軟件,Linux 下架設(shè)DNS 服務(wù)器通常是使用Bind 程序來實(shí)現(xiàn)的。
Bind 是Berkeley Internet Name Domain Service 的簡寫,它是一款實(shí)現(xiàn)DNS 服務(wù)器的開放源碼軟件。Bind 原本是美國DARPA 資助伯克里大學(xué)(Berkeley )開設(shè)的一個(gè)研究生課題,后來經(jīng)過多年的變化發(fā)展,已經(jīng)成為世界上使用最為廣泛的DNS 服務(wù)器軟件,目前Internet 上絕大多數(shù)的DNS 服務(wù)器有都是用Bind 來架設(shè)的。 DNS 服務(wù)介紹
后臺進(jìn)程:named
腳本:/etc/rc.d/init.d/named
使用端口:53(tcp ,udp )
所需RPM 包:bind-9.3.3-10.el5
相關(guān)RPM 包:bind-chroot
caching-nameserver
配置文件:/var/named/chroot/etc/named.conf
相關(guān)路徑:/var/named/
1990年以后,bind-chroot 增加了bind 服務(wù)器的安全性, 早期Linux 服務(wù)都是以root 權(quán)限啟動和運(yùn)行的,隨著技術(shù)的發(fā)展,各種服務(wù)變得越來越復(fù)雜,導(dǎo)致BUG 和漏洞越來越多。黑客利用服務(wù)的漏洞入侵系統(tǒng),能獲得root 級別的權(quán)限,從而控制整個(gè)系統(tǒng)。
為了減緩這種攻擊所帶來的負(fù)面影響,現(xiàn)在服務(wù)器軟件通常設(shè)計(jì)為以root 權(quán)限啟動,然后服務(wù)器進(jìn)程自行放棄root ,再以某個(gè)低權(quán)限的系統(tǒng)賬號來運(yùn)行進(jìn)程。這種方式的好處在于該服務(wù)被攻擊者利用漏洞入侵時(shí),由于進(jìn)程權(quán)限很低,攻擊者得到的訪問權(quán)限又是基于這個(gè)較低權(quán)限。
bind 的主配置文件/etc/named.conf ,我們先安裝bind 服務(wù)器
[root@Access etc]# yum -y install bind*
Loading "security" plugin
Loading "rhnplugin" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Parsing package install arguments
Package bind-libs - 30:9.3.4-6.P1.el5.i386 is already installed.
Package bind-utils - 30:9.3.4-6.P1.el5.i386 is already installed.
Resolving Dependencies
--> Running transaction check
---> Package bind-devel.i386 30:9.3.4-6.P1.el5 set to be updated
---> Package bind-chroot.i386 30:9.3.4-6.P1.el5 set to be updated
---> Package bind-libbind-devel.i386 30:9.3.4-6.P1.el5 set to be updated
---> Package bind-sdb.i386 30:9.3.4-6.P1.el5 set to be updated
---> Package bind.i386 30:9.3.4-6.P1.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================== Package Arch Version Repository Size
,=========================================================== Installing:
bind-chroot i386 30:9.3.4-6.P1.el5 Server 41 k
bind-devel i386 30:9.3.4-6.P1.el5 Server 2.6 M
bind-libbind-devel i386 30:9.3.4-6.P1.el5 Server 441 k
bind-sdb i386 30:9.3.4-6.P1.el5 Server 225 k
Installing for dependencies:
bind i386 30:9.3.4-6.P1.el5 Server 959 k
Transaction Summary
=========================================================== Install 5 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 4.2 M
Downloading Packages:
(1/5): bind-9.3.4-6.P1.el 100 |=========================| 959 kB 00:00 (2/
5): bind-sdb-9.3.4-6.P 100 |=========================| 225 kB 00:00 (3/5): b ind-libbind-devel 100 |=========================| 441 kB 00:00 (4/5): bind-c hroot-9.3.4- 100 |=========================| 41 kB 00:00
(5/5): bind-devel-9.3.4-6 100 |=========================| 2.6 MB 00:00 Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: bind ######################### [1/5]
Installing: bind-devel ######################### [2/5]
Installing: bind-chroot ######################### [3/5]
Installing: bind-libbind-devel ######################### [4/5]
Installing: bind-sdb ######################### [5/5]
Installed: bind-chroot.i386 30:9.3.4-6.P1.el5 bind-devel.i386 30:9.3.4-6.P1.el5 bind-libbind-devel.i 386 30:9.3.4-6.P1.el5 bind-sdb.i386 30:9.3.4-6.P1.el5
Dependency Installed: bind.i386 30:9.3.4-6.P1.el5
Complete!
[root@Access etc]# rpm -ivh /var/ftp/pub/Server/caching-nameserver-9.3.4-6.P1.el5.i386.rpm Preparing... ########################################### [100]
1:caching-nameserver ###########################################
[100]
[root@Access etc]#
,bind 的配置文件默認(rèn)是沒有的,需要自己手寫,但是很多,容易寫錯(cuò),所以我們安裝模板文件,然后來修改。由于安裝了chroot 環(huán)境,所以我們的/etc/named.conf 應(yīng)該在/var/named/chroot/etc/ 目錄。
沒有named.conf ,所以我們要把named.caching-nam e.conf 文件copy 一份成named.conf 哈~
cp /var/named/chroot/etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf
,編輯named.conf 這個(gè)文件 ,
刪除注釋的內(nèi)容這樣簡單一點(diǎn)。
先檢查你主機(jī)的名字,使用hostname
記住,linux 的主機(jī)名要是FQDN 的樣式,把你們自己的主機(jī)名字改改,不要最后的那個(gè),這個(gè)很重要的。 剛才講了FQDN 最后有根域的,把那個(gè)跟域去掉,就是你的主機(jī)名,改成那個(gè)樣子。
linux 修改主機(jī)名字修改三個(gè)地方,不知道大家還記得不?
第一步:hostnam e 主機(jī)名
第二步:vim
/etc/hosts
第三步:vim /etc/sysconfig/network
,修改完了把終端關(guān)閉了,然后重新打開就可以了
修改完了,我們繼續(xù)
下面我以example.com 這個(gè)二級域名來建立一個(gè)域名服務(wù)器
全局配置(options )
options 語句在每個(gè)配置文件中只有一個(gè)。如果出現(xiàn)多個(gè)options, 則第一個(gè)options 的配置有效,并會產(chǎn)生一個(gè)警告信息。
listen-on port 53 { 127.0.0.1; };
監(jiān)聽端口,修改成自己的IP 地址,如果有多個(gè)IP ,就寫多個(gè),每行要以;結(jié)束。
directory "/var/named";
zone 文件的存放目錄,這里的/var/named 是相對目錄,在chroot 環(huán)境下/var/named目錄下。
allow-query { localhost; };
允許查詢的client ,我們修改成本地網(wǎng)段192.168.0.0/24
同時(shí)把如下兩個(gè)選項(xiàng)給為自己的網(wǎng)段 192.168.0.0/24
match-clients { localhost; };
match-destinations { localhost; };
,下面我們開始寫zone 文件
區(qū)域配置(zone )
zone 語句作用是定義DNS 區(qū)域,在此語句中可定義DNS 區(qū)域選項(xiàng)
zone 區(qū)域設(shè)置,第一步,設(shè)置根區(qū)域
當(dāng)DNS 服務(wù)器處理遞歸查詢時(shí),如果本地區(qū)域文件不能進(jìn)行查詢的解析,就會轉(zhuǎn)到根DNS 服務(wù)器查詢,所以在主配置文件named.conf 文件中還要定義根區(qū)域。
zone "." {
type hint;
file "named.ca";
};
type:設(shè)置域的類型
file:設(shè)置根服務(wù)列表文件名
“.” 意思的根區(qū)域
IN 是internet 記錄
type 是類型 根的類型是hint
file 是根區(qū)域文件
下面我們?nèi)タ纯锤鶇^(qū)域文件,根的類型
,這些就是根服務(wù)器,你數(shù)數(shù),全球13臺。
繼續(xù),指定正向解析的配置文件
記住,bind 對配置文件要求很嚴(yán)格,就算是有些地方多了個(gè)空格,服務(wù)器都可能啟動不了哈
~
反向解析配置文件
一個(gè)簡單的named.conf 配置文件