DNS分離解析配置詳解
1、DNS分離解析的作用
DNS分離解析即將內外網的相同域名解析為不同的IP地址。現實網絡中一些電商網站為了讓用戶有更好的體驗效果解析速度更快,就把來自不同運營商的用戶解析到相對應的服務器這樣就大大提升了訪問速度。
2、配置前的準備工作
註:下面的所有配置全部是在centos7.x系統完成的。
(1)準備三臺機器,先按照下圖配置好網卡IP地址。
(2)關閉三臺機器的selinux和防火墻,或者設置對應的防火墻規則開放53、80等端口。
3、配置DNS服務器
(1)安裝DNS需要的軟件
[root@localhost ~]# yum -y install bind
(2)修改主配置文件named.conf
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { any; }; #監聽本機或者any
listen-on-v6 port 53 { ::1; }; #ipv6的監聽,可註釋掉
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的所有配置文件中“{}”這樣的括號裏有內容的話內容一定要與括號之間有空格否則服務無法啟動。
(3)修改區域配置文件named.rfc1912.zones
[root@localhost ~]# vim /etc/named.rfc1912.zones
view "lan" { #定義內網view,命名為lan
match-clients { 192.168.115.0/24; }; #設置那個網段可以解析
zone "long.com" IN { #設置要解析的區域
type master; #類型有hint,master,Slave,swap,Hint是根區域類型,master和slave是用來做DNS的主從,swap是交換類型
file "named.lan"; #區域解析庫文件,相對named.conf中 directory "/var/named"這個路徑,所以區域解析文件要放在/var/named下
allow-update { none; };
};
zone "." IN {
type hint;
file "named.ca";
};
};
view "wan" { #定義的外網view
match-clients { 10.10.10.0/24; };
zone "long.com" IN {
type master;
file "named.wan";
};
};
註意:一旦啟用view,所有的zone必須都在view下,所以要把系統默認的自檢用的zone也放在view下。
(4)配置區域解析庫文件
[root@localhost named]# cp -a named.localhost named.lan
[root@localhost named]# cp -a named.localhost named.wan
[root@localhost named]# vim named.lan
$TTL 1D
@ IN SOA long.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.long.com.
dns A 192.168.115.130 #這是DNS服務器內網卡IP
www A 192.168.115.120 #解析的web服務地址
[root@localhost named]# vim named.wan
$TTL 1D
@ IN SOA long.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.long.com.
dns A 10.10.10.130 #DNS服務器外網卡IP
www A 10.10.10.130 #解析的web服務地址
[root@localhost named]# systemctl restart named.service
(5)DNS服務器兼任外網主機的web服務器,安裝httpd軟件
[root@localhost ~]# yum -y install httpd 安裝httpd服務
[root@localhost ~]# echo '10.10.10.130'>/var/www/html/index.html 給網頁文件添加內容
[root@localhost ~]# systemctl restart httpd.service 啟動httpd服務
4、在內網主機192.168.115.120上面安裝httpd軟件
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# echo '192.168.115.120'>/var/www/html/index.html
[root@localhost ~]# systemctl restart httpd.service
5、測試我們的DNS服務器能否做到內外網分離解析
(1)把外網主機10.10.10.150的DNS設置為DNS服務器10.10.10.130的外網卡IP
(2)把內網主機192.168.115.120的DNS設置為DNS服務器192.168.115.130的內網卡IP
(3)然後分別使用內網主機和外網主機訪問我們DNS服務器裏解析好的域名www.long.com,看兩個主機訪問的內容是否有區別。
(4)測試結果
內網主機訪問結果:
[root@localhost ~]# curl www.long.com
192.168.115.120
外網主機訪問結果:
[root@localhost ~]# curl www.long.com
10.10.10.130
從上面的結果我們可以看到,內外網主機訪問的結果正好是我們內外網web服務器上設置的網頁內容,而且使用的是同一臺DNS服務器,這就說明我們的DNS分離解析已經配置完成了。
當然也可以使用Windows主機瀏覽器進行測試DNS服務器,只需把Windows的IP修改成內外網主機的網段,然後DNS設置成我們搭建的DNS地址,對應測試兩遍即可。
DNS分離解析配置詳解