Linux下實作DNS的分離解析
- 一、DNS簡介
-
- 什麼是DNS
- DNS的基本概念
- 二、安裝DNS解析Bind服務
-
- BIND
- bind配置檔案
- 安裝bind、bind-chroot軟體包
- 檢視安裝軟體生成的配置檔案
- 三、DNS分離解析案例
-
- (一)在虛拟機C上搭建web服務
-
- 1、安裝httpd
- 2、添加虛拟web調用配置檔案
- 3、書寫web網頁檔案
- 4、啟動測試
- (二)在虛拟機D上搭建web服務
-
- 1、安裝httpd
- 2、添加虛拟web調用配置檔案
- 3、書寫web網頁檔案
- 4、啟動測試
- (三)虛拟機A上搭建DNS伺服器,實作DNS分離解析
-
- 1、安裝DNSbind服務
- 2、編輯主配置檔案named.conf
- 3、建立并編輯位址庫配置檔案
- 4、檢測并重新開機服務
- 5、配置虛拟機A和虛拟機B的DNS
- 6、效果驗證
- 7、通路web頁面
一、DNS簡介
什麼是DNS
DNS( Domain Name System)是“域名系統”的英文縮寫,是一種組織成域層次結構的計算機和網絡服務命名系統,使用的是UDP協定的53号端口,它用于TCP/IP網絡,它所提供的服務是用來将主機名和域名轉換為IP位址的工作
DNS的基本概念
1、FQDN:Full Qualified Domain Name,完全限定域名,即每個域在全球網絡都是唯一的;另外值得提到的一點是域并不是指諸如www.google.com這樣的域名,而google.com才是域;
2、域的分類
(1)根域:辨別為(.)點 ,全球13組根域名伺服器以英文字母A到M依序命名,域名格式為“字母.root-servers.net”。其中有11個是以任播技術在全球多個地點設立鏡像站。比如中國大陸在北 京有兩台編号為L的鏡像,編号為F、I、J的鏡像各一台,共5台;香港有編号為D、J的鏡像各2台,編号為A、F、I、L的鏡像各一台,共8台;台灣則有編号為F、I、J各一台,共3台。
(2)頂級域:頂級域(Top Level Domain,簡稱TLD)分為三類
1> 通用頂級域:諸如 .com(商業機構) .org(非營利性組織) .net(網絡服務機構)等
2> 國家頂級域:諸如 .cn(中國) .uk(英國) .us(美國) .jp(小日本)
3> 反向域(基礎建設頂級域):.arpa,即從IP到FQDN的反向解析
3、DNS伺服器查詢的類型:
(1)遞歸查詢:用戶端僅發出一次請求,讓DNS伺服器去查詢傳回結果;
(2)疊代查詢:要發出多次請求去分别查詢不同的DNS伺服器;
4、DNS名稱解析方式:
(1)正向解析:即将FQDN轉化為IP。
(2)反向解析:即将IP轉化為FQDN。
5、DNS伺服器類型:
(1)主DNS伺服器:負責解析至少一個域。
(2)輔助(從)DNS伺服器:負責解析至少一個,是主DNS伺服器的輔助。
(3)緩存DNS伺服器:不負責解析域,隻是緩存域名解析結果。
6、DNS傳回的結果類型:
(1)肯定答案:查詢的域存在,會被緩存下來。
(2)否定答案:不存在查詢的域名,是以不存在與其查詢的域名對應的IP;會被緩存下來。
(3)權威答案:所查詢的域名的結果是由負責解析這個域的DNS伺服器所傳回的答案。
(4)非權威答案:在緩存中查詢的結果。
二、安裝DNS解析Bind服務
BIND
伯克利網際網路域名服務 BIND(Berkeley Internet Name Daemon)是一款全球網際網路使用最廣泛的能夠提供安全可靠、快捷高效的域名解析服務程式。并且 Bind 服務程式還支援 chroot(change root)監牢安全機制,chroot 機制會限制 bind 服務程式僅能對自身配置檔案進行操作,進而保證了整個伺服器的安全
bind配置檔案
主程式 /usr/sbin/named
主配置檔案 /etc/named.conf
區域配置檔案 /etc/named.rfc1912.zones
安裝bind、bind-chroot軟體包
yum -y install bind-chroot bind
檢視安裝軟體生成的配置檔案
rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf #主配置檔案
/etc/named.iscdlv.key
/etc/named.rfc1912.zones #事先定義好的區域檔案
/etc/named.root.key #實作事務簽名的密鑰檔案
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
三、DNS分離解析案例
(一)在虛拟機C上搭建web服務
1、安裝httpd
yum -y install httpd
2、添加虛拟web調用配置檔案
編輯檔案qqbai.cof
vim /etc/httpd/conf.d/qqbai.conf
書寫檔案如下:
<VirtualHost *:80>
ServerName www.qq.com
DocumentRoot /var/www/qq
</VirtualHost>
<VirtualHost *:80>
ServerName www.baidu.com
DocumentRoot /var/www/baidu
</VirtualHost>
3、書寫web網頁檔案
mkdir /var/www/qq ##建立網頁目錄
echo '我是www.qq.com web1 192.168.105.72' > /var/www/qq/index.html
mkdir /var/www/baidu ##建立網頁目錄
echo '我是www.baidu.com web1 192.168.105.72' > /var/www/baidu/index.html
4、啟動測試
添加本地解析hosts檔案
重新開機web服務
>systemctl restart httpd
curl測試web
curl 'http://www.baidu.com'
我是www.baidu.com web1 192.168.105.72
curl 'http://www.qq.com'
我是www.qq.com web1 192.168.105.72
(二)在虛拟機D上搭建web服務
1、安裝httpd
yum -y install httpd
2、添加虛拟web調用配置檔案
編輯qqbai.conf
vim /etc/httpd/conf.d/qqbai.conf
書寫内容如下:
<VirtualHost *:80>
ServerName www.qq.com
DocumentRoot /var/www/qq
</VirtualHost>
<VirtualHost *:80>
ServerName www.baidu.com
DocumentRoot /var/www/baidu
</VirtualHost>
3、書寫web網頁檔案
mkdir /var/www/qq ##建立網頁目錄
echo '我是www.qq.com web2 192.168.105.73' > /var/www/qq/index.html
mkdir /var/www/baidu ##建立網頁目錄
echo '我是www.baidu.com web2 192.168.105.73' > /var/www/baidu/index.html
4、啟動測試
添加本地解析hosts檔案
重新開機web服務
systemctl restart httpd
curl測試web
curl 'http://www.baidu.com'
我是www.baidu.com web2 192.168.105.73
curl 'http://www.qq.com'
我是www.qq.com web2 192.168.105.73
(三)虛拟機A上搭建DNS伺服器,實作DNS分離解析
1、安裝DNSbind服務
yum -y install bind-chroot bind
2、編輯主配置檔案named.conf
options {
listen-on port 53 { 192.168.105.80; }; ##改為本機ip
listen-on-v6 port 53 { any; }; ##修改為any
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
##正向區域配置
view "local" { #注意所有的區域配置都必須在view下
match-clients { 192.168.105.80; };
zone "qq.com" IN {
type master;
file "qq.com.zone";
};
zone "baidu.com" IN {
type master;
file "baidu.com.zone";
};
};
view "other" {
match-clients { 192.168.105.71; };
zone "qq.com" IN {
type master;
file "qq1.com.zone";
};
zone "baidu.com" IN {
type master;
file "baidu1.com.zone";
};
};
3、建立并編輯位址庫配置檔案
建立位址庫配置檔案
cp -p named.localhost baidu.com.zone #注意保留檔案權限複制
cp -p named.localhost baidu1.com.zone
cp -p named.localhost qq.com.zone
cp -p named.localhost qq1.com.zone
編寫baidu.com.zone位址庫配置檔案
vim baidu.com.zone
$TTL 1D
@ IN SOA @ baidu.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS baidu.com.
A 192.168.105.80
www IN A 192.168.105.72
編寫qq.com.zone位址庫配置檔案
vim qq.com.zone
$TTL 1D
@ IN SOA @ qq.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS qq.com.
A 192.168.105.80
www IN A 192.168.105.72
編寫baidu1.com.zone位址庫配置檔案
vim baidu1.com.zone
$TTL 1D
@ IN SOA @ baidu.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS baidu.com.
A 192.168.105.80
www IN A 192.168.105.73
編寫qq1.com.zone位址庫配置檔案
vim qq1.com.zone
$TTL 1D
@ IN SOA @ qq.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS qq.com.
A 192.168.105.80
www IN A 192.168.105.73
4、檢測并重新開機服務
named-checkconf #檢測配置檔案編寫正确性
systemctl restart named #重新開機服務
5、配置虛拟機A和虛拟機B的DNS
虛拟機A上:
echo nameserver 192.168.105.80> /etc/resolv.conf
虛拟機B上:
echo nameserver 192.168.105.80> /etc/resolv.conf
6、效果驗證
在虛拟機A上:
[[email protected] named]# nslookup www.baidu.com
Server: 192.168.105.80
Address: 192.168.105.80#53
Name: www.baidu.com
Address: 192.168.105.72
[[email protected] named]# nslookup www.qq.com
Server: 192.168.105.80
Address: 192.168.105.80#53
Name: www.qq.com
Address: 192.168.105.72
在虛拟機B上:
[[email protected] ~]# nslookup www.baidu.com
Server: 192.168.105.80
Address: 192.168.105.80#53
Name: www.baidu.com
Address: 192.168.105.73
[[email protected] ~]# nslookup www.qq.com
Server: 192.168.105.80
Address: 192.168.105.80#53
Name: www.qq.com
Address: 192.168.105.73
7、通路web頁面
虛拟機A上:
[[email protected] named]# curl www.baidu.com
我是www.baidu.com web1 192.168.105.72
[[email protected] named]# curl www.qq.com
我是www.qq.com web1 192.168.105.72
虛拟機B上:
[[email protected] ~]# curl www.baidu.com
我是www.baidu.com web2 192.168.105.73
[[email protected] ~]# curl www.qq.com
我是www.qq.com web2 192.168.105.73