天天看點

Linux下實作DNS的分離解析一、DNS簡介二、安裝DNS解析Bind服務三、DNS分離解析案例

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分離解析案例

Linux下實作DNS的分離解析一、DNS簡介二、安裝DNS解析Bind服務三、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
           

繼續閱讀