DNS分離解析的實現方法詳解
DNS的分離解析,是指根據不同的客戶端提供不同的域名解析記錄。來自不同地址的客戶機請求解析同一域名時,為其提供不同的解析結果。也就是內外網客戶請求訪問相同的域名時,能解析出不同的IP地址,實現負載均衡。
實驗環境:
DNS伺服器:RedHat 6.5系統
外網IP地址是12.0.0.1
內網IP地址是192.168.10.1
內網客戶機:Windows+7/">Windows 7系統 IP地址是192.168.10.10
外網客戶機:Windows 7系統 IP地址是12.0.0.10
實驗前提:DNS伺服器需要有雙網絡卡,安裝bind軟體
- 系統預設安裝一個網絡卡,再新增一個網絡卡,用ifconfig命令檢視
-
新增外網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的設定
- 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 SOAbenet.com. admin.benet.com. ( 0; serial 1D; refresh 1H; retry 1W; expire 3H ); minimum NSbenet.com. A192.168.10.1#伺服器內網IP地址 wwwIN A192.168.10.80#內網地址記錄(www.benet.com) mail IN A192.168.10.25#內網地址記錄(mail.benet.com)
vim benet.com.zone.wan#編輯外網使用者資料檔案 $TTL 1D @IN SOAbenet.com. admin.benet.com. ( 0; serial 1D; refresh 1H; retry 1W; expire 3H ); minimum NSbenet.com. A12.0.0.1#伺服器外網IP地址 wwwIN A12.0.0.20#外網地址記錄(www.benet.com) mail IN A12.0.0.45#外網地址記錄(mail.benet.com)
第4步:啟動named服務
service named start
第5步:關掉防火牆
service iptables stop
第6步:驗證結果
內網客戶機將DNS地址設定為伺服器的內網IP,外網客戶機將DNS地址設定為伺服器的外網IP,然後使用nslookup命令解析域名。


Linux公社的RSS地址 : ofollow,noindex" target="_blank">https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址: https://www.linuxidc.com/Linux/2018-11/155545.htm