DNS智能解析的搭建與配置

分類: LINUXhtml

原文地址:DNS智能解析的搭建與配置 做者:十年夢生linux

 9月份整整忙了一個月,都抽不出時間來寫篇文章,這幾天趁着10.1終於有時間來寫些東西了,將9月份所作的一些東西來作下總結。
今天先寫個DNS智能解析的搭建與配置,後續幾天還會有Mail服務器的搭建與配置、nagios搭建與配置、nagix搭建與配置、cacti監控交換機流量的搭建與配置(其中涉及交換機的配置)、puppet的搭建與配置等內容。每篇文章我都會提供pdf版本的下載。
你們多多關注!歡迎郵件交流 linuxpad.cn@gmail.com
  
  感謝 五嶽之巔提供Webmin工具,這個真的很不錯,嘿嘿
 

DNS智能解析簡單的來講就是根據DNS服務器根據客戶端請求IP的不一樣來給客戶端返回不一樣的服務器地址,好比說電信用戶訪問www.linuxpad.cn的時候DNS服務器會返回給用戶電信服務器,網通用戶訪問www.linuxpad.cn的時候DNS服務器會返回給用戶網通服務器,這樣就解決了南北用戶訪問過慢或電信用戶訪問網通服務器過慢的問題,國內著名的DNSpod實現的也是這樣的一個功能,而BIND9自帶的VIEW視圖功能就能夠徹底實現這個功能。VIEW視圖能夠說是BIND9一個最強大的功能之一,他能夠徹底按照你要求來實現DNS服務器對不一樣IP、不一樣網段的智能解析工做。本文以centos5.6 i386系統及系統自帶的BIND9Webmin爲例講述BIND9的安裝以及VIEW視圖的配置功能。Webmin是一個圖形化的服務器管理工具,因爲DNS配置文件比較複雜,因此建議採用這款圖形化配置工做來進行DNS配置。ios

閱讀本文你須要瞭解一些DNS基礎,如知道爲何會有DNS,什麼是A記錄、CNAME記錄、DNS的正向解析/逆向解析,本文不會涉及這些基礎知識。web

本文采用VMware虛擬機來模擬DNS服務器,虛擬機須配置雙網卡來模擬DNS對兩個不一樣的網段作出不一樣的解析,其中一塊網卡配置爲Bridged模式,直接鏈接到局域網內網(192.168.0.0/24)上,另外一塊網卡配置爲host-only,僅與本機進行通訊(192.168.136.0/24)centos

IP配置以下:安全

本地:物理網卡(本地鏈接)192.168.0.100/24DNS192.168.0.101服務器

           虛擬網卡(VMware Network Adapter VMnet1192.168.136.1/24網絡

DNS192.168.136.128dom

虛擬機:eth0(Bridged) 192.168.0.101/24工具

                   eth1(host-only)192.168.136.128/24

DNS配置:以www.linuxpad.cn爲例,若是客戶端爲192.168.0.0/24段,則將www.linuxpad.cn解析到192.168.0.200;若是客戶端爲192.168.136.0/24段,則將www.linuxpad.cn解析到192.168.136.200

測試方案:先禁用本地鏈接,使用nslookup工具查看www.linuxpad.cn,返回192.168.136.128則正確;再禁用虛擬網卡,使用nslookup工具查看www.linuxpad.cn,返回192.168.0.101則正確。

 

 

1.       安裝bind

咱們須要安裝如下rpm包:

bind    DNS服務器主程序

bind-libs  程序庫

bind-utils 客戶端命令工具

bind-chroot chroot運行模式

bindchroot功能是一個頗有用的安全設置,使bind能夠在一個chroot的模式下運行.也就是說,bind運行時的/()目錄,並非系統真正的/()目錄,只是系統中的一個子目錄而已.這樣作的目的是爲了提升安全性.由於在chroot的模式下,bind能夠訪問的範圍僅限於這個子目錄的範圍裏,沒法進一步提高,進入到系統的其餘目錄中。

使用yum install命令來安裝,

[root@localhost soft]# yum install bind

[root@localhost soft]# yum install bind-libs

[root@localhost soft]# yum install bind-utils

[root@localhost soft]# yum install bind-chroot

使用如下命令查看rpm包是否正確安裝

[root@localhost soft]# rpm -qa | grep bind

ypbind-1.19-12.el5

kdebindings-3.5.4-6.el5

bind-chroot-9.3.6-16.P1.el5

bind-utils-9.3.6-16.P1.el5

bind-9.3.6-16.P1.el5

bind-libs-9.3.6-16.P1.el5

若是安裝正確,你會看到咱們所安裝的rpm包。

設置DNS服務開機自啓動

[root@localhost soft]# chkconfig named on

啓動命令爲:

[root@localhost soft]# service ntamed start

2.       安裝webmin

  webmin是一個可視化的linux服務器管理工具,能夠幫助咱們實現不少功能,從官方網站http://www.webmin.com/下載webmin的最新rpm包,目前最新的爲1.560,下載後安裝

[root@localhost soft]# rpm -ivh webmin-1.560-1.noarch.rpm

warning: webmin-1.560-1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 11f63c51

Preparing...                ########################################### [100%]

Operating system is CentOS Linux

1:webmin                 ########################################### [100%]

Webmin install complete. You can now login to http://localhost.localdomain:10000/

as root with your root password.

安裝完成以後,默認的訪問端口是10000,默認用戶名位root,密碼爲系統root密碼。訪問時請確認系統防火牆已經開放10000端口。啓動命令爲

[root@localhost soft]# service webmin start

訪問界面以下圖1/2

1

2

更改界面語言,選擇WebMin下的Change Language and Theme,在語言欄選擇」Simplified Chinese(ZH_CN.UTF-8)」

3.       配置DNS

a.啓動DNS服務器

  打開Webmin界面,選擇Servers下的BIND DNS Server,點擊建立配置文件並啓動dns服務器,這裏只是內網測試,因此只選擇第一個便可,若是你的DNS用與外網解析,請選擇第二個,如圖3

3

啓動成功後會自動跳轉至DNS配置頁面,如圖4

4

圖中標出的便是咱們須要使用的功能。

建立新的主區域:建立一個新的DNS配置文件,有正向和逆向之分,稍後介紹;

建立新的視圖:這就是咱們實現DNS智能解析的視圖功能。

b.建立視圖

         因爲咱們須要對兩個不一樣的IP段來實現分別解析,所以咱們這裏須要建立兩個不一樣的視圖。須要注意的是,一旦建立了視圖,全部的域名記錄(建立的主區域)都必須屬於某個視圖,不容許沒有視圖的主區域存在。建立過程如圖5/6

這裏建立兩個視圖分別爲:

名稱:view_192.168.0.0  192.168.0.0/24的客戶端請求進行解析

名稱:view_192.168.136.0 192.168.136.0/24的客戶端請求進行解析

5

6

c.建立正向主區域

  建立主區域就至關於建立每一個域名在DNS上的配置文件,以linuxpad.cn爲例,咱們須要首先在DNS服務器上建立一個將linuxpad.cn解析到192.168.0.200的主記錄(先不考慮192.168.136.0段,只介紹主區域的建立方法),這個記錄咱們稱之爲正向記錄,即域名到IP;而後須要再建立一個將192.168.0.200解析到linuxpad.cn的主記錄,這個記錄咱們稱之爲逆向記錄,即IP到域名。這樣一個域名的配置文件就成功了。

對於屬於同一段IP的服務器來講,每一個域名必須建立一個正向主區域,可是全部域名能夠共用一個逆向主區域。

咱們點擊圖4上的建立新的主區域,建立過程如圖7

7

區域類型選擇正向,域名/網絡填寫域名」linuxpad.cn」,在視圖建立選擇此主區域所屬的視圖,這裏選擇」view_192.168.0.0」,E-mail地址須寫上,不然會報錯。

點擊建立若是沒有錯誤即建立成功,會自動跳轉到編輯主區域的界面,這裏咱們爲」linuxpad.cn」這個區域來添加A記錄。選擇地址選項(地址選項就至關於A記錄),如圖8

8

在名稱中填寫二級域名,在地址中填寫域名所對應的服務器地址,這裏名稱填寫」@」,即表示linuxpad.cn,沒有二級域名,固然你也能夠填寫www/ftp/mail之類的,如圖9

值得一提的是這裏能夠配置泛域名解析,即在名稱處填寫」*」,這樣全部在地址列表中沒有的名稱所有會匹配到名稱」*」所對應的IP地址,如aaa.linuxpad.cnaaa這個名稱不存在於地址記錄中,則aaa.linuxpad.cn就會匹配名稱爲」*」的這個地址記錄,注意這條規則的位置,請確認」*」規則位於最末尾,不然位於」*」以後的地址記錄將得不到解析。

9

d.建立逆向主區域

  咱們在上一步建立了linuxpad.cn正向解析,可是DNS解析只有正向是不行的,還必須有逆向解析,即將IP解析爲域名,只有這樣服務器才能將數據經過對應的域名返回給客戶端。

建立逆向主區域過程如圖10

10

區域類型選擇逆向,域名/網絡填寫」192.168.0.0」,在視圖中建立選擇」view_192.168.0.0」,一樣填入E-mail,而後點擊建立,建立成功後會自動跳轉到編輯主區域的界面。

接下來,選擇逆向地址,進行逆向地址的建立,如圖11/12

11

 

12

在地址中填寫服務IP地址,主機名中填寫IP所對應的域名。

到此刻爲止linuxpad.cn的解析就徹底建立成功了,咱們的DNS服務器就能解析linuxpad.cn這個域名了。可是不要着急,咱們來完成最後一步的配置。

e.另外一個視圖中域名解析的配置

  在上面的建立主區域的時候,在視圖中建立這個選項,咱們選擇的是view_192.168.0.0,這樣的話,咱們所建立的linuxpad.cn這個域名解析只能對192.168.0.0/24這個段內的客戶進行解析,若是我使用192.168.136.0段對linuxpad.cn進行訪問的時候DNS就找不到服務器了,由於咱們尚未在view_192.168.136.0這個視圖中添加規則呢。

按照上一步,咱們再來建立兩個規則,區域類型爲正向,域名/網絡爲linuxpad.cn,視圖屬於」view_192.168.136.0」,在」linuxpad.cn」主區域添加地址,名稱爲」@」,地址爲」192.168.136.200」,這裏有人會疑惑主區域的名稱linuxpad.cn不是與上一步的重複了,不衝突嘛,其實是不衝突的,在不一樣的視圖中能夠存在同名的主區域,可是在相同的視圖中不能存在同名的主區域。

咱們再建立一個逆向的主區域,區域類型爲逆向,域名/網絡爲」192.168.136.0」,視圖屬於」view_192.168.136.0」。在」192.168.136.0」主區域添加逆向地址,地址爲」192.168.136.200」,主機名爲」linuxpad.cn」

這樣咱們就完成了全部的DNS配置工做。

建立完成以後,返回到區域列表,咱們發現配置完成以後主界面會顯示出大概的配置信息。如圖13

13

4.       測試

  配置完成後,首先咱們須重啓DNS服務,你能夠經過Webmin圖像界面來應用配置(

Apply Configuraion),如圖14,也能夠經過服務器使用命令service named restart來重啓DNS服務。

14

 

 

測試192.168.0.0段:

禁用虛擬網卡,以本地鏈接的192.168.0.0/24段來測試。如圖15/16

15

16

禁用本地鏈接,以虛擬網卡的192.168.136.0/24段來測試。如圖17/18

17

18

這樣就利用BIND9VIEW視圖功能完美的解決了DNS智能解析的問題。

 

 

延伸:

一、  這個實驗中咱們完成了DNS服務器對不一樣網段的IP進行智能解析,這在內網和外網同時訪問公司網站是頗有效的,咱們只須要在公司DNS服務器上配置雙網卡,判斷若是請求IP是外網則返回外網地址,若是請求IP是內網則返回內網地址,有效的解決了公司內部電腦訪問公司網站速度過慢的問題(由於常規狀況下,內部電腦訪問網站須要先通過互聯網DNS服務器進行解析,而後再將服務器返回的數據經過外網返回給內網用戶,等於在外面繞了一大圈)。

二、  如何讓電信用戶解析到電信服務器,網通用戶解析到網通服務器。

這個能夠在DNS服務器上建立兩個視圖,一個電信視圖一個網通視圖,而且把電信和網通的IP分別寫到兩個視圖內(電信和網通的IP列表以及南方和北方的IP列表這個網上均可以查到),而後再針對不一樣的客戶端分別在兩個視圖內實現DNS智能解析。

相關文章
相關標籤/搜索