歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 自己動手搭建DNS服務器

自己動手搭建DNS服務器

日期:2017/3/1 12:10:39   编辑:關於Linux

前言:

在我們平時上網中,訪問的都是域名,那麼域名是如何轉換為IP地址的呢?進而訪問我們的服務器主機的呢?這時候就需要用到DNS服務器了。DNS是由域名解析器和域名服務器組成的,域名服務器是指保存有該網絡中所有主機的域名和對應IP地址,並具有將域名轉換為IP地址功能的服務器。


那麼接下就開始搭建DNS服務器吧!

wKiom1cHsTjQTQ59AACb_ywGqfY974.png

1.首先搭建主DNS服務器,ch1主機配置如下:

[root@ch1~]#yum-yinstallbind##安裝bind程序
[root@ch1~]#ntpdate172.18.0.1##同步時間服務器
[root@ch1~]#vim/etc/named.conf##修改DNS服務器配置文件

wKioL1cHwffhDVixAAA95oyakBM222.png

[root@ch1~]#named-checkconf##檢查配置文件語法錯誤
[root@ch1~]#vim/etc/named.rfc1912.zones##在此配置文件中添加區域

wKiom1cHtPGB3f2AAAATS9LPMs8456.png

[root@ch1~]#vim/var/named/test.com.zone##在/var/named目錄下建立區域數據文件

wKioL1cJEQzBlmmJAABX-uOIEGA247.png

[root@ch1named]#vim/var/named/172.18.20.zone##建立反向解析區域數據文件

wKiom1cHu7eRjFjzAAAWVA5nIZg894.png

[root@ch1~]#chown:named/var/named/test.com.zone##修改屬組為named
[root@ch1~]#chmodo=/var/named/test.com.zone##移除其他的權限
[root@ch1named]#named-checkzonetest.com/var/named/test.com.zone##檢測區域文件語法錯誤
[root@ch1named]#named-checkzone20.18.172.in-addr.arpa/var/named/172.18.20.zone
[root@ch1named]#servicenamedstart##啟動DNS服務
[root@ch1named]#[email protected]##測試DNS服務器172.18.20.10是否能正常解析A記錄
[root@ch1named]#[email protected]##測試DNS服務器172.18.20.10是否能反向解析172.18.20.11

主DNS服務器搭建完畢


2.搭建從DNS服務器,ch2配置如下

[root@ch2~]#yum-yinstallbind##安裝bind程序
[root@ch2~]#ntpdate172.18.0.1##同步時間服務器
[root@ch2~]#vim/etc/named.rfc1912.zones##定義一個從區域

wKioL1cHwHKxfsXsAAAOT3wiXg8727.png

[root@ch2~]#named-checkconf##檢查語法錯誤
[root@ch2~]#servicenamedstart##啟動DNS服務
[root@ch2slaves]#cattest.com.zone##查看區域配置文件是否能夠同步

注意:要在主DNS服務器上配置一條指向從DNS服務器的NS記錄


3.配置子域

[root@ch3~]#yum-yinstallbind##安裝bind程序
[root@ch3~]#ntpdate172.18.0.1##同步時間服務器
[root@ch3~]#vim/etc/named.conf##修改配置文件

wKioL1cH0HGSLAz9AAAyfckZMP0791.png

[root@ch3~]#vim/etc/named.rfc1912.zones##建立區域配置

wKioL1cJEKKynwJGAAAXAncqnsU492.png

[root@ch3~]#vim/var/named/ops.test.com.zone##建立區域配置文件

wKiom1cJETixUdJxAAA_8xg6OmE197.png

[root@ch3~]#named-checkconf##檢查語法是否錯誤
[root@ch3~]#servicenamedstart##啟動服務
[root@ch3~]#[email protected]##測試子域是否能夠正常解析
[root@ch3~]#[email protected]##測試子域是否能夠解析父域

注意:子域同樣需要主DNS服務器上的授權


總結:

1. DNS是應用層協議,端口號為tcp/53和udp/53

2. DNS查詢的過程

wKioL1cJFUaCybXAAAFRE1LVtDo680.png

(1)客戶機將查詢www.test.com的信息傳遞到自己的首選DNS服務器。

(2)DNS客戶機的首選DNS服務器檢查區域數據庫,由於此服務器沒有test.com域的授權記 錄,因此,它將查詢信息傳遞到根域DNS服務器,請求解析主機名稱。

(3)根域DNS服務器把負責解析“com”頂級域的DNS服務器的IP地址返回給DNS客戶機的首選 DNS服務器。

(4)首選DNS服務器將請求發送給負責“com”域的DNS服務器。

(5)負責“com”域的服務器根據請求將負責“test.com”域的DNS服務器的IP地址返回給首 選DNS服務器。

(6)首選DNS服務器向負責“test.com”區域的DNS服務器發送請求。

(7)由於此服務器具有www.test.com的記錄,因此它將www.test.com 的IP地址返回給首 選DNS 服務器。

(8)客戶機的首選DNS服務器將www.test.com的IP 地址發送給客戶機。

(9)域名解析成功後,客戶機將http請求發送給Web服務器。

(10)Web服務器響應客戶機的訪問請求,客戶機便可以訪問目標主機。

3.DNS服務器類型

主DNS服務器:維護所負責解析的域數據庫的那台服務器;讀寫操作均可進行;

從DNS服務器:從主DNS服務器那裡或其它的從DNS服務器那裡“復制”一份解析庫;但 只能進行讀操作;

4. DNS區域數據庫文件常見類型

SOA:起始授權記錄; 一個區域解析庫有且只能有一個SOA記錄

NS:域名服務記錄;一個區域解析庫可以有多個NS記錄;其中一個為主的;

A: 地址記錄,FQDN --> IPv4;

AAAA:地址記錄, FQDN --> IPv6;

CNAME:別名記錄;

PTR:Pointer,IP --> FQDN

MX:Mail eXchanger,郵件交換器;

5. DNS的配置文件

主配置文件:/etc/named.conf

或包含"include"設定的其它文件;

/etc/named.iscdlv.key

/etc/named.rfc1912.zones

/etc/named.root.key

解析庫文件:

/var/named/目錄下;

一般名字為:ZONE_NAME.zone

6. DNS測試工具

dig命令:

dig [-t RR_TYPE] name [@SERVER] [query options]

用於測試dns系統,因此其不會查詢hosts文件;

查詢選項:

+[no]trace:跟蹤解析過程;

+[no]recurse:進行遞歸解析;

反向解析測試:dig -x IP

模擬完全區域傳送:dig -t axfr DOMAIN [@server]

7. DNS中的安全相關的配置

訪問控制指令:

allow-query { }; 允許查詢的主機;白名單;

allow-transfer { }; 允許向哪些主機做區域傳送;默認為向所有主機;

allow-recursion { }; 允許哪此主機向當前DNS服務器發起遞歸查詢請求;

allow-update { }; DDNS,允許動態更新區域數據庫文件中內容;

Copyright © Linux教程網 All Rights Reserved