DNS服務

一、DNS服務


1.DNS作用

存放域名對應IP的記錄。將域名轉換爲IP、將IP轉換爲域名

IP:標識一臺網絡設備,通過IP可訪問指定網絡設備
域名:需註冊、如:baidu.com

2.DNS解析

(1)正向解析:將域名轉換爲IP地址;如www.baidu.com --> 202.103.250.23

(2)反向解析:將IP轉換爲域名;如202.103.250.23 --> www.baidu.com

3.DNS查詢方式

(1)遞歸查詢:發送的內容必須給出結果;客戶機和首選DNS之間

(2)迭代查詢:發送的內容不需給出迴應;DNS服務器和DNS服務器之間

4.DNS查詢過程

(1)客戶端訪問www.baidu.com
(2)客戶端檢查本地是否存在緩存,如果有直接解析並訪問
(3)客戶端檢查hosts文件是否存在對應關係,如果有直接解析並訪問
Windows:C:\Windows\System32\drivers\etc\hosts
Linux:/etc/hosts
(4)客戶端向首選DNS發送遞歸查詢,服務器收到後檢查是否有解析記錄,如果有直接將結返回給客戶端實現訪問(5)首選DNS使用迭代查詢方式發送請求給其他DNS服務器,DNS服務器之間依層級尋找,直到根服務器位置,若有找到將結果返回給客戶端實現訪問
(6)跟服務器收到請求後,將請求轉發到對應一級DNS服務器
(7)一級DNS服務器收到請求後,將請求轉發到對應二級DNS服務器
(8)二級DNS服務器收到請求後,查找對應域名是否有對應IP,如有對應IP地址
(9)DNS服務器將對應IP告知首選DNS服務器
(10)由首先DNS服務器將IP及對應域名緩存,並將IP告知客戶端
(11)如果都未找到解析,則首選DNS返回不可解析消息給客戶端實現整個查詢結束

5.DNS的角色

(1)緩存DNS:主要用於內網,用於加速內網訪問公網域名,可緩存公網域名對應IP。緩存後的記錄,當客戶端下次使用時,不需尋找DNS,只需尋找緩存
(2)主DNS:提供DNS(域名解析)服務
(3)從DNS:作爲主DNS服務器的備用,所有解析記錄從主DNS同步,當主DNS失效時,由從DNS繼續提供服務

二、部署緩存DNS服務器


兩塊網卡,第一塊網卡爲橋接,第二塊vmnet1

1.修改網絡配置

(1)cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
(2)vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
(3)vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.254
NETMASK=255.255.255.0
(4)/etc/init.d/network restart

2.開啓路由轉發

(1)vim /etc/sysctl.conf
7 net.ipv4.ip_forward = 1
(2)sysctl -p

3.編輯iptables防護牆規則

iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.20.186(換爲橋接獲取的IP)
//允許192.168.1.0上網

4.安裝bind軟件包

yum -y install bind bind-utils

5.編輯主配置文件

vim /etc/named.conf

options {
    listen-on port 53 { 192.168.1.254; };                   //設置監聽IP地址;需修改
    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 {localhost;};                       //刪除該行
    recursion yes;
    forwarders {114.114.114.114;8.8.8.8;};                  //轉發器設置,將所有DNS查詢請求轉發
    dnssec-enable no;                           //bind安全檢測機制;需修改
    dnssec-validation no;                       //bind安全檢測機制;需修改
    dnssec-lookaside auto;
    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
    managed-keys-directory "/var/named/dynamic";
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {                               //指定解析域
    type hint;                              //指定DNS類型,爲緩存服務器
    file "named.ca";                            //根解析文件
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

6.重啓DNS服務並設置35級別的開機自啓

/etc/init.d/named start && chkconfig --level 35 named on

7.客戶端配置

一塊網卡vmnet1、網關192.168.1.254、首選DNS 192.168.1.254
cmd --> nslookup www.baidu.com

三、部署主從DNS服務


DNS記錄種類

SOA記錄:起始授權記錄,代表所需解析域
NS記錄:標識DNS服務器名稱
A記錄:通過域名解析IP
CNAME記錄:別名
MX記錄:郵件記錄,可自動搜索郵件服務器
AAAA記錄:通過域名解析IPV6地址

主DNS服務器配置

一塊網卡爲vmnet1

1.修改網絡配置

(1)vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
DNS1=192.168.1.10
DNS2=192.168.1.20
(2)/etc/init.d/network restart
(3)vim /etc/sysconfig/network

HOSTNAME=ns1.xueluo.org

2.安裝bind軟件包

yum -y install bind bind-utils

3.編輯主配置文件

(1)vim /etc/named.conf
options {
    listen-on port 53 { 192.168.1.10; };                    //設置監聽IP地址;需修改
    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 {localhost;};                       //刪除該行
    recursion yes;
    dnssec-enable no;                           //bind安全檢測機制;需修改
    dnssec-validation no;                       //bind安全檢測機制;需修改
    dnssec-lookaside auto;
    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
    managed-keys-directory "/var/named/dynamic";
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "xueluo.org" IN {                              //指定正向解析域爲xueluo.org
    type master;                                //指定DNS類型,爲主DNS服務器
    file "xueluo.org.zone";                         //正向解析文件
    allow-transfer {192.168.1.20;};                     //允許同步服務器IP
};
zone "1.168.192.in-addr.arpa" IN {                          //指定反向解析區域
    type master;                                //指定DNS類型,爲主DNS服務器
    file "192.168.1.arpa";                          //反向解析文件
    allow-transfer {192.168.1.20;};                     //允許同步服務器IP
};
include "/etc/named.rfc1912.zones";
incude "/etc/named.root.key";
(2)cp /var/named/named.empty /var/named/xueluo.org.zone             //拷貝DNS模版文件並重命名
(3)cp /var/named/named.empty /var/named/192.168.1.arpa
(4)vim /var/named/xueluo.org.zone

$TTL 86400(TTL值,生命週期)
@   IN SOA  xueluo.org.(需要解析的域名) admin.xueluo.org.(管理員郵箱) (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    IN  NS  ns1.xueluo.org.     //NS記錄(起始授權記錄);輸入主DNS和從DNS服務器的主機名
    IN  NS  ns2.xueluo.org.
ns1 IN  A   192.168.1.10        //DNS服務器對應的IP地址
ns2 IN  A   192.168.1.20
www IN  A   192.168.1.100       //www.xueluo.org對應的IP
ftp IN  CNAME   www
(5)vim /var/named/192.168.1.arpa

$TTL 86400(TTL值,生命週期)
@   IN SOA  xueluo.org.(需要解析的域名) admin.xueluo.org.(管理員郵箱) (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    IN  NS  ns1.xueluo.org.     //NS記錄(起始授權記錄);輸入主DNS和從DNS服務器的主機名
    IN  NS  ns2.xueluo.org.
10  IN  PTR ns1.xueluo.org.
20  IN  PTR ns2.xueluo.org.
100 IN  PTR www.xueluo.org.
ftp IN  CNAME   www
(6)chown named:named /var/named/192.168.1.arpa /var/named/xueluo.org.zone
(7)/etc/init.d/named start && chkconfig --level 35 named on

從DNS搭建

一塊網卡爲vmnet1

1.修改網絡配置

(1)vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.20
NETMASK=255.255.255.0
DNS1=192.168.1.20
DNS2=192.168.1.10
(2)/etc/init.d/network restart
(3)vim /etc/sysconfig/network
HOSTNAME=ns2.xueluo.org

2.安裝bind軟件包

yum -y install bind bind-utils

3.編輯主配置文件

(1)scp [email protected]:/etc/named.conf /etc/
(2)vim /etc/named.conf
options {
    listen-on port 53 { 192.168.1.20; };                    //設置監聽IP地址;需修改
    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";\
    recursion yes;
    dnssec-enable no;
    dnssec-validation no;
    dnssec-lookaside auto;
    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
    managed-keys-directory "/var/named/dynamic";
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "xueluo.org" IN {
    type slave;                         //指定DNS類型,爲從DNS服務器
    file "slaves/xueluo.org.zone";                      //指定同步後正向解析文件存儲路徑
    masters {192.168.1.10;};                        //指定主DNS對應IP
};
zone "1.168.192.in-addr.arpa" IN {
    type slave;                         //指定DNS類型,爲從DNS服務器
    file "slaves/192.168.1.arpa";                       //指定同步後反向解析文件存儲路徑
    masters {192.168.1.10;};                        //指定主DNS對應IP
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
(3)/etc/init.d/named start && chkconfig --level 35 named on         //啓動named服務並設置爲開機自啓
(4)ls -l /var/named/slaves/                         //驗證是否有拷貝的文件

客戶端配置

一塊網卡vmnet1、首選DNS 192.168.1.10、 備用DNS 192.168.1.20
cmd --> nslookup www.xueluo.org             //nslookup(DNS解析命令)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章