DNS的基本配置、子域授權與bind編譯(第十八九天)

    DNS( Domain Name System)是“域名系統”的英文縮寫,是一種組織成域層次結構的計算機和網絡服務命名系統,它用于TCP/IP網絡,它所提供的服務是用來將主機名和域名轉換為IP地址的工作。

    DNS利用類似于樹形目錄的結構,將主機名的管理分配在不同層級的DNS服務器中,并進行分層管理。

    DNS使用TCP與UDP的53端口。

    DNS的相關概念有:

        FQDN(full qualified domain name):中文為完整主機名。由主機名與域名組成。

以www.baidu.com為例,www是主機名,baidu.com是域名

        TLD頂級域名或一級域名:常見的頂級域名有.com\.net\.org\.edu等,樹形結構圖如下:

blob.png

全球共有十三臺根域名服務器,存儲在/var/named/namad.ca這個文件中:
.			518400	IN	NS	a.root-servers.net.
.			518400	IN	NS	b.root-servers.net.
.			518400	IN	NS	c.root-servers.net.
.			518400	IN	NS	d.root-servers.net.
.			518400	IN	NS	e.root-servers.net.
.			518400	IN	NS	f.root-servers.net.
.			518400	IN	NS	g.root-servers.net.
.			518400	IN	NS	h.root-servers.net.
.			518400	IN	NS	i.root-servers.net.
.			518400	IN	NS	j.root-servers.net.
.			518400	IN	NS	k.root-servers.net.
.			518400	IN	NS	l.root-servers.net.
.			518400	IN	NS	m.root-servers.net.

    DNS服務器的分類:有主服務、從服務、緩存服務器與轉發服務器

         緩存服務器:只有緩存的功能,本身沒有任何域名區域的配置,緩存的結果完全由用戶請求解析—-》根域名返回的結果。

         轉發服務器:把用戶的請求轉發給上一層的解析服務器,起到中轉的功能。分有全局轉發與局部轉發

              linux系統上,dns的主配置文件是/etc/named.conf,域名區域的配置是/etc/named.rif1912.zones

    DNS有正解與反解的概念:

        正解:把FQDN——(解析)—》IP    

        反解:把IP—–(解析)—》FQDN

  區域解析庫:由眾多RR組成      

     DNS的資源記錄:Recsource Record ,簡稱為RR,資源記錄的類型有A、CHAME、PTR、SOA、NS、MX。

SOA:start of authority 起始授權記錄:一個資源解析庫有且只能有一個SOA記錄,且必須 為解析庫的第一條。
A:internet address,作用:FQDN--->IP
AAAA:PQDN--->IPV6
RTP:PoinTeR(指針),作用IP---->FQDN
NS:Name Server,專用于標明當前區域的DNS服務器
CHAME:Canonical name 別名記錄
MX:Mail eXchanger 郵件交換器
SOA:
  name:當前區域的名稱,例如“163.com”
  value:有多部分組成
     (1)當前區域的主DNS服務器的FQDN,也可以使用當前區域的名字
     (2)記錄當前區域管理員的郵箱地址,但地址不能使用@符號,一般用.(點號)替換,例如linuxedu.magedu.com
      (3) (主從服務器協調屬性的定義以及否定答案的統一TTL)默認單位是S(秒),其中有H(小時)、D(天)、M(月)、W(周)
NS:
  name:當前區域的名字
  value:當前區域的某DNS服務器的名字,例如ns.magedu.com; 一個區域可以多個NS記錄 
例如:magedu.com. (TTL可省略)  IN NS ns1.magedut.com.  或   magedu.com. (TTL可省略)  IN NS ns2.magedut.com.
注意:
  (1)相鄰的兩個資源記錄的name相同時,后續的可省略
  (2)對NS記錄而言,任何一個NS記錄后面服務器名字,都應該在后續有一個A記錄
MX記錄:
  name:當前區域的名字
  value:當前區域的某郵箱服務器(smtp服務器)的主機名;value之前應該有一個數字(0-99),表示此服務器的優先級,數字越小優先級越高。一個區域內,可有多個MX記錄
例如:magedu.com    IN  MX 10 mx1.magedu.com.   或    magedu.com    IN   MX 20 mx2.magedu.com.

注意:對MX記錄而言,任何一個NS記錄后面服務器名字,都應該在后續有一個A記錄
A記錄
  name:某主機的FQDN,例如www.magedu.com
  vulue:主機對應的主機IP地址
例如:www.magedu.com.    IN   A 1.1.1.1    或  www.magedu.com.     IN  A  1.1.1.2
PTR:
  name: ip,有特定格式,把IP地址反過來寫,1.2.3.4 要寫成 4.3.2.1; 而有特定后綴:in-addr.arpa. 所以完整寫法為4.3.2.1.in-addr.arpa.
  value:FQDN
例如:4.3.2.1.in-addr-arpa.   IN  RTP   www.magedu.com 可以簡寫為  4     IN RTP www.magedu.com

注意:網絡地址及后綴可省略,主機地址需要反著寫
CHAME
  name:別名的FQDN
  value:正式名字的FQDN
例如:web.magedu.com.   IN   CHAME www.magedu.com

   
DNS的基本配置

使用bind這個程序,安裝完成后,區域文件存儲在/var/named/目錄下

    1、配置為緩存服務器,修改/etc/named.conf這個文件

blob.png

blob.png

     完成上面的配置后,service named start啟動服務,并查看53端口是否已經被監聽,若在監聽,則啟動緩存成功,把電腦的DNS指向此服務,便可正常正解析

blob.png

blob.png

  

  2、配置DNS正解。測試使用域名為teset123.com,ns1(192.168.1.11),ns2(192.168.1.9)。正解中不需要配置RTP

    在/etc/named.rfc1912.zones配置文件上配置區域

blob.png

    在/var/named/目錄下創建test123.com.zone文件,并配置。完成配置后,需要把文件的權限改為640、屬組為named

blob.png

    檢測zone配置文件及主配置文件是否正確,若正確,重新載入配置文件rndc reload

blob.png

    使用dig -t A test123.com @192.168.1.11測試是否能解析,以下解析成功。

blob.png

blob.png

3、DNS反解配置

    配置/etc/named.rfc1912.zone

    說明:測試的www.test123.com解析的IP是192.168.1.254 。反解時是通過IP地址解析出對應的域名。在配置進反解的區域名稱是反寫IP地址.in-addr.arpa,本例中192.168.1.254是24位掩碼,192.168.1.是固定不變的,因此寫成1.168.192.in-addr-arpa

blob.png

    在/var/named/目錄下創建 1.168.192.in-addr.arpa.zone文件,并配置。反解時主要配置RTP便可

blob.png

    使用named.checkzone、named.checkconf、rndc reload命令檢測及重載配置文件后,測試

blob.png

4、從服務器配置

    在上面的配置,ns2 的IP地址是192.168.1.9,把此服務器配置為從服務器。注意:從服務器一定要在主服務器上通過ns 體現出來,否則更新配置時,主服務無法主動通知從服務器。

   從服務器不需要區域文件,只要在named.rfc1912.zone文件中配置區域,指定為slave ,并指定masters的IP地址便可。同步成功后,自動會在/var/named/slaves/目錄下創建區域的文件

   以下為正解從服務器配置

blob.png

        通過查看日志文件 /var/log/messages,是否同步成功,以下已成功同步

blob.png

        反解從服務器的配置,思路與正解一樣,只需要配置/etc/named.rfc1912.zone便可

blob.png

    查看日志  

blob.png
    查看從服務器同步過來的區域配置文件

blob.png


子域授權

    子授權的配置要點:

在沒有認證的時間下,父域與子域要關閉dnssec
dnssec-enable no;
dnssec-validation no;

在父域的zone配置文件中,指定子域的ns A記錄 
為了子域以最理想的路徑解析父域,需要配置全局轉發或局部轉發功能,并指上一層為父域的NS ip地址

    本次實驗中,父域是test123.com,NS是192.168.1.11,www主機192.168.1.254;子域是test.test123.com,NS是192.168.1.9,www主機是192.168.1.253。

    父域的配置

        主配置文件的配置:通過forward啟用全局轉發,轉發給上層192.168.1.1。如果,此父域能夠訪問根域服務器,此可配可不配。

blob.png

    zone配置文件中添加授權子域

blob.png

    子域的配置:

       關于轉發的配置,如果子域想依賴父域解析,可以做全局轉發配置,并轉發給父域。若只是把父域的域名轉發給父域,而其他的仍由根域解析,則可配置局部轉發。

blob.png

blob.png

blob.png    

blob.png

    測試

        父域測試子域

blob.png

    子域測試父域

blob.png


bind編譯安裝

    本次安裝版本的是 bind-9.6.1.tar.gz

1、解壓后,指明安裝路徑、配置文件路徑及其他參數并進行編譯安裝

 ./configure  --prefix=/usr/local/bind9 --sysyconfdir=/etc/named --disable-ipv6 --disablie-chroot --enable-threads  
   \\安裝路徑是/usr/lcoal/bind9,配置文件是/etc/named,關閉ipv6與根切換,開啟多線程功能
make 
make install

2、編輯環境變量、庫文件、頭文件及幫助文檔。

編輯變量,在/etc/profile.d目錄下創建named.sh腳本,輸入以下內容,并執行一個。
     export PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin:$PATH
     完成后:
[root@localhost profile.d]# 
echo $PATH/usr/local/bind9/bin:/usr/local/bind9/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

編輯庫文件
在/etc/ld.so.conf.d目錄創建named.conf,并在文件中輸入/usr/local/bind9/lib
然后ldconfig ,重新生成動態庫文件
 
生成鏈接include文件
ln -sv /usr/local/bind9/include/ /usr/include/named
 
編輯/etc/man.conf

blob.png

2、創建并配置/etc/named/named.conf的主配置文件、以及/var/named目錄下多個文件

        在/etc/named/目錄下創建 named.conf并完成如下配置

blob.png

     使用dig -t ns . @192.168.1.1 >> /var/named/named.ca自動生成根域名的文件,192.168.1.1是我網絡里的路由器,.(點號)代表根,自動把結果保存到named.ca文件中。

blob.png

    在/var/named目錄下創建named.loopback  named.localhost與named.com.zone文件,并完成如下配置

blob.png

blob.png

    3、遞歸修改/usr/local/named/var目錄的屬組為named,并給named寫與執行的權限。若不修改此項,在使用named -u named -f -g -d 3是會有如下提示

blob.png

    4、使用named -u named 運行后,查看及測試是否成功

blob.png

        已運行成功!

    5、使用 rndc-confgen,生成rndc的配置文件,完成后便可使用rndc命令管理bind了

blob.png

blob.png

    便可正常使用rndc命令了

blob.png

原創文章,作者:Net20-deamon,如若轉載,請注明出處:http://www.www58058.com/18137

(2)
Net20-deamonNet20-deamon
上一篇 2016-06-11
下一篇 2016-06-12

相關推薦

  • grep與正則表達式

    一、grep        grep常用于文本搜索。通過自定義的模式(pattern),篩選出使用者需要的文本內容。除了有grep,還有egrep和fgrep。其中egrep = grep  –E,而fgrep則是不支持正則表達式。     &nbs…

    2017-07-29
  • 計算機基礎及Linux基礎概述

    馬哥教育網絡班23期+第1周課程練習 計算機基礎及Linux基礎概述 一、計算機組成及其功能 1.1、概述     計算機,computer 我們在中國都稱它為電腦,其實我們個人使用的計算機只是計算機家族的一部分,計算機分很多種,小型機,中型機,大型機,工作站,還有PC機,等等,其實我們家庭中使用的只能算是PC機,其實…

    Linux干貨 2016-09-15
  • 自己做一個CA

    構建CA服務器    CA配置文件位置:        /etc/pki/tls/openssl.cfg           &n…

    Linux干貨 2017-04-11
  • Linux發展史

    Linux發展史 Linux是一套自由加開放源代碼的類Unix操作系統,誕生于1991年10月5日(第一次正式向外公布),由芬蘭學生Linus Torvalds和后來陸續加入的眾多愛好者共同開發完成。 Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基于Linux內核,并且使用GNU工程各種工具和數據庫的操作系統。 li…

    Linux干貨 2017-05-20
  • N25-第一周博客作業

    1、描述計算機的組成及其功能:    沒有聽馬哥視頻之前,計算機的組成理解為主機+顯示器;    聽完視頻之后,對計算機的組成分為硬件系統和軟件系統。    硬件系統主要有:運算器、控制器、存儲器、輸入設備和輸出設備;    軟件系統主要有…

    Linux干貨 2016-12-04
  • shell腳本語言的for循環使用方法和案例

    在shell語言中bash是用的最多的,其語法簡單。以指令為核心快速解決常用的問題。所有語言中邏輯控制是必不可少的,它可以幫助我們減少不必要的重復性工作。今天我們就來說說所有語言都會使用的神奇的for循環,學了它以后不僅知道如果規避重復的工作,還能理解程序的運行原理。         for循環是什么?&nb…

    Linux干貨 2017-04-16
欧美性久久久久