天天看點

Linux 自學筆記——bind進階應用

子域授權:

      正向解析區域授權子域的方法:

           ops.claude666.com.          INNSns1.ops.claude666.com.

           ops.claude666.com.          INNSns2.ops.claude666.com.

           ns1.ops.magedu.com.      IN      AIP.AD.DR.ESS

           ns2.ops.magedu.com.      IN      AIP.AD.DR.ESS

實作原理:

      在本域名伺服器上正向解析庫檔案中定義子域對應的dns伺服器的主機名和A記錄即可;

定義轉發:

      注意:被轉發的伺服器必須允許為目前服務做遞歸;

1)    區域轉發:僅轉發對某特定區域的解析要求;

zone“zone_name”   IN {

  type forward;

  forward {first|only};

  forwards { server_ip; };

};

first:首先轉發;轉發器不響應時,自行去疊代查詢;

only:隻轉發;

2)    全局轉發:針對凡本地沒有通過zone定義的區域查詢請求,通通轉給某轉發器;

options{

……

forward {first|only};

   forwards { server_ip; };

示例:子域授權;父域主機:192.168.19.128,子域主機:192.168.19.134

父域上:

1.     父域主配置檔案配置;

注意:主配置檔案中dnssec-enable後面需要改為no;dnssec-validation 後面也需要改為no;

2.     定義zone;

<a href="https://s5.51cto.com/oss/201710/24/0e557cd837bf761ee3cde54636f92063.png-wh_500x0-wm_3-wmp_4-s_3379142469.png" target="_blank"></a>

3.     建立區域解析庫;

<a href="https://s1.51cto.com/oss/201710/24/fcd648341e8d51e327de5159b687e723.png-wh_500x0-wm_3-wmp_4-s_951074357.png" target="_blank"></a>

4.     屬組及權限修改;

<a href="https://s1.51cto.com/oss/201710/24/209bc68d6979d4cd4cbbd5334e7a96df.png-wh_500x0-wm_3-wmp_4-s_395393993.png" target="_blank"></a>

子域上:

1.     子域主配置檔案;

<a href="https://s1.51cto.com/oss/201710/24/70bac4157b691f09c1e01095e3120526.png-wh_500x0-wm_3-wmp_4-s_1217272343.png" target="_blank"></a>

2.     添加子域zone和定義區域解析庫檔案;

<a href="https://s3.51cto.com/oss/201710/24/6efd4b89ac58dd096100238beb5d5050.png-wh_500x0-wm_3-wmp_4-s_1077926615.png" target="_blank"></a>

3.     屬組及權限修改;

<a href="https://s4.51cto.com/oss/201710/24/0e292cce78e83c0f5a41495a227f5dc1.png-wh_500x0-wm_3-wmp_4-s_1419843720.png" target="_blank"></a>

測試:

直接解析,出錯了,出現以下情況,沒有解析出來;

<a href="https://s4.51cto.com/oss/201710/24/850bf08eec9384b756109da8e9a42270.png-wh_500x0-wm_3-wmp_4-s_4235282216.png" target="_blank"></a>

在指令之後加上+norecurse;則能成功解析;

<a href="https://s1.51cto.com/oss/201710/24/dedac4a2220c913e1b5bb513e4bcd4ce.png-wh_500x0-wm_3-wmp_4-s_1143203504.png" target="_blank"></a>

解析父域 www.claude.com;出錯了,解析的不是父域位址,是以192.168.19.134也是可聯網的,此解析的是網絡上的位址;

<a href="https://s1.51cto.com/oss/201710/24/0e7113527f9c0f92a7ac61357a9d556e.png-wh_500x0-wm_3-wmp_4-s_4123841990.png" target="_blank"></a>

定義轉發伺服器;

1.     配置子域的/etc/named.rfc1912.zones檔案,添加一下資訊;

<a href="https://s1.51cto.com/oss/201710/24/c078453a39524608f7fc326d3d7752e9.png-wh_500x0-wm_3-wmp_4-s_3278451769.png" target="_blank"></a>

2.     重新開機服務,子域解析父域,解析成功;

<a href="https://s3.51cto.com/oss/201710/24/7b348ec44e849118ac1f9977fab1a646.png-wh_500x0-wm_3-wmp_4-s_2756915791.png" target="_blank"></a>

3.     也可定義全局轉發;

<a href="https://s5.51cto.com/oss/201710/24/0147251920c8eb171f687106587a692f.png-wh_500x0-wm_3-wmp_4-s_4047226695.png" target="_blank"></a>

DNS中基礎的安全相關的配置:

acl:通路控制清單;把一個或多個位址歸并一個命名的集合,随後通過此名稱即可對此集全内的所有的主機實作統一調用;

格式:

            aclacl_name {

        ip;

        net/prelen;

}

示例:

acl mynet {

        172.16.0.0/16;

        127.0.0.0/8;

};

bind有四個内置的acl

            none:沒有一個主機;

            any:任意主機;

            local:本機;

      localnet:本機所在的ip所屬的網絡;

通路控制指令:

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

           allow-transfer {};允許向那些主機做區域傳送;預設為向所有主機;應該配置僅允許從伺服器;

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

           allow-update{};DDNS,允許動态更新區域資料庫檔案中的内容;

bindview:視圖,将請求者根據其來源進行分類,分類後實作使用不同的區域解析庫來解析對某區域主機的請求,目前主要應用CDN技術領域;

配置格式:

      view VIEW_NAME {

  match-clients{};

  zone{};

zone{};

一個bind伺服器可定義多個view,每個view中可定義一個或多個zone;

每個view用來比對一組用戶端;

每個view内可能需要對同一個區域進行解析,但使用不同的區域解析庫檔案;

Note:

1)    一旦啟用了view,所有的zone都隻能定義在view中;

2)    僅有必要在比對到的允許遞歸請求的客戶所在view中定義根區域;

3)    用戶端請求到達時,時自上而下檢查每個view所服務的用戶端清單;

内網部署了一台web伺服器,要求内網使用者通過dns伺服器解析,解析結果為web伺服器的内網位址;外網使用者解析,解析結果為web伺服器釋出到網關的ip位址。

1.     DNS伺服器主配置檔案如下:/etc/named.conf

<a href="https://s1.51cto.com/oss/201710/24/6ed18ef26279fe265f1ff55a1028f27f.png-wh_500x0-wm_3-wmp_4-s_3760798337.png" target="_blank"></a>

2.     主輔配置檔案配置:/etc/named.rfc1912.zones;

1)内網解析視圖;

<a href="https://s1.51cto.com/oss/201710/24/c71d269bf6a203370838b35bdbf0dc47.png-wh_500x0-wm_3-wmp_4-s_1800071825.png" target="_blank"></a>

2)外網解析視圖;

<a href="https://s3.51cto.com/oss/201710/24/d33be7254722511ee2deba3e01e2ff8f.png-wh_500x0-wm_3-wmp_4-s_3453297896.png" target="_blank"></a>

3.     解析庫檔案配置:

1)    内網解析庫檔案

<a href="https://s1.51cto.com/oss/201710/24/a191b04de65081dcd9acc5a30da4a5b3.png-wh_500x0-wm_3-wmp_4-s_1862917475.png" target="_blank"></a>

2)    外網解析庫檔案;

<a href="https://s1.51cto.com/oss/201710/24/cd151d84487a5094d8fd2424d6038e43.png-wh_500x0-wm_3-wmp_4-s_3008624646.png" target="_blank"></a>

4.     驗證:

在内網主機上解析;

<a href="https://s3.51cto.com/oss/201710/24/0fe1ead93ebd7c9ef4c709a91cb41c1e.png-wh_500x0-wm_3-wmp_4-s_205663461.png" target="_blank"></a>

在外網主機上解析:

解析位址會變成2.2.2.1和2.2.2.3;

手動編譯bind9;

1.     準備全新的虛拟機,安裝編譯必備元件“development tools” “server platformdevelopment”

2.     下載下傳bind9壓縮檔案,并解壓縮;

<a href="https://s1.51cto.com/oss/201710/24/6b998bfae324875f2a11e9c21b1c8fa4.png-wh_500x0-wm_3-wmp_4-s_3165245238.png" target="_blank"></a>

3.     建立系統組和系統使用者;

<a href="https://s1.51cto.com/oss/201710/24/bcabafb77c6f114cbb60792aa8e421fe.png-wh_500x0-wm_3-wmp_4-s_3983656613.png" target="_blank"></a>

4.     編譯安裝;

<a href="https://s4.51cto.com/oss/201710/24/5fce76956c7c75280db767bac4fd39fd.png-wh_500x0-wm_3-wmp_4-s_3361849753.png" target="_blank"></a>

--prefix :安裝包放在統一的路徑下

--sysconfdir :配置檔案路徑

5.     Make &amp;&amp; make install

<a href="https://s5.51cto.com/oss/201710/24/099f0855c37ecd675e535bdd4b513a6a.png-wh_500x0-wm_3-wmp_4-s_1184883143.png" target="_blank"></a>

Note:對于所有的編譯安裝來說,下面的都可能用到:

      修改PATH變量,導出二進制程式的搜尋路徑;

      導出庫檔案搜尋路徑;

      導出頭檔案搜尋路徑;

      導出幫助檔案手冊搜尋路徑;

6.     修改PATH變量,導出二進制程式搜尋路徑;

<a href="https://s3.51cto.com/oss/201710/24/02537bd4ac5aad9e7ef5c92e0fc5a5c6.png-wh_500x0-wm_3-wmp_4-s_695429897.png" target="_blank"></a>

7.     導出庫檔案搜尋路徑;

<a href="https://s3.51cto.com/oss/201710/24/672a4526c772191e9b182bf42f70c139.png-wh_500x0-wm_3-wmp_4-s_3764336469.png" target="_blank"></a>

8.     導出頭檔案搜尋路徑;

<a href="https://s5.51cto.com/oss/201710/24/5f632042ebdd5400bb503b2011e36b15.png-wh_500x0-wm_3-wmp_4-s_1592466150.png" target="_blank"></a>

9.     導出幫助檔案手冊搜尋路徑

編輯檔案/etc/man.config

<a href="https://s1.51cto.com/oss/201710/24/e95dff7915d45464094dec51f8539392.png-wh_500x0-wm_3-wmp_4-s_1764757257.png" target="_blank"></a>

儲存之後可以man一下named測試;

10.準備配置檔案;

1)    編輯/etc/named/named.conf

<a href="https://s5.51cto.com/oss/201710/24/f52bbf9474f7874279f9cbf2832c408f.png-wh_500x0-wm_3-wmp_4-s_805564821.png" target="_blank"></a>

2)    編輯解析庫庫檔案;

編輯/var/named/named.ca

<a href="https://s2.51cto.com/oss/201710/24/b080a075b6a7bd9a5eded1ece4efd85a.png-wh_500x0-wm_3-wmp_4-s_718918460.png" target="_blank"></a>

      建立localhost.zone檔案,和named.local檔案;

11.更改屬主屬組,并檢查配置檔案、區域檔案文法錯誤;

1)    更改屬主屬組;

<a href="https://s4.51cto.com/oss/201710/24/3e2b5e13a810267c10ebcf1818894e80.png-wh_500x0-wm_3-wmp_4-s_1366412437.png" target="_blank"></a>

2)    檢查配置檔案文法錯誤;

<a href="https://s3.51cto.com/oss/201710/24/da0dada36fb37b096f25e3fb6da8470f.png-wh_500x0-wm_3-wmp_4-s_2574994224.png" target="_blank"></a>

12.啟動;

<a href="https://s2.51cto.com/oss/201710/24/a5a296f566db9170b4f8a4be9f8ab5da.png-wh_500x0-wm_3-wmp_4-s_255759299.png" target="_blank"></a>

檢視服務是否開啟;

<a href="https://s1.51cto.com/oss/201710/24/88093e897b1ce903ca1163a60656705f.png-wh_500x0-wm_3-wmp_4-s_589779036.png" target="_blank"></a>

13.測試;

<a href="https://s2.51cto.com/oss/201710/24/3217ac2287a35419c4549caa97b58515.png-wh_500x0-wm_3-wmp_4-s_1015664739.png" target="_blank"></a>

14.Rndc的使用;

1)    配置檔案的建立;

<a href="https://s2.51cto.com/oss/201710/24/79988ecab25252da07e1b671e2328ecd.png-wh_500x0-wm_3-wmp_4-s_1247081254.png" target="_blank"></a>

2)    複制/etc/named/rndc.conf中的檔案至named.conf檔案中;

<a href="https://s3.51cto.com/oss/201710/24/85c47d9f96dd4ad00b1a40c7a7f0eef7.png-wh_500x0-wm_3-wmp_4-s_1484577306.png" target="_blank"></a>

3)    删除/etc/named/named.conf檔案中的以下行前面的#号;

<a href="https://s1.51cto.com/oss/201710/24/eb2d7cacefdac8c74fd6299d42ff7b1d.png-wh_500x0-wm_3-wmp_4-s_3724772626.png" target="_blank"></a>

修改後的結果:

<a href="https://s5.51cto.com/oss/201710/24/d2ca8c7841e596e37b18da8124ec0292.png-wh_500x0-wm_3-wmp_4-s_2669165042.png" target="_blank"></a>

4)    測試使用;

<a href="https://s4.51cto.com/oss/201710/24/50ef867e0c95315681577f1b78c6b935.png-wh_500x0-wm_3-wmp_4-s_1599102402.png" target="_blank"></a>

本文轉自 claude_liu 51CTO部落格,原文連結:http://blog.51cto.com/claude666/1975563,如需轉載請自行聯系原作者

繼續閱讀