DNS分離解析

DNS的分離解析,是指根據不同的客戶端提供不同的域名解析記錄。來自不同地址的客戶機請求解析同一域名時,爲其提供不同的解析結果。也就是內外網客戶請求訪問相同的域名時,能解析出不同的IP地址,實現負載均衡。

實驗環境:

DNS服務器:Redhat 6.5系統
外網IP地址是12.0.0.1
內網IP地址是192.168.10.1
內網客戶機:Windows 7系統 IP地址是192.168.10.10
外網客戶機:Windows 7系統 IP地址是12.0.0.10

實驗前提:DNS服務器需要有雙網卡,安裝bind軟件

  • 系統默認安裝一個網卡,再添加一個網卡,用ifconfig命令查看
    DNS分離解析
  • 添加外網eth1外網的網絡配置文件

    [root@RedHat6-2 ~]# cd /etc/sysconfig/network-scripts/
    [root@RedHat6-2 network-scripts]# cp ifcfg-eth0 ifcfg-eth1
    [root@RedHat6-2 network-scripts]# vim ifcfg-eth1

    DEVICE=eth1 #設備名稱eth1
    HWADDR=00:0C:29:AD:B6:15 #eth1的MAC地址
    TYPE=Ethernet
    ONBOOT=yes #激活網絡接口
    NM_CONTROLLED=yes
    BOOTPROTO=static #靜態配置IP
    IPADDR=12.0.0.1 #網絡IP地址
    NETMASK=255.255.255.0 #網絡子網掩碼

  • 重啓網絡服務
    service network restart
  • ifconfig命令查看內外網IP的設置
    DNS分離解析
  • Yum安裝bind軟件
    yum install bind -y

實驗步驟:

第1步: 修改bind服務程序的主配置文件(/etc/named.conf)

將監聽端口和允許查詢主機參數設置爲any。由於配置的DNS分離解析功能與DNS根服務器配置參數有衝突,需要將根域信息刪除。

vim /etc/named.conf     #編輯主配置文件

options {
listen-on port 53 { any; };
#設置監聽的地址和端口
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
#允許使用DNS服務的地址
recursion yes;

-

zone "." IN {
#刪除根域信息
type hint;
file "named.ca";
};

第2步:編輯區域配置文件(/etc/named.rfc1912.zone)

  • 由於區域配置文件是爲不同的客戶機地址啓用不同的zone區域設置,各自使用獨立的數據文件,所以要把配置文件中原有的數據清空。
  • 主要使用“view”配置語句和“machine-clients”配置選項,根據不同的客戶端地址對“benet.com”域的查詢對應到不同的數據文件,從而得到不同的解析結果。
    view /etc/named.rfc1912.zone    #編輯區域配置文件

    view "lan" {
    #設置面向內網用戶的視圖
    match-clients { 192.168.10.0/24; }; #匹配條件爲內網的客戶端地址
    zone "benet.com" IN {
    type master;
    file "benet.com.zone.lan"; #指定面向內網用戶的數據配置文件
    };
    zone "." IN {
    type hint;
    file "named.ca"; #指向根域數據文件
    };
    };
    view "wan" {
    #設置面向外網用戶的視圖
    match-clients { any; }; #匹配條件爲“any”任意地址
    zone "benet.com" IN {
    type master;
    file "benet.com.zone.wan"; #指定面向外網用戶的數據配置文件
    };
    };

第3步:建立區域數據配置文件(/var/named)

分別通過模板文件創建出兩個不同的區域數據文件,對應內外網的客戶端域名請求,名稱應與上面的區域配置文件指定的名稱一致。

cd /var/named                             #切換目錄
cp -p named.localhost benet.com.zone.lan  #保留文件的屬性,建立內網用戶數據文件
cp -p named.localhost benet.com.zone.wan  #保留文件的屬性,建立外網用戶數據文件
vim /var/named/benet.com.zone.lan        #編輯內網用戶數據文件

$TTL 1D
@       IN SOA  benet.com. admin.benet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.
        A       192.168.10.1                   #服務器內網IP地址
www   IN A       192.168.10.80          #內網地址記錄(www.benet.com)
mail IN A       192.168.10.25          #內網地址記錄(mail.benet.com)
vim benet.com.zone.wan              #編輯外網用戶數據文件

$TTL 1D
@       IN SOA  benet.com. admin.benet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.
        A       12.0.0.1                      #服務器外網IP地址
www  IN A       12.0.0.20            #外網地址記錄(www.benet.com)
mail IN A       12.0.0.45            #外網地址記錄(mail.benet.com)

第4步:啓動named服務

service named start

第5步:關掉防火牆

service iptables stop

第6步:驗證結果

內網客戶機將DNS地址設置爲服務器的內網IP,外網客戶機將DNS地址設置爲服務器的外網IP,然後使用nslookup命令解析域名。
DNS分離解析
DNS分離解析

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