bind學習筆記

使用虛擬機VMmare 12.5.2 build-463823 &Cent OS_7學習bind配置DNS主機

本機IP:192.168.122.128

DNS:192.168.122.2

目的:實現本機IP192.168.122.128可以作爲一臺DNS服務器,實現軟件:BIND  實現進程:named(bind的執行進程)

-------------------------------------------------------------------------------------------------------------------------------------------------------

學習目錄:

   1.安裝VMware

   2.安裝Cent OS 7

  3.Cent OS聯網  

  4.安裝bind&完成配置

   4.1 安裝bind

  4.2 配置DNS——理解bind生成的各個文件的用途

  4.3完成配置並檢測

--------------------------------------------------------------------------------------------------------------------------------------------------------

1.安裝VMware

     下載VMware進行安裝(不斷點下一步完成安裝)

2.在VMware上安裝Cent OS_7

    參考連接:http://www.centoscn.com/image-text/setup/2014/0723/3341.html

   我在thinkpad T420上安裝的過程中並沒有遇到 Intel virtual Tehnology 的錯誤(後來想想,可能是之前有人設置過了),但是在lenovo Y400使用同樣方法安裝的時候遇到過這個問題,解決方法和鏈接中提到的相同,將虛擬設置爲enabled,也就是支持虛擬化,剩下的步驟按照鏈接中給出的就可以完成。

3.解決VMware不能聯網的問題

   在終端輸入命令ping www.baidu.com 發現不能聯網,我遇到的問題是:

          在使用NAT連接的時候,在虛擬機——>編輯——>虛擬網絡編輯器:查看VMnet8的子網地址,然後在實體機查看網絡適配器VMnet8的子網地址,發現兩個子網地址並不相同

    解決辦法:

       0)  在/etc/sysconfig/network-scripts/   目錄下的ifcfg-ens**,不同的電腦安裝以後的**可能不同,將這個文件中的 ONBOOT=no改爲ONBOOT=yes

            參考鏈接:http://www.centoscn.com/CentosBug/osbug/2014/0831/3621.html

       1) 將虛擬機中的VMnet8的子網地址修改爲實體機的VMware8適配器的一樣

       2)然後修改實體機中的VMnet8適配器中的ipv4的子網獲取屬性,設置爲自動獲取

       3)重起虛擬機的Cent OS,然後就可以聯網了

     3.1 安裝完成centos之後,是可以聯網的,但是一段時間過後突然就斷網絡   了,然後就發現本來網絡中的有線連接不見了,並不知道發生了什麼的我一臉矇蔽,然後重起了虛擬機,發現又可以聯網了。。。

   3.2 除了通過上面的設置方法,也可以直接將主機的vmware vmnet8適配器中的獲取IP和dns都設置爲自動,使用DHCP,保證VMware的 net 和 dhcp服務都是啓動了的,一般都可以聯網。

4.安裝bind

   解決了VMware不能聯網的問題之後,就可以安裝bind了

  在安裝bind之前,首先要知道bind安裝完成之後的產生的兩個文件是用來幹什麼的

     1,/etc/named.conf   文件名named是bind運行進程的進程名,bind是軟件,named.conf文件是用來配置當前要配置的DN服務器的主要配置信息,詳見下面鏈接:
       http://www.linuxidc.com/Linux/2017-03/141245.htm

     2./etc/named.rfc1912.zones 這個文件使用來定義DNS服務器的域名的,當bind啓動的時候,就會從這個文件開始,加載文件中設置的zones,該文件的zones也可以在named.conf中設置,但是在named.conf文件的最後有一句 #include ”named.rfc1912.zones“,所以在這兩個文件中設置都可以

     3./var/named文件夾,在這個文件夾下,需要建立新設置好的zones對應的解析文件,打開該文件夾後可以發現,之前在/etc/named.conf &/etc/named.rfc1912.zones中看到的zones對應的配置文件在這裏都可以找到,關於解析文件中個屬性的含義,在http://www.linuxidc.com/Linux/2017-03/141245.htm中都能找到,這裏就不重複贅述了

  4.1 安裝bind

        執行命令:yum install bind

       命令執行完成之後,bind的安裝就完成了,接下來就是將主機配置爲DNS服務器

   4.2 配置DNS

       參考鏈接:http://www.cnblogs.com/dopeter/p/4652135.html

        以下問題都是我在安裝過程中遇到的問題,以及問題解決的方法

       1)修改 /etc目錄下的 named.conf 文件

             修改內容:對於named.conf文件,需要修改的地方有三個 :第一個是允許監聽53端口的IP,第二個是允許訪問當前配置的DNS的IP,第三,註釋掉的dnssec的內容(可參考鏈接查看什麼是dnssec:http://blog.csdn.net/zhu_tianwei/article/details/45082015),完成當前的配置修改這三處就可以了

       2)在 /etc目錄下的named.rfc1912.zones文件中添加所要創建的DNS服務器的域名.

    

             在這個文件下添加zone的時候,一定要保證格式的正確,如果少了 ; {} "" 都無法啓動named進程,如果是這裏有錯,在啓動失敗之後,輸入命令 systemctl status named -l 查看named啓動失敗的詳細原因,會看到報錯的行數以及問題

            還有可能出錯的地方是 這裏定義的zone 名也就是跟在 zone後面的域名要和 file 屬性後面的解析文件中的域名相同,否則,會報錯在該DNS中找不到IP

       3)根據新配置的zones,在/var/named/目錄下配置其對應的解析文件並改變文件的所有者

            在參考鏈接中有實例。

   正向解析文件:


      反向解析文件:

  

      這裏可能遇到的問題:

           1.第一行 $TTL ***之前不能有空格,也就是要僅靠左側

           2.在@ SOA 後面的域名之後都有 . 不能忽略,並且在該文件中的 域名後面的 . 都不能忽略,並且域名和 ( 1H 2D 1D 1W)之間有空格

          3. 正向解析文件和反向解析文件設置好以後,要將這兩個文件的所有者改成named,否則,named進程無法操作讀取這兩個文件的內容 使用命令: chown nemed 文件名即可

     其中,  1,2可能產生錯誤:NXDOMAIN ,SERVER CAN NOT FIND 域名;3可能 產生錯誤 權限限制 permission denied

  4.3 完成配置

     使用命令:systemctl start named #啓動named進程

                       systemctl statux named #查看named進程啓動情況

                       system stop named # 關閉進程

      上述命令需要root權限

       nslookup 命令  :啓動查詢

    問題:

       如果顯示的server 和配置的不一樣:

       server 192.168.122.2

      Address 192.168.122.128#53

resolv.conf文件每次開機都會恢復原來的設置,需要將你的本機IP添加到下面

插入後,將第一行註釋掉即可,如果不註釋,將你的IP放在默認IP 之前也可以

但是我本機的IP是 192.168.122.128,這也就是說查找的不是我當前配置的IP,那麼就要修改配置文件 /etc/resolv.cnf  需要root權限才能寫,這時候發現,在該文件中果然nameserver 是192.168.122.2,添加一行 nameserver 192.168.122.128,,也就是你主機的IP地址。然後將原來的192.168.122.2哪一行註釋掉即可

5. 最後,就可以測試配置的IP&域名解析了

使用dig命令進行測試:

dig www.baidu.com

如果顯示dig命令未找到,需要安裝一下bind-utils包,也就是bind的工具包,之後就可以使用dig命令了。

小結:

    1.在安裝bind的時候,對於bind生成的/etc/namd.conf文件 /etc/named.rfc1912.zones文件以及配置要建立的/var/named/文件夾下的文件具體含義應該先了解一下,具體可以參考上面給出的鏈接,很詳細(牛人很多)

    2.在明白1所列出的問題之後,對於新建新的zone 以及對應的named文件的時候,最重要的一點就是文件的格式問題,對於/etc/named.rfc1912.zones格式如果不對,首先在改文件編寫的時候,錯誤的地方一般會紅色高亮出來,就會產生zone無法正確加載的問題,這一點可以使用systemctl status named 命令來查看哪裏出現了語法錯誤

錯誤的語法:

在域名與屬性()之間應該有空格,但是上面的編寫中缺少空格,vim將該內容高亮

   3.根據配置的zone建立解析文件的時候,named文件夾下的解析文件中的域名需要與對應的/etc/naemd.rfc1912.zones中設置的 域名正確對應

   4.當2,3沒有問題的時候,那麼使用systemctl start named 命令就可以啓動bind了,啓動之後,使用nslookup命令來檢測配置是否成功,在這一步中,首先要看你的DNS服務器是不是當前主機的IP,而不是你DNS的IP,如果不是本機IP,就需要修改 resolv.conf文件,這個文件主要是用來存放本機訪問的DNS服務器的IP,需要root權限才能修改

   5.完成4之後,就可以再來測試了

       a.如果這時候出現了NXDOMAIN錯誤,這個錯誤一般出現在2,3的格式問題或者域名對應,也就是域名解析文件是有問題的,或者你輸入的域名是不對的,需要檢查的地方有:

            1)查看自己的輸入的要查詢域名是否是符合一定的域名格式的

            2)域名對應(/etc/named.rfc1912.zones & /var/named/的解析文件)

            3)格式(/etc/named.conf & /etc/named.rfc1912.zones& /varnamed/的解析文件

       b,如果出現找不到IP: no answer ,檢查 4(每次開機之後,會將該文件恢復默認狀態)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章