手機版
你好,游客 登錄 注冊
背景:
閱讀新聞

CentOS 7中構建分離解析域名服務器詳解

[日期:2019-10-10] 來源:Linux社區  作者:SiceLc [字體: ]

DNS分離解析介紹

?分離解析的域名服務器,實際上也還是主域名服務器,這里所說的分離解析,主要是指根據不同的客戶端,提供不同的域名解析記錄。來自不同地址的客戶機請求解析同一域名時,為其提供不同的解析結果。

搭建DNS分離解析服務器

實驗環境

使用VMware 15軟件分別打開一臺win 10虛擬機,一臺win 7虛擬機和一臺CentOS 7虛擬機

相關資料可從這個鏈接得到下載:http://www.vnrggh.live/Linux/2019-10/160967.htm

搭建實驗拓撲圖

在此次實驗中我將把CentOS 7虛擬機作為網關來使用,并在CentOS 7系統搭建DNS服務器提供DNS解析服務,同時開啟一臺win 7、一臺win 10客戶機作為客戶機,與CentOS 7進行網絡連接,win 7模擬為廣域網的客戶機,win 10模擬為局域網的客戶機,win 7與win 10作為不同網段中的客戶機就要我們在CentOS 7系統中做雙網卡的模式,來使兩臺客戶機連接。并設定不同的IP地址:win 7IP地址為:12.0.0.12/24 、win 10IP地址為:192.168.100.100、CentOS 7中兩個網卡中網關分別是:192.168.100.1/24、12.0.0.1/24。如下圖:

CentOS 7中構建分離解析域名服務器詳解
實驗目的:建立DNS分離解析服務器。

搭建實驗環境

1、首先在CentOS 7中安裝DNS服務,并建立雙網卡,使網卡處于僅主機模式,并設置網關,win 7與win 10客戶端網卡同樣設置為 僅主機模式,使設備綁定在同一網絡設備。

[[email protected] ~]# yum install bind -y
已加載插件:fastestmirror, langpacks
base                                                     | 3.6 kB     00:00     
extras                                                   | 3.4 kB     00:00     
updates                                                  | 3.4 kB     00:00     
(1/4): extras/7/x86_64/primary_db                          | 215 kB   00:25     
(2/4): base/7/x86_64/group_gz                              | 166 kB   00:25  

已安裝:
  bind.x86_64 32:9.9.4-74.el7_6.2                                               
...//省略部分內容...
作為依賴被升級:
  bind-libs.x86_64 32:9.9.4-74.el7_6.2                                          
  bind-libs-lite.x86_64 32:9.9.4-74.el7_6.2                                     
  bind-license.noarch 32:9.9.4-74.el7_6.2                                       
  bind-utils.x86_64 32:9.9.4-74.el7_6.2                                         

完畢!

CentOS 7中構建分離解析域名服務器詳解CentOS 7中構建分離解析域名服務器詳解CentOS 7中構建分離解析域名服務器詳解

2、配置CentOS 7系統網卡靜態IP地址,兩塊網卡均配置為網關使用。

[[email protected] ~]# cd /etc/sysconfig/network-scripts/    //進入網卡配置文件目錄
[[email protected] network-scripts]# ls                   //查看目錄
ifcfg-ens33  ifdown-ppp       ifup-ib      ifup-Team    
ifcfg-lo     ifdown-routes    ifup-ippp    ifup-TeamPort
ifdown       ifdown-sit       ifup-ipv6    ifup-tunnel
ifdown-bnep  ifdown-Team      ifup-isdn    ifup-wireless
ifdown-eth   ifdown-TeamPort  ifup-plip    init.ipv6-global
ifdown-ib    ifdown-tunnel    ifup-plusb   network-functions
ifdown-ippp  ifup             ifup-post    network-functions-ipv6
ifdown-ipv6  ifup-aliases     ifup-ppp
ifdown-isdn  ifup-bnep        ifup-routes            //沒有添加的網卡配置文件
ifdown-post  ifup-eth         ifup-sit
[[email protected] network-scripts]# ifconfig       //查看網卡信息
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500    
        inet6 fe80::a85a:c203:e2e:3f3c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:5b:d3:a0  txqueuelen 1000  (Ethernet)
        RX packets 32470  bytes 45131799 (43.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11167  bytes 710926 (694.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500     //添加的網卡
        ether 00:0c:29:5b:d3:aa  txqueuelen 1000  (Ethernet)
        RX packets 317  bytes 51515 (50.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 204  bytes 35976 (35.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[[email protected] network-scripts]# vim ifcfg-ens33    //進入編輯網卡信息

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static                       //更改dhcp為static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=2ef6b862-5201-48c5-a450-23b3720ab3a0
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.1              //設值IP地址,作為局域網網關地址
NETMASK=255.255.255.0             //設置子網掩碼
~                                                                               
~                                                                                                             
~                                                                               
:wq                              //保存退出
[[email protected] network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36 //復制ens33配置文件為ens36,為添加的網卡設置配置文件
[[email protected] network-scripts]# vim ifcfg-ens36     //進入編輯網卡配置文件

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens36                         //更改33為36
DEVICE=ens36                       //更改33為36
ONBOOT=yes
IPADDR=12.0.0.1                    //更改IP地址外網網關
NETMASK=255.255.255.0
~                                          //注意,UUID條目要刪除,不可有兩個相同的UUID,刪除讓系統自動識別即可     
~                                                                                                             
:wq              //保存退出
[[email protected] network-scripts]# service network restart        //重啟網絡服務
Restarting network (via systemctl):                        [  確定  ]
[[email protected] network-scripts]# ifconfig                          //查看網卡信息
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.1  netmask 255.255.255.0  broadcast 192.168.100.255   //獲取IP地址
        inet6 fe80::a85a:c203:e2e:3f3c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:5b:d3:a0  txqueuelen 1000  (Ethernet)
        RX packets 32595  bytes 45170473 (43.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11353  bytes 743789 (726.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 12.0.0.1  netmask 255.255.255.0  broadcast 12.0.0.255            //獲取IP地址
        inet6 fe80::f6eb:23e3:3afb:fef4  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:5b:d3:aa  txqueuelen 1000  (Ethernet)
        RX packets 456  bytes 94448 (92.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 372  bytes 64348 (62.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3、分別設置win 10與win 7IP地址,使其與CentOS 7兩塊網卡連接。

CentOS 7中構建分離解析域名服務器詳解CentOS 7中構建分離解析域名服務器詳解CentOS 7中構建分離解析域名服務器詳解CentOS 7中構建分離解析域名服務器詳解

在CentOS 7中配置DNS服務

1、進入DNS服務主配置文件,配置主配置文件信息。

[[email protected] network-scripts]# cd ~
[[email protected] ~]# vim /etc/named.conf    //進入比編輯主配置文件

// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
...//省略部分內容...
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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };      //更改為所有地址,這樣所有網段就都可以使用DNS服務

        /* 
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable 
           recursion. 
...//省略部分內容...
:wq                   //保存退出

2、更改DNS服務區域配置文件

[email protected] ~]# vim /etc/named.rfc1912.zones 

// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
                                             //刪除此處下所有條目,并在此處開始編寫內容
zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
...//省略部分內容...
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

view "lan" {                         //設置對內局域網用戶的區域結構
        match-{ 192.168.100.0/24; }; //匹配條目來自局域網的客戶端IP地址
        zone "linuxmi.com" IN {           //設置域名信息
          type master;                //區域類型為主區域
          file "linuxmi.com.lan";         // 區域數據文件為“linuxmi.com.lan”      
        }; 
        zone "." IN {                 //配置根域名解析(可以從主配置文件named.conf中復制即可)
          type hint;
          file "named.ca";
        };
};

view "wan" {                            //設置面向廣域網用戶的區域結構
        match-clients { 12.0.0.0/24; };  //匹配條目來自廣域網的客戶端IP地址
        zone "linuxmi.com" IN {
          type master;
          file "linuxmi.com.wan";            // 區域數據文件為“linuxmi.com.wan” 
        };
};

~
~
~
:wq                       //保存退出

3、配置DNS服務區域數據文件(注意配置文件內容的書寫格式)

[[email protected] ~]# cd /var/named               //進入區域配置文件存放目錄
[[email protected] named]# cp -p named.localhost linuxmi.com.lan   //復制named.localhost為linuxmi.com.lan
[[email protected] named]# vim linuxmi.com.lan        //進入編輯區域數據文件信息
$TTL 1D
@       IN SOA  linuxmi.com. admin.linuxmi.com. (          //更改域名、管理郵箱
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      linuxmi.com.             //更改域名服務器記錄地址
        A       192.168.100.1        //更改正向解析條目地址
www IN  A       192.168.100.88       //添加www域名的解析地址
smtp IN A       192.168.100.99       //添加主機名解析地址
~                                                                                   
~                                                                                                             
~                                                                                   
:wq                          //保存退出
[[email protected] named]# cp -p linuxmi.com.lan linuxmi.com.wan    //復制linuxmi.com.lan為linuxmi.com.wan
[[email protected] named]# vim linuxmi.com.wan              //進入編輯區域數據文件信息
$TTL 1D
@       IN SOA  linuxmi.com. admin.linuxmi.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      linuxmi.com.
        A       12.0.0.1                         //更改解析地址為12.0.0.1即可
www IN  A       12.0.0.1
smtp IN A       12.0.0.1
~                                                                                   
~                                                                                                             
~                                                                                   
:wq                          //保存退出

啟動并驗證服務

1、啟動DNS服務,并關閉防火墻與安全功能

[[email protected] named]# systemctl start named       //啟動DNS服務
[[email protected] named]# systemctl status named       //查看服務啟動情況
● named.service - Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; vendor preset: disabled)
   Active: active (running) since 日 2019-09-08 15:32:06 CST; 17s ago      //服務成功啟動
  Process: 23372 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 23368 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
 Main PID: 23374 (named)
   CGroup: /system.slice/named.service
           └─23374 /usr/sbin/named -u named -c /etc/named.conf
...//省略部分內容...
[[email protected] named]# systemctl stop firewalld.service     //關閉防火墻
[[email protected] named]# setenforce 0                         //關閉增強性安全功能

2、在win 7客戶端中驗證解析地址,看是否為我們設定的IP地址

C:\Users\Administrator>nslookup www.linuxmi.com        //查看解析域名
服務器:  UnKnown
Address:  12.0.0.1                         

名稱:    www.linuxmi.com
Address:  12.0.0.1                                //成功解析地址
C:\Users\Administrator>nslookup smtp.linuxmi.com      //主機名解析
服務器:  UnKnown
Address:  12.0.0.1

名稱:    smtp.linuxmi.com
Address:  12.0.0.1                               //成功解析地址    

3、在win 10客戶端中驗證解析地址,看是否為我們設定的IP地址

C:\Users\Sun>nslookup www.linuxmi.com          //查看解析域名   
服務器:  UnKnown
Address:  192.168.100.1

名稱:    www.linuxmi.com
Address:  192.168.100.88                   //成功解析地址

C:\Users\Sun>nslookup smtp.linuxmi.com         //主機名解析
服務器:  UnKnown
Address:  192.168.100.1

名稱:    smtp.linuxmi.com
Address:  192.168.100.99                  //成功解析地址 

通過上面的實驗成功搭建DNS的分離解析服務,希望對大家有所幫助!!!

Linux公社的RSS地址http://www.vnrggh.live/rssFeed.aspx

本文永久更新鏈接地址http://www.vnrggh.live/Linux/2019-10/160964.htm

linux
相關資訊       分離解析域名服務器 
本文評論   查看全部評論 (0)
表情: 表情 姓名: 字數

       

評論聲明
  • 尊重網上道德,遵守中華人民共和國的各項有關法律法規
  • 承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
  • 本站管理人員有權保留或刪除其管轄留言中的任意內容
  • 本站有權在網站內轉載或引用您的評論
  • 參與本評論即表明您已經閱讀并接受上述條款
彩票平台