1. 程式人生 > >快取DNS伺服器和主DNS伺服器的快速搭建詳解

快取DNS伺服器和主DNS伺服器的快速搭建詳解

一、設定配置內容
假設我們已經在網上註冊了wangej.com域名,得到的IP網路是172.16.12.0/24
ns伺服器是:172.16.12.1
www伺服器:172.16.12.1,另外一個地址:172.16.12.3
mail伺服器:172.16.12.2
ftp主機在www伺服器上,即ftp為www的別名

二、準備工作:
這裡我們使用bind97來搭建我們的DNS伺服器,首先需要安裝好bind97.i386、bind97-libs.i386、bind97-utils.i386這三個軟體包。軟體包可以在https://www.isc.org/wordpress/downloads/官方網站下載。(此為原始碼)
三、配置檔案詳解
/etc/named.conf為BIND服務程序的主配置檔案
BIND程序的工作屬性
區域的定義

  1. options {                                       #定義選項 
  2.     directory "/var/named";                     #定義資料檔案目錄 
  3.   };                                                 
  4.   zone "." IN {                                 #定義區域 
  5.     type hint;                                  #定義區域型別為根 
  6.     file "named.ca";                            #定義資料檔案 
  7.   };                                                 
  8.   zone "localhost" IN {                         #定義本地解析區域 
  9.     type master;                                #定義區域型別為主 
  10.     file "named.localhost";                     #定義資料檔案 
  11.   }; 
  12.   zone "0.0.127.in-addr.arpa" IN {              #定義反向解析區域 
  13.     type master;                                #定義區域型別為主 
  14.     file "named.loopback";                      #定義資料檔案 
  15.   }; 

/etc/rndc.key為rndc服務的金鑰檔案
rndc:Remote Name Domain Controller遠端名稱服務控制器
/etc/rndc.conf為rndc服務的金鑰檔案
/var/named/目錄
目錄中儲存的均為區域資料檔案
/etc/rc.d/init.d/named BIND的服務控制指令碼,用來在rhel5中使用service呼叫開關的。
四、資源記錄型別和字元含義
  1. SOA(Start Of Authority起始授權記錄) 
  2.     ZONE NAME    TTL    IN    SOA FQDN(主DNS)   ADMINISTRATOR_MAILBOX( 
  3.                                                 serial number           #版本號 
  4.                                                 refresh                 #定義檢查週期時間 
  5.                                                 retry                   #定義重試時間 
  6.                                                 expire                  #定義過期時間 
  7.                                                 nagative answer TL      #定義否定答案的快取時長 
  8.     時間單位:M(分鐘)、H(小時)、D(天)、W(周)、預設單位是秒 
  9.     郵箱格式:[email protected] -寫為-> admin.magedu.com. 
  10.     magedu.com.   600    IN    SOA   ns1.wangej.com.   admin.wag.com.   ( 
  11.                                                 20130401(最長10為數) 
  12.                                                 1H 
  13.                                                 5M 
  14.                                                 1W 
  15.                                                 1D) 
  16. NS(Name Server):區域名稱-->主機名 
  17.     magedu.com.     600    IN    NS     ns.magedu.com. 
  18.     ns.magedu.com.  600    IN    A      1.1.1.2 
  19. MX(Mail eXchange):ZONE NAME --> FQDN 
  20.     優先順序 0-99:數字越小級別越高 
  21.     ZONE NAME     TTL    IN    MX  pri    VALUE 
  22.     magedu.com.   600    IN    MX  10     mail.magedu.com. 
  23.     mail.magedu.com.  600 IN   A          1.1.1.3 
  24. A(address): FQDN-->IPv4 
  25. AAAA:FQDN-->IPv6 
  26. PTR(pointer): IP-->FQDN   指標記錄 
  27. CNAME(Canonical NAME): FQDN-->FQDN  別名記錄 

五、配置快取DNS伺服器
1、vim /etc/named.conf



  1. options {     #定義選項 
  2.     directory "/var/named";   #定義資料檔案目錄 
  3.   }; 
  4.   zone "." IN {   #定義區域 
  5.     type hint;    #定義區域型別為根 
  6.     file "named.ca";              #定義資料檔案 
  7.   };  
  8.   zone "localhost" IN {   #定義本地解析區域 
  9.     type master;      #定義區域型別為主 
  10.     file "named.localhost";   #定義資料檔案 
  11.   }; 
  12.   zone "0.0.127.in-addr.arpa" IN {    #定義反向解析區域 
  13.     type master;      #定義區域型別為主 
  14.     file "named.loopback";    #定義資料檔案 
  15.   }; 
  
檢查語法是否錯誤:
named-checkconf
檢查named.conf檔案的屬主屬組和許可權
  1. [[email protected] named]# chmod  640 /etc/named.conf 
  2. [[email protected] named]# chown  root:named  /etc/named.conf 
  3. [[email protected] named]# ll /etc/named.conf 
  4. -rw-r----- 1 root named 369 Apr  1 22:08 /etc/named.conf 

2、這裡我們需要關閉SELinux,以確保linux的安全機制不會對BIND服務造成什麼影響。
檢視SELinux當前狀態:

  1. [[email protected] named]# getenforce                  #檢視SELinux當前的開啟狀態 
  2. Enforcing                                           #SELinux開啟狀態 
  3. [[email protected] named]# setenforce 0                #臨時性關閉SELinux服務 
  4. [[email protected] named]# getenforce                  #再次檢視SELinux 
  5. Permissive 

臨時性關閉SELinux:
# setenforce 0
開啟SELinux服務
# setenforce 1

永久關閉SELinux就需要配置: vim /etc/selinux/
這裡我們關閉SELinux服務
# setenforce 0
3、測試服務是否正常
重啟named服務service named restart然後我們ping一個EQDN測試是否成功
  1. [[email protected] named]# service named restart 
  2. Stopping named:                                            [  OK  ] 
  3. Starting named:                                            [  OK  ] 
使用dig命令檢視一下根域
dig -t NS . @172.16.12.1   通過我們自己設定的DNS伺服器檢視根域名伺服器。
  1. [[email protected] named]# dig -t NS . @172.16.12.1 
  2. ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t NS . @172.16.12.1 
  3. ;; global options: +cmd 
  4. ;; Got answer: 
  5. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64807 
  6. ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 14 
  7. ;; QUESTION SECTION: 
  8. ;.              IN  NS 
  9. ;; ANSWER SECTION: 
  10. .           487177  IN  NS  a.root-servers.net. 
  11. .           487177  IN  NS  f.root-servers.net. 
  12. .           487177  IN  NS  m.root-servers.net. 
  13. .           487177  IN  NS  h.root-servers.net. 
  14. .           487177  IN  NS  k.root-servers.net. 
  15. .           487177  IN  NS  b.root-servers.net. 
  16. .           487177  IN  NS  i.root-servers.net. 
  17. .           487177  IN  NS  l.root-servers.net. 
  18. .           487177  IN  NS  d.root-servers.net. 
  19. .           487177  IN  NS  e.root-servers.net. 
  20. .           487177  IN  NS  j.root-servers.net. 
  21. .           487177  IN  NS  c.root-servers.net. 
  22. .           487177  IN  NS  g.root-servers.net. 
  23. ;; ADDITIONAL SECTION: 
  24. a.root-servers.net. 573577  IN  A   198.41.0.4 
  25. a.root-servers.net. 573577  IN  AAAA    2001:503:ba3e::2:30 
  26. b.root-servers.net. 573577  IN  A   192.228.79.201 
  27. c.root-servers.net. 573577  IN  A   192.33.4.12 
  28. d.root-servers.net. 573577  IN  A   199.7.91.13 
  29. d.root-servers.net. 573577  IN  AAAA    2001:500:2d::d 
  30. e.root-servers.net. 573577  IN  A   192.203.230.10 
  31. f.root-servers.net. 573577  IN  A   192.5.5.241 
  32. f.root-servers.net. 573577  IN  AAAA    2001:500:2f::f 
  33. g.root-servers.net. 573577  IN  A   192.112.36.4 
  34. h.root-servers.net. 573577  IN  A   128.63.2.53 
  35. h.root-servers.net. 573577  IN  AAAA    2001:500:1::803f:235 
  36. i.root-servers.net. 573577  IN  A   192.36.148.17 
  37. i.root-servers.net. 573577  IN  AAAA    2001:7fe::53 
  38. ;; Query time: 5 msec 
  39. ;; SERVER: 172.16.12.1#53(172.16.12.1) 
  40. ;; WHEN: Tue Apr  2 19:51:37 2013 
  41. ;; MSG SIZE  rcvd: 512 

 
4、為named服務新增開機啟動
chkconfig on named

  1. [[email protected] named]# chkconfig --list named 
  2. named           0:off   1:off   2:off   3:off   4:off   5:off   6:off 
  3. [[email protected] named]# chkconfig named on 
  4. [[email protected] named]# chkconfig --list named 
  5. named           0:off   1:off   2:on    3:on    4:on    5:on    6:off 
OK,到這裡快取DNS就已經配置正常,能夠正常使用了。
六、配置主DNS伺服器
1、為/etc/named.conf新增主區域檔案配置和反向區域解析
  1. zone "wangej.com" IN {                           #定義wangej.com區域 
  2.     type master;                                #定義區域型別為主 
  3.     file "wangej.com.zone";                     #定義資料檔案 
  4.   }; 
  5.   zone "12.16.172.in-addr.arpa" IN {            #定義wangej.com反向解析區域 
  6.     type master;                                #定義區域型別為主 
  7.     file "172.16.12.zone";                      #定義資料檔案 
  8.   }; 

2、新增區域檔案
vim wangej.com.zone
  1. vim wangej.com.zone 
  2. $TTL 1H 
  3. wangej.com.     IN   SOA   ns1.wangej.com.   admin.wangej.com. ( 
  4.                 1 
  5.                 1H 
  6.                 5M 
  7.                 2D 
  8.                 6H ) 
  9.          IN   NS    ns1 
  10.          IN   MX 10 mail 
  11. ns1      IN   A     172.16.12.1 
  12. mail     IN   A  172.16.12.2 
  13. www      IN   A     172.16.12.1 
  14. www      IN   A     172.16.12.3 
  15. ftp      IN  CNAME  www 

vim 172.16.12.zone
  1. $TTL 1H 
  2. @               IN   SOA   ns1.wangej.com.   admin.wangej.com. ( 
  3.                 1 
  4.                 1H 
  5.                 5M 
  6.                 2D 
  7.                 6H ) 
  8.          IN   NS    ns1.wangej.com. 
  9. 1               IN   PTR   ns1.wangej.com. 
  10. 1               IN   PTR   www.wangej.com. 
  11. 2               IN   PTR   mail.wangej.com. 
  12. 3              IN   PTR   www.wangej.com. 

3、檢查檔案的語法錯誤和屬主屬組及許可權
  1. named-checkzone "wangej.com" /var/named/wangej.com.zone 
  2. named-checkzone "172.16.12.zone" /var/named/172.16.12.zone 
  3. -rw-r----- 1 root  named  321 Apr  1 22:43 172.16.12.zone 
  4. -rw-r----- 1 root  root   289 Apr  1 22:42 wangej.com.zone 
4、測試服務是否能夠正常使用
  1. [[email protected] ~]# dig -t A www.wangej.com @172.16.12.1 
  2. ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t A www.wangej.com @172.16.12.1 
  3. ;; global options: +cmd 
  4. ;; Got answer: 
  5. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43339 
  6. ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 
  7. ;; QUESTION SECTION: 
  8. ;www.wangej.com.            IN  A 
  9. ;; ANSWER SECTION: 
  10. www.wangej.com.     3600    IN  A   172.16.12.1 
  11. ;; AUTHORITY SECTION: 
  12. wangej.com.     3600    IN  NS  ns1.wangej.com. 
  13. ;; ADDITIONAL SECTION: 
  14. ns1.wangej.com.     3600    IN  A   172.16.12.1 
  15. ;; Query time: 4 msec 
  16. ;; SERVER: 172.16.12.1#53(172.16.12.1) 
  17. ;; WHEN: Tue Apr  2 20:05:27 2013 
  18. ;; MSG SIZE  rcvd: 82 
5、如此一個主DNS就已經搭建成功了。
七、單單一個主DNS就已經能夠滿足我們對於DNS域名解析的需求了麼?
不是,不僅不夠,我們還要需要更多的內容用來滿足DNS的冗餘、DNS的智慧分配、DNS的acl控制、還有DNS的日誌公用,以便讓我們能夠儘快的定位到錯誤和檢視一些惡意的操作。所以,未完待續。
PS: 親,明天見……

相關推薦

快取DNS伺服器DNS伺服器快速搭建

一、設定配置內容 假設我們已經在網上註冊了wangej.com域名,得到的IP網路是172.16.12.0/24 ns伺服器是:172.16.12.1 www伺服器:172.16.12.1,另外一個地址:172.16.12.3 mail伺服器:172.16.12.2 ftp主機在www伺服器上,即ftp為ww

部署DNS服務管理DNS

部署DNS服務和管理DNS部署DNS服務和管理DNS 一、DNS概述 1、早期使用HOSTS文件解析域名主機名稱重復,而且主機維護困難2、hosts缺點:名稱容易重復,文件大解析效率下降,單點管理主機容易故障3、HOST文件位置:Hosts文件%SystemRoot%\system32\drivers\e

CDN快取伺服器負載均衡叢集《CDN技術

1. 集群系統 1.1 集群系統分類 伺服器叢集的分類,可以分為三種分別是計算叢集、負載均衡叢集、高可用叢集,下面分析對計算叢集、負載均衡叢集和高可用叢集做以詳細講解。 根據用途的不同,我們把伺服器叢集分為如下幾類。 (1)計算叢集 伺服器計算叢集通常被用於承載

iOS訪問Webservice(Java伺服器)(.net伺服器

1.iOS訪問java的webService時出現特別多的問題 //構造一個Json型別。 這個型別很重要。一開始的時候不能帶引數。安卓的可以,後來用的是擷取傳送的資料包進行解析, NSString *soapMessage = [NSStringstringWithFo

程式無許可權上傳伺服器無法再伺服器中建立資料夾的解決辦法

由於我們的測試環境的的伺服器ip換了一個新的,執行一段時間各端反應無法圖片無法上傳伺服器,然後我看了下日誌,發現有這個錯誤 permission denied  最後我就在伺服器中 ps -ef |

reactvue項目快速搭建

命令行 all eat div init 創建 try 快速搭建 bpa react項目快速搭建   1.安裝node環境:     下載地址:https://nodejs.org/zh-cn/download/   2.打開終端   3.安裝yarn或者cnpm, 這裏以

【轉載】SSH伺服器端/etc/ssh/sshd_conf配置檔案

[[email protected] ~]$cat /etc/ssh/sshd_config #Port 22                        

linux環境下,連線另一臺伺服器的oracle資料庫,常見問題

一臺伺服器177 一臺伺服器,有oracle的12 177能ping通12 177不能telnet 12 1521埠 通過xShell隧道在windows能連上12的oracle資料庫 12的1521埠是開啟的。 我總結為是 1.防火牆 有沒有設定1521

FTP伺服器搭建(vsftpd)

前言 在Linux系統中,vsftpd是專門用於搭建FTP伺服器的軟體。我們要下面總結的就是搭建FTP伺服器詳細操作及FTP三種登陸方式的配置。 一、FTP的登入方式 【1】匿名使用者登陸 實際上,當我們使用預設安裝的時候,系統就預設會

$.ajax()方法從伺服器獲取json資料幾種方式

一.什麼是json json是一種取代xml的資料結構,和xml相比,它更小巧但描述能力卻很強,網路傳輸資料使用流量更少,速度更快。 json就是一串字串,使用下面的符號標註。 {鍵值對} : json物件 [{},{},{}] :json陣列 "" :雙引號內是屬性或值

阿里雲伺服器Ubuntu12.04_64bit+php5+MySQL部署過程

今日部署專案做測試,買了一個阿里雲的伺服器,買來只有映象,阿里的教程做的也真是….太專業化的術語讓人看得一愣一愣的,各種百度,弄了一個下午才部署好環境,特此將部署過程寫下來供各位參考。(部署的環境為Ubuntu12.04_64bit+php5+mysql),安裝

阿里雲伺服器centos部署web環境的步驟

主要任務 使用ssh工具,在阿里雲伺服器配置jdk,tomcat,mysql,並部署專案。 所需工具 SSH Secure Shell 、jdk1.7(linux版)、tomcat7(linux版)、mysql5.5(linux版) 文中有連結

Linux下視訊流媒體伺服器搭建

目標用於搭建內網流媒體伺服器支援視訊的點播。背景用於支援培訓網站中視訊點撥功能,在培訓網站總體方案中需要加入流媒體伺服器,用於儲存和傳輸視訊資源。相關概念流媒體流媒體(Streaming Media)是一種新興的網路傳輸技術,在網際網路上實時順序地傳輸和播放視/音訊等多媒體內

Redis(一)——Redis伺服器搭建

      Redis快取伺服器是近兩年比較熱門的NOSQL系統之一,它是一個key-value儲存系統,和Memcache類似,但很大程度補償了Memcache的不足,它支援儲存的value型別相對更多,包括string、list、set、zset和hash。這些資料型別都

基於centOS 7上的FTP伺服器搭建

基於Spring boot的FTP工具類Demo詳見Github 安裝(在root使用者下) 首先查詢本機是否裝有FTP伺服器;命令如下:         rpm -qa | grep vsftpd         如果沒有,則執行:yum -y install vs

快速排序二分查詢時間複雜度

快速排序的時間主要耗費在劃分操作上,對長度為 k 的區間進行劃分,共需 k-1 次關鍵字的比較。最壞時間複雜度:最壞情況是每次劃分選取的基準都是當前無序區中關鍵字最小(或最大)的記錄,劃分的結果是基準左邊的子區間為空(或右邊的子區間為空),而劃分所得的另一個非空的子區間中記錄數目,僅僅比劃分前的無序區中記錄個

html5中制作loading圖標圖片預覽代碼

eight -c html5 圖片 nec lin lib jpg truct zh-cn html5制作loading圖的示例 代碼如下: <!DOCTYPE html><html><head><title><

用戶組管理命令介紹與

linux 命令用戶管理命令:useradd,userdel,usermod,passwd,chsh.chfn,finger,id,chageUseradd(建立用戶)useradd [options] USERNAME 例:useradd -g mygroup user2建立一個

【jQuery】方法選擇器的雙重使用

節點 使用詳解 選擇器 query 除了 nbsp clas pos ren 1.jQuery選擇直接子節點+除了某個元素   1》方法 $(".begon").children(".row:not(.moreDetail)")   2》選擇器 $(".begon

Windows裏如何正確安裝Redis以服務運行(博推薦)(圖文

tex files 64位 下載 win 多說 body 網盤下載 AC     不多說,直接上幹貨!      註意 : Redis官方並沒有提供Redis的windows安裝包,但在github上, 有相關的下載地址。