目錄
一.了解DNS服務
1.認識域名空間
2.了解DNS服務的分類
Ⅰ.主DNS服務器
Ⅱ.輔助DNS服務器
Ⅲ.轉發DNS服務器
Ⅳ.唯高速快取DNS服務器
3.掌握DNS查詢模式
Ⅰ.遞回查詢
Ⅱ.轉寄查詢(又稱迭代查詢)
4.掌握域名決議程序
Ⅰ.DNS域名決議的作業原理
Ⅱ.正向決議和反向決議
二.安裝DNS服務(IP地址192.168.10.1)
1 .安裝BIND軟體包(實作DNS服務器的開放原始碼軟體)
2.DNS服務的啟動,停止和重啟,加入開機自啟動
三.掌握BIND組態檔
1.認識全域組態檔
2.認識主組態檔
1.Zone區域宣告
2.跟區域檔案/var/named/named.ca
3.快取DNS服務器的配置
四.配置主DNS服務器實體
1.案例環境及需求
2.配置程序
Ⅰ.配置全域組態檔/etc/named.conf檔案
Ⅱ.配置主組態檔
Ⅲ.修改bind的區域組態檔
Ⅳ.設定防火墻放行,設定主組態檔和區域檔案的屬組為named
Ⅴ.重啟DNS服務,并加入開機自啟
五.配置DNS客戶端
1.配置Windows客戶端
2.配置Linux客戶端(ip地址192.168.10.2)
六.使用nslookup測序DNS
1.nslookup命令<前提是客戶端與服務端通信暢通>
2.dig命令
3.host命令
一.了解DNS服務
DNS(Domain Name Service,域名決議服務)是Internet/Intarnet中最基本也是非常重要的一項服務,他提供了網路訪問域中域名和IP地址地相互轉化
1.認識域名空間
DNS是一個分布式資料庫,命名系統采用層次的邏輯結構,如同一棵倒置的樹,這個邏輯的樹形結構稱為域名空間,由于DNS劃分了域名空間,所以各機構可以使用自己的域名空間創建DNS資訊,如圖
DNS樹的每個節點代表一一個域, 通過這些節點,對整個域名空間進行劃分,成為一一個層次結構,域名空間的每個域的名字通過域名進行表示,域名通常由一個完全正( FullyQualified Domain Name, FQDN )標識,FQDN能準確表示出其相對于DNS域樹根的位置,也就是節點到DNS樹根地完整表述方式,從節點到樹根采用反向書寫,并將每個節點用"."分隔一個DNS域可以包括主機和其他域(子域),每個機構都擁有名稱空間地某一部分的授權,負責該部分名稱空間的管理和換份,并用它來命名DNS域和計算機,例如:163為com域的子域,其表示方法為163.com,而WWW為163域的Web主機,可以使用www.163.com表示
2.了解DNS服務的分類
Ⅰ.主DNS服務器
主DNS服務器( Master或Primary)負責維護所管轄域的域名服務資訊,它從域管理員構造的本地磁盤檔案中加載域資訊,該檔案(區檔案)包含著該服務器具有管理權的一部分域結構的最精確資訊,配置主域服務器需要一整套的組態檔,包括主組態檔(/etc/named.conf )、正向域的區檔案、反向域的區檔案、高速快取初始化檔案(/var/named/named.ca)和回送檔案(/var/named/named.local)
Ⅱ.輔助DNS服務器
輔助DNS服務器(Slave或Secondary )用于分擔主DNS服務器的查詢負載,區檔案是從主服務器中轉移出來的,并作為本地磁盤檔案存盤在輔助服務器中,這種轉移稱為“區檔案轉移”,在輔助DNS服務器中有一個所有域資訊的完整復制, 可以有權威地回客對該過中查詢請求,配置輔助DNS服務器不需要生成本地區檔案,因為可以從主服務器下載該區檔案,所以只需配置主組態檔、高速快取檔案和回送檔案就可以了,
Ⅲ.轉發DNS服務器
轉發DNS服務器( Forwarder Name Server )可以向其他DNS轉發決議請求,在DNS服務器收到客戶端的決議請求后,它首先會嘗試從其本地資料庫中查找;若未能找到,則需要向其他指定的DNS服務器轉發決議請求;其他DNS服務器完成決議后會回傳決議結果,轉發DNS服務器將該決議結果快取在自己的DNS快取中,并向客戶端回傳決議結果,在快取期內,如果客戶端請求決議相同的名稱,則轉發DNS服務器會立即回應客戶端;否則,將會再次發生轉發決議的程序,
目前網路中所有的DNS服務器均被配置為轉發DNS服務器,向指定的其他DNS服務器或根域服務器轉發自已無法完成的決議請求,
Ⅳ.唯高速快取DNS服務器
供本地網路上的客戶機用來進行域名轉換,它通過查詢其他DNS服務器并將獲得的資訊存放在它的高速快取中,為客戶機查詢資訊提供服務,唯高速快取DNS服務器( Caching-nonly DNS server)不是權威性的服務器,因為它提供的所有資訊都是間接資訊,
3.掌握DNS查詢模式
Ⅰ.遞回查詢
在收到DNS作業站的查詢請求后,DNS服務器在自己的快取或區域資料庫中查找,如果DNS服務器本地沒有存盤查詢的DNS資訊,那么,該服務器會詢問其他服務器,并將回傳的查詢結果提交給客戶機,
Ⅱ.轉寄查詢(又稱迭代查詢)
在收到DNS作業站的查詢請求后,如果在DNS服務器中沒有查到所需資料,該DNS服務器便會告訴DNS作業站另外-臺DNS服務器的IP地址,然后,再由DNS作業站自行向此DNS服務器查詢,以此類推,直到查到所需資料為止,如果到最后一臺DNS服務器都沒有查到所需資料,則通知DNS作業站查詢失敗,
“轉寄” 的意思就是,若在某地查不到,該地就會告訴你其他地方的地址,讓你轉到其他地方去查, 一般在DNS服務器之間的查詢請求便屬于轉寄查詢( DNS服務器也可以充當DNS作業站的角色),
4.掌握域名決議程序
Ⅰ.DNS域名決議的作業原理
如圖:
假設客戶機使用電信ADSL(Asymmetric Digital SubscriberLine,非對稱數字用戶線路)接入Internet,電信為其分配的DNS服務地址為210.111.110.10,域名決議如下:
1.客戶端向本地DNS服務器210.111.110.10直接查詢www.163.com的域名
2.本地DNS無法決議此域名,它先向根域服務器發出請求,查詢.com的DNS地址
3.根域DNS管理.com,.net,.org等頂級域名的地址決議,他收到請求后,把決議結果回傳給本地DNS,
4.本地DNS服務器210.111.110.10得到查詢結果后,接著向管理.com的域的DNS服務器發出進一步的查詢請求,要求得到163.com的DNS地址
5..com域把決議結果回傳給本地DNS服務器210.111.110.10
6.本地DNS服務器210.111.110.10得到查詢結果后,接著向管理163.com域的DNS服務器發出查詢具體主機IP地址的請求(WWW),要求得到滿足要求的主機IP地址,
7.163.com把決議結果回傳給了本地DNS服務器210.111.110.10
8.本地DNS服務器得到了最終的查詢結果,他把這個結果回傳給客戶端,從而使客戶端能夠和遠程主機通信,
Ⅱ.正向決議和反向決議
正向決議:正向決議是指域名到IP地址的決議程序
反向決議:反向決議是從IP地址到域名的決議程序,反向決議的作用:服務器的身份驗證
二.安裝DNS服務(IP地址192.168.10.1)
在linux下架設DNS服務器通常使用BIND(Berkeley Internet Name Domain)程式來實作,守護行程是named
1 .安裝BIND軟體包(實作DNS服務器的開放原始碼軟體)
[root@localhost ~]# rpm -qa | grep bind
[root@localhost ~]# yum -y install bind bind-chroot
[root@localhost ~]# rpm -qa | grep bind



2.DNS服務的啟動,停止和重啟,加入開機自啟動
[root@localhost ~]# systemctl restart named
[root@localhost ~]# systemctl enable named

三.掌握BIND組態檔
1.認識全域組態檔
[root@localhost ~]# cat /etc/named.conf\
options {
listen-on port 53 { 127.0.0.1; }; //指定BIND偵聽的DNS查詢請求的本機IP地址及埠
listen-on-v6 port 53 { ::1; }; //限于IPv6
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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
allow-query { localhost; }; //指定接收DNS查詢請求的客戶端
recursion yes;dnssec-enable yes;
dnssec-validation yes; //改為no可以忽略SElinux影響managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
include "/etc/crypto-policies/back-ends/bind.config";
};//以下用于指定BIND服務的日志引數
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};zone "." IN { //用于指定根服務器的配置資訊,一般不能改動
type hint;
file "named.ca";
};include "/etc/named.rfc1912.zones"; //指定主組態檔按,一定要根據實際修改
include "/etc/named.root.key";
- directory:用于指定named守護行程的作業目錄,各區域正反向搜索決議檔案和DNS根服務器地址串列檔案(named.ca)應放在該配置項指定的目錄中,
- allow-query{}:與allow-query{localhost;}功能相同,另外,還可以使用地址匹配符來表達允許的主機,例如,any可匹配所有的IP地址,none不匹配任何的IP地址,localhost匹配本地主機使用的所有IP地址,localnets匹配本地主機相連的網路中所有主機,例如:僅允許127.0.0.1和192.168.1.0/24網段的主機查詢該DNS服務器,則命令為:allow-query {127.0.0.1;192.168.1.0/24};
- listen-on:設定named守護行程監聽的IP地址和監聽埠,若未指定,默認監聽DNS服務器所有的IP地址的53號埠,若要設定DNS服務器監聽192.168.1.2這個IP地址,埠使用標準的5353埠,則配置命令:listen-on port 5353 {192.168.1.2};
- forwarders{}:用于定義DNS轉發器,在設定了轉發器后,所有非本域的和在快取中無法找到的域名查詢,可由指定的DNS轉發器來完成決議作業并做快取,foward用于指定轉發方式,僅在forwarders轉發器串列不為空時有效,其用法為“foward first l only;”,forward first為默認方式,DNS服務器會將用戶的域名查詢請求先轉發給forwarders設定的轉發器,由轉發器來完成域名的決議作業,若指定的轉發器無法完成決議或無回應,則再由DNS服務器自身來完成域名的決議,若設定為“forward only;”則DNS服務器僅將用戶的域名查詢請求轉發給轉發器,若指定的轉發器無法完成域名決議或無回應,DNS服務器自身也不會試著對其進行域名決議,例如,某地區的DNS服務器為61.128.192.68和61.128.128.68,若要將其設定 options{ forwarders {61.128.192.68;61.128.129.68;}; forward first; }
2.認識主組態檔
[root@localhost ~]# cat /etc/named.rfc1912.zones
zone "localhost.localdomain" IN {
type master; //主要區域
file "named.localhost"; //指定正向查詢區域組態檔
allow-update { none; };
};......../省略/
zone "1.0.0.127.in-addr.arpa" IN { //反向決議區域
type master; //指定反向決議區域組態檔
file "named.loopback";
allow-update { none; };
};1.Zone區域宣告
(1)主域名服務器的正向決議區域宣告為(樣本檔案為named.localhost)
zone "區域名稱" IN {
type master; //主要區域
file "實作正向決議的區域檔案名"; //指定正向查詢區域組態檔
allow-update { none; };
};(2)從域名服務器的正向決議區域宣告格式為
zone "區域名稱" IN { //反向決議區域
type slave; //指定反向決議區域組態檔
file "實作正向決議的區域檔案名";masters {主域名服務器的IP地址;}
};2.跟區域檔案/var/named/named.ca
包含了Internet的定義域名服務器的名字和資質,利用該檔案可以讓DNS服務器找到根DNS服務器,并初始化DNS的緩沖區,當DNS服務器街道客戶端主機的查詢請求時,如果在Cache中找不到相應的資料,就會通過跟服務器進行逐級查詢
![]()
3.快取DNS服務器的配置
快取域名服務器配置很簡單,不需要區域檔案,只需要配置好/etc/named.conf就可以了,一般電信的DNS都是快取域名服務器,重要的是配置好以下兩項內容,
(1):用“forward only”命令指明這個服務器是快取域名服務器
(2):用"forwarders {轉發dns請求到哪個服務器IP;};"的命令格式設定轉發dns請求到哪個服務器
四.配置主DNS服務器實體
1.案例環境及需求
某校園網要架設一臺DNS服務器負責long.com域的域名決議作業,DNS服務器的FQDN為dns.long.com,IP地址為192.168.10.1.要求為以下域名實作正反域名決議服務,
dns.long.com 192.168.10.1
mail.long.com 192.168.10.2
slave.long.com 192.168.10.3
www.long.com 192.168.10.4
ftp.long.com 192.168.10.5
另外為www.long.com設定別名為web.long.com
2.配置程序
配置程序包括全域組態檔,主組態檔和正反區域決議檔案的配置
Ⅰ.配置全域組態檔/etc/named.conf檔案
第一步:把options選項中的偵聽IP(127.0.0.1)改為any
第二步:把dnssec-vaildation yes 改為 no
第三步:把允許網段allow-query 后面的localhost改為any,
Ⅱ.配置主組態檔
[root@localhost ~]# vim /etc/named.rfc1912.zones
添加以下內容:
zone "long.com" IN{
type master;
file "long.com.zone";
allow-update { none; };
}
zone "10.168.192.in-addr.arpa" IN{
type=master;
file "192.168.10.zone";
allow-update { none; };
}
Ⅲ.修改bind的區域組態檔
①創建long.com.zone正向區域檔案
正向區域檔案位于/var/named目錄下,為編輯方便可先將樣本檔案named.localhost復制到long.com.zone,再對long.com.zone編輯修改
②創建192.168.10.zone反向區域檔案
反向區域檔案位于/var/named目錄下,為編輯方便可先將樣本檔案named.loopback復制到192.168.10.zone,再對192.168.10.zone編輯修改
Ⅳ.設定防火墻放行,設定主組態檔和區域檔案的屬組為named
Ⅴ.重啟DNS服務,并加入開機自啟
五.配置DNS客戶端
DNS客戶端的配置非常簡單,假設本地首選DNS服務器的IP地址為192.168.10.1,備用DNS的服務器IP地址為192.168.10.2,則DNS客戶端設定如下,
1.配置Windows客戶端
打開"Internet協議(TCP/IP)"屬性對話框,輸入以下DNS服務器的IP地址即可
2.配置Linux客戶端(ip地址192.168.10.2)
在linux系統中修改/etc/resolv.conf檔案來設定DNS客戶端
六.使用工具測驗DNS
BIND軟體包提供了三個DNS測驗工具,nslookup,dig和host,
1.nslookup命令<前提是客戶端與服務端通信暢通>
2.dig命令
3.host命令
//正向查詢主機IP地址
[root@localhost~]#host www.long.com
//反向查詢IP地址對應的域名
[root@localhost~]#host 192.168.10.3
//查詢不同型別的資源記錄配置,-t引數后可以為SOA,MX,CNAME,A,PTR等
[root@localhost~]#host -t NS long.com
//列出整個long.com域的資訊
[root@localhost~]#host -l long.com
//列出與指定主機資源記錄相關的詳細資訊
[root@localhost~]#host -a web.long.com
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/430291.html
標籤:其他



options {












