DNS解析原理與Bind部署DNS服務

DNS是什么?

DNS(Domain Name System,域名系統)是互聯網上最核心的帶層級的分布式系統,它負責把域名轉換為IP地址、反查IP到域名的反向解析以及宣告郵件路由等信息,使得基于域名提供服務稱為可能,例如網站訪問、郵件服務等。

DNS解析原理

DNS系統由兩部分組成,一是Resolver解析器,作為DNS請求的客戶端,負責從DNS記錄中解析出IP或別名等信息;二是NS域名服務器,提供域名解析服務,例如Bind。

DNS服務器分為三類:一是權威域名服務器,用于解析域名或使用NS記錄進行授權;二是緩存域名服務器,用于遞歸查詢并緩存DNS記錄;三是轉發域名服務器,僅用于轉發DNS請求給指定的上級域名服務器。

DNS記錄類型

1.A記錄:指定域名對應IP的記錄

2.PTR記錄:指定IP對應域名的記錄

3.MX記錄:郵件交換記錄,也叫郵件路由記錄,指向郵件服務器的IP

4.CNAME記錄:別名記錄,用于指向另一個域名

5.NS記錄:域名服務器記錄,指定該域名由哪個DNS服務器來解析

Bind部署DNS域名解析

Bind是什么?

BIND伯克利互聯網域名服務(Berkeley Internet Name Domain)是一款全球互聯網使用最廣泛、能夠提供安全可靠、快捷高效的域名解析的服務程序。

安裝Bind服務程序

[root@localhost ~]# yum install -y bind-chroot

?修改主配置文件

[root@localhost ~]# vim /etc/named.conf 12 options {13         listen-on port 53 { any; };  //監聽53端口所有來源信息14         listen-on-v6 port 53 { ::1; };15         directory       "/var/named";16         dump-file       "/var/named/data/cache_dump.db";17         statistics-file "/var/named/data/named_stats.txt";18         memstatistics-file "/var/named/data/named_mem_stats.txt";19         allow-query     { any; };   //允許所有來源訪問

正向解析:由域名到IP

配置區域文件

[root@localhost ~]# vim /etc/named.rfc1912.zones zone "test.com" IN{type master;         //服務器類型:主服務器file "test.com.zone";  // 數據文件名稱allow-update {none;};   // 是否允許從服務器更新解析數據};

?配置域名解析文件

[root@localhost ~]# cd /var/named
[root@localhost named]# cp -a named.localhost test.com.zone
[root@localhost named]# vim test.com.zone $TTL 1D@       IN SOA  test.com. root.test.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      ns.test.com.          //域名服務器記錄:表示該域名由哪臺DNS進行解析ns      IN A    192.168.41.10IN MX 10 mail.test.com.       //郵箱交換記錄,用于郵件系統解析mail    IN A    192.168.41.10www     IN A    192.168.41.10        //地址記錄,表明三級域名www.test.com 對應的解析地址bbs     IN A    192.168.41.10

?重啟服務,進行測試

 [root@localhost named]# systemctl restart named[root@localhost named]# systemctl enable named[root@localhost ~]# nslookup  //常用解析器> www.test.comServer:		192.168.41.10Address:	192.168.41.10#53Name:	www.test.comAddress: 192.168.41.10> bbs.test.comServer:		192.168.41.10Address:	192.168.41.10#53Name:	bbs.test.comAddress: 192.168.41.10> 

#測試前記得修改DNS或者直接在/etc/resolve.conf中添加

反向解析:由IP到域名

配置區域文件

 [root@localhost ~]# vim /etc/named.rfc1912.zones zone "41.168.192.in-addr.arpa" IN{type master;file "192.168.41.arpa";allow-update {none;};};     

配置反向解析文件

[root@localhost ~]# cd /var/named
[root@localhost named]# cp -a named.loopback 192.168.41.arpa
[root@localhost named]# vim 192.168.41.arpa $TTL 1D@       IN SOA  test.com. root.test.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      ns.test.com.ns      A       192.168.41.1010      PTR     ns.test.com.10      PTR     mail.test.com.10      PTR     www.test.com.20      PTR     bbs.test.com.

?重啟服務,進行測試

 [root@localhost named]# systemctl restart named[root@localhost named]# nslookup> 192.168.41.10Server:		192.168.41.10Address:	192.168.41.10#5310.41.168.192.in-addr.arpa	name = www.test.com.10.41.168.192.in-addr.arpa	name = ns.test.com.10.41.168.192.in-addr.arpa	name = mail.test.com.> 192.168.41.20Server:		192.168.41.10Address:	192.168.41.10#5320.41.168.192.in-addr.arpa	name = bbs.test.com.> 

部署從服務器

配置主服務器區域文件

[root@localhost named]# vim /etc/named.rfc1912.zones zone "test.com" IN{type master;file "test.com.zone";allow-update {192.168.41.30;};   //允許從服務器更新};zone "41.168.192.in-addr.arpa" IN{type master;file "192.168.41.arpa";allow-update {192.168.41.30;};};

?配置從服務器區域文件

[root@localhost ~]# vim /etc/named.rfc1912.zones zone "test.com" IN{type slave;          //服務器類型:從服務器masters {192.168.41.10;};  //主服務器IPfile "slaves/test.com.zone";  //同步的文件保存的地址};zone "41.168.192.in-addr.arpa" IN{type slave;masters {192.168.41.10;};file "slaves/192.168.41.arpa";};

?重啟服務,進行測試

 [root@localhost slaves]# cd /var/named/slaves/[root@localhost slaves]# systemctl restart named[root@localhost slaves]# ls192.168.41.arpa  test.com.zone		// 主服務器數據文件已經同步過來了[root@localhost slaves]# nslookup	> www.test.comServer:		192.168.41.30Address:	192.168.41.30#53Name:	www.test.comAddress: 192.168.41.10> bbs.test.comServer:		192.168.41.30Address:	192.168.41.30#53Name:	bbs.test.comAddress: 192.168.41.10> 192.168.41.10Server:		192.168.41.30Address:	192.168.41.30#5310.41.168.192.in-addr.arpa	name = www.test.com.10.41.168.192.in-addr.arpa	name = mail.test.com.10.41.168.192.in-addr.arpa	name = ns.test.com.> 

#測試前記得修改DNS或者直接在/etc/resolve.conf中添加
#同步之前記得設置或關閉主服務器防火墻,主從服務器都要重啟named服務

?幾點說明

1./etc/resolve.conf是設置DNS的文件,解析器需要讀取該文件請求DNS服務。

2.當網卡重啟時,/etc/resolve.conf文件內的設置將會被網卡配置文件中的DNS設置覆蓋,所以如果希望DNS設置永久生效,則要在網卡配置文件中配置DNS;如果只是臨時修改或添加DNS,則直接配置/etc/resolve.conf文件即可。

3.Bind服務默認開啟遞歸查詢功能,所以既是緩存域名服務器,又是權威域名服務器。如果僅作為權威服務器用于域名解析,則可以關閉遞歸查詢功能;

vim /etc/named.conf
options {listen-on port 53 { any; };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; };recursion no;          // 關閉遞歸查詢功能dnssec-enable yes;dnssec-validation yes;

?4.DNS服務器中存放著全球13組根域名服務器的NS記錄,保存在域名解析文件named.ca中。

vim /etc/named.confzone "." IN {type hint;file "named.ca";
};vim /var/named/named.ca ; formerly NS.INTERNIC.NET
;
.                        3600000      NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
A.ROOT-SERVERS.NET.      3600000      AAAA  2001:503:ba3e::2:30
;
; FORMERLY NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     192.228.79.201
B.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:84::b
;
; FORMERLY C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
C.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:2::c
"/var/named/named.ca" 92L, 3289C     
... ...

?

轉載于:https://www.cnblogs.com/Peter2014/p/7561597.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454613.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454613.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454613.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

qt 獲取本機的wifi密碼_還在記密碼?這款開源免費的賬號密碼管理神器趕緊收了...

工作中涉及到得賬號密碼,你是怎么記錄得?如果是文檔word或者excel記錄,那么回非常麻煩,每次還得打開。如果是瀏覽器自己記錄,如果更新密碼,又記不得。尷尬!今天大衛給大家推薦一款開源免費得賬號…

adaptec raid linux,adaptecraid卡管理軟件在windows和linux下的安裝使用介紹(7頁)-原創力文檔...

adaptec raid卡管理軟件在 windows和linux下的安裝使用文檔l.adaptec raid卡的管理軟件在 windows下安裝后的運行界面如下圖:adaplecadaplec點擊connect后,便可進入管理軟件的主界面,如下圖:在這個主界面中可以選擇要操作的 raid卡,例如本例中…

think queue 消息隊列初體驗

使用的是tp5 自帶的消息隊列 thinkphp top里的 消息隊列框架 think-queue 這是thinkphp官方團隊開發的一個專門支持隊列服務的擴展包 消息隊列應用場景: 消息隊列適用于大并發或者返回結果 時間有點長并需要批量操作的第三方接口。 當前使用快遞單號獲取&#xf…

Linux快速計算MD5和Sha1命令

Linux計算MD5和Sha1的命令 MD5 MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于確保信息傳輸完整一致。是計算機廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法),主流編程語言普遍已有MD5實現。 S…

win10無法運行C語言文件,主編告訴你win10打不開pdf文件的詳盡處理辦法

win10打不開pdf文件的問題大家有沒有發現呢?今天有一個網友就來向小編詢問處理辦法。其實不知都還有多少用戶遇到了win10打不開pdf文件的問題,我們可以嘗試著自己來處理win10打不開pdf文件的問題,我們其實只需要這樣操作:1、2、就…

MySQL 自帶的四個數據庫 介紹

背景 通過終端登錄mysql數據庫(或直接用客戶端工具)查看全部數據庫,如下: 5.7及以上自帶庫為:information_schema、mysql、performance_schema、sys; 5.6自帶的庫為:information_schema、mysql、performa…

簡單繪圖軟件實現mfc大作業_紙筆書寫|可直播可微課可寫作業可批改的手寫板,快來愛“我”吧...

線上教學進入下半場,我們需要什么?走過線上教育的探索期,相信不少老師已經對線上教學駕輕就熟了,但對于線上教學來說,合適的教學支持工具始終是必不可少的。不論是文科教師,還是理科教師,對于真…

一道多線程通信實例分析

程序如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354public static void main(String[] args) throws Exception{ final List list new ArrayList(); final Object lock new Object(); Thread t1 …

react native (一)

開始接觸app方面的工作,真心塞~又開始了周而復始的死磕一個問題專坐一整天的節奏,關鍵是還沒有成績,實在無語。╮(╯▽╰)╭,還是總結一下最近心塞歷程吧……react native中文網:http://reactnative.cn/docs/0.48/gett…

2臺電腦一根網線傳文件_「教程」如何快速的在兩臺電腦間傳輸大文件?

兩臺電腦如何傳輸文件我們常見的就是使用U盤或者網盤進行傳輸但是速度非常的慢我們需要一種文件可以直接復制到另一臺設備的方法首先準備一根網線然后將兩臺電腦連接到同一局域網內在右下角的小電腦打開網絡設置找到共享選項然后將公用文件夾共享開啟在下面密碼保護的共享中你可…

C語言信息系統貼吧,急 c語言學生信息管理系統

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓scanf("%s",s.name);printf("請輸入學生的性別:");scanf("%s",s.sex);printf("請輸入學生的班級:");scanf("%s",s.grade);printf("請輸入學生的成績…

Python 內置模塊之 re

前言 輸入一個手機號18333333333,你是怎么知道這串數字是手機號呢,假如現在你用python寫一段代碼,類似: phone_number input(please input your phone number:) 你怎么判斷這個phone_number是合法的呢?…

mysqld_safe啟動mysql

/home/data_mysql/mysql_3306/bin/mysqld_safe --defaults-file/home/data_mysql/mysql_3306/my.cnf --userroot & 原來的 /home/data_mysql/mysql_3306/bin/mysqld --defaults-file/home/data_mysql/mysql_3306/my.cnf --basedir/home/data_mysql/mysql_3306 --datadir/ho…

訂閱內容解碼失敗(非base64碼)_【火眼金睛】超強解碼能力——邦納全新ABR系列讀碼器來襲!...

點擊關注▲ “邦納”,開啟智造之旅邦納全新ABR系列讀碼器具有超強的解碼能力,兩種不同子系列產品,具有多重分辨率和鏡頭配置。從此讀碼不再是難題!產品特點超強的解碼能力使其可以讀取困難的1D/2D碼,包括DPM碼和低對比…

程序員面試、算法研究、編程藝術、紅黑樹4大系列集錦與總結

程序員面試、算法研究、編程藝術、紅黑樹4大經典原創系列集錦與總結 作者:July--結構之法算法之道blog之博主。 時間:2010年10月-2011年6月。 出處:http://blog.csdn.net/v_JULY_v 。 聲明:版權所有,侵犯必究。 前言 …

android中資源文件的兩種訪問方式,在android開發中進行數據存儲與訪問的多種方式介紹...

在android開發中進行數據存儲與訪問的多種方式介紹更新時間:2013年06月07日 16:24:23 作者:很多時候我們的軟件需要對處理后的數據進行存儲或再次訪問,Android為數據存儲提供了多種方式,首先給大家介紹使用文件如何對數據進行存…

MySQL5.6主從復制(讀寫分離)方案

MySQL5.6主從復制(讀寫分離)方案 https://yq.aliyun.com/articles/24255 摘要: 一、前言:為什么MySQL要做主從復制(讀寫分離)? 通俗來講,如果對數據庫的讀和寫都在同一個數據庫服務器中操作,業務…

Python 內置模塊之 os

os.walk os.walk() 方法是一個簡單易用的文件、目錄遍歷器,可以幫助我們高效的處理文件、目錄方面的事情。簡單來說,就是挨個遍歷指定路徑下的目錄(文件夾)和文件。用于通過在目錄樹中游走輸出在目錄中的目錄名,文件名…

[arm驅動]linux內核時鐘

《[arm驅動]linux內核時鐘》涉及內核驅動函數四個,內核結構體一個,分析了內核驅動函數一個;可參考的相關應用程序模板或內核驅動模板一個,可參考的相關應用程序模板或內核驅動一個 一、內核定時器 意義:內核定時器是軟件意義上…

企業網站 源碼 服務郵箱:_公司企業郵箱購買,外貿企業郵箱用哪家服務好?

企業日常辦公,經常會用到各種辦公軟件,而企業郵箱便是最常用的產品。公司在購買企業郵箱時需要考慮哪些方面,尤其是對于外貿行業的企業郵箱,應該如何選擇呢?1. 安全保障公司企業郵箱購買時,首先要關注的就是…