1. 程式人生 > >Linux-dns基礎知識和BIND的簡單配置-2(正向解析和反向解析)

Linux-dns基礎知識和BIND的簡單配置-2(正向解析和反向解析)

查詢 proc author 從dns服務器 access one 根目錄 自動生成 images

DNS服務器基本配置

bind詳解:
包名:bind
進程:named
協議:dns
使用端口:53(tcp,udp)
相關包:
bind-chroot:將named進程的活動範圍限定在chroot目錄,保證安全性。
bind-devel:與開發相關的頭文件和庫文件(編譯安裝bind時所需)
bind-libs:bind服務器端和客戶端都使用到的公共庫文件
bind-utils : bind客戶端工具
程序文件:/usr/sbin/named
bind權限相關:
安裝完named會自動創建用戶named系統用戶,named進程得由管理員啟動,啟動完成後再切換為以named系統用戶的身份運行
技術分享圖片
安裝: yum install bind

[root@lishuai usb]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf 主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones 區域配置文件 被include包含在主配置文件中
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca #bind自動生成的13跟服務器存放文件
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
區域解析庫文件:/var/named/zone_name.zone

技術分享圖片
dig,host,nslookup都是的dns測試工具

在這裏我們以四個實驗分別詳解DNS的四種配置
配置正向解析的bind
配置反向解析的bind
配置輔助bind
實現主輔DNS之間的區域傳送

*1、配置正向解析
【將一臺主機配置成可正向解析的DNS之步驟】
第一步:使用YUM安裝DNS所使用的軟件包(BIND)
第二步:創建或修改主配置文件(/etc/named.conf)
第三步:創建區域數據文件(/var/named/
.zone)
第四步:使用相關命令(named-checkconf、named-checkzone)測試配置文件及區域文件是否存在語法錯誤
第五步:確保主配置文件和各區域解析庫文件的權限為640,屬主為root,屬組為named;

第六步:重啟服務或重新加載配置文件
第七步:更改iptables和selinux的設置(如果不了解此兩項可以暫時關閉它們)
第八步:分別使用(dig/nslookup)在Linux/Windows主機進行查詢DNS相關資源記錄 **

第一步:yum install bind
第二步:修改主配置文件

C/C++風格的語法,註釋用//或/ /
options {
// listen-on port 53 { 127.0.0.1; };//指定監聽的端口和地址 需要註釋掉
// 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 { localhost; };// 定義訪問控制,默認是只允許本機查詢解析庫 ,註釋掉表示允許所有主機查詢

    /* 
     - 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. 
     - If your recursive DNS server has a public IP address, you MUST enable access 
       control to limit queries to your legitimate users. Failing to do so will
       cause your server to become part of large scale DNS amplification 
       attacks. Implementing BCP38 within your network would greatly
       reduce such attack surface 
    */
    recursion yes;//是否允許遞歸查詢

    dnssec-enable no; //dnssec是dns加上安全組件,為避免測   試結果,這兩項應改為no
    dnssec-validation no;

    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";

    managed-keys-directory "/var/named/dynamic";

    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";

};

日誌配置段logging{……}:

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
配置段zone{……}:
zone "." IN {
type hint;
file "named.ca";
};

區域配置使用關鍵字zone,定義解析指定的域時,依據哪個解析庫文件。
在主配置文件中,默認僅配置了根域的zone,依據的文件是named.ca。這樣緩存DNS服務器才能找得到根。
但是其他域的解析庫文件統一定義在/etc/named.rfc1912.zones。主配置文件中包含了此文件:

include "/etc/named.rfc1912.zones";
技術分享圖片

此時一臺緩存服務器配置好了

第三步:創建區域配置文件
各域的解析庫配置指定/etc/named.rfc1912.zones

zone定義的格式:
one "區域名稱" IN {
type master|slave|forward; //註意每個語句要以分號結尾
file "ZONE_NAME.zone";
}; //註意要以分號結尾

hint :指向根域
master: 主DNS服務器
slave: 從DNS服務器
forward: 定義轉發

我們編輯配置文件創建一個正向解析一個反向解析
技術分享圖片
我們在/var/named/下創建相應的解析庫文件
技術分享圖片
技術分享圖片
註意:正向解析庫文件不需要PTR記錄,反向解析庫文件不需要CNAME和MX 記錄,我們還要註意例如ns.lishuai.com. 裏面最後是有個點的 不能省略
第三步測試一下配置文件和解析庫文件有無錯誤
檢查工具
①named-checkconf:檢查配置文件的語法和完整性
②named-checkzone:檢查區域解析庫文件的語法和完整性
用法:named-checkzone zonename filename
例如named-checkzone 區域名稱 /var/named/ZONE_NAME.zone

技術分享圖片
**第四步:修改權限
chown root:named /var/named/lishuai.com.zone
chown root:named /var/named2.168.192.zone
chmod 640 /var/named/lishuai.com.zone
ch‘mo‘d 640 /var/named/2.168.192.zone

第五步:重啟服務或者重讀配置文件

systemctl restart named 或者
rndc reload  或者
systemctl reload named

技術分享圖片

第六步:關閉selinux 和iptables
第七步:測試
測試工具
dig

常用使用格式:dig [-t TYPE] [@SERVER] [-x IP_ADDR] FQDN
其中
-t指定查詢的資源記錄類型(下述);
-x為反向解析,指定要解析的IP地址; @指定通過哪個DNS服務器解析,無該選項則使用默認。
br/>@指定通過哪個DNS服務器解析,無該選項則使用默認。

常用格式:host [-t TYPE] FQDN [SERVER_IP]

在這裏我們使用192.168.2.29這臺主機測試,我們的BIND服務安裝在192.16.2.18主機上
技術分享圖片
技術分享圖片

技術分享圖片

Linux-dns基礎知識和BIND的簡單配置-2(正向解析和反向解析)