DNS原理和正、反向解析配置
Sockets:
C/S:
Client:發起應用請求的程序
Server:響應請求(提供服務)的程序
LISTEN:Sockets
DNS :Domain Name Server, 應用層協議
C/S:
53/tcp , 53/udp
DNS查詢類型:
遞歸查詢
叠代查詢
DNS服務器類型:
負責解析至少一個域:
主名稱服務器
輔助名稱服務器
不負責解析:
緩存名稱服務器
一次完整的查詢請求經過的流程:
Client > hosts文件 > DNS Local Cache > DNS Server
自己負責解析的域:直接查詢數據庫並返回答案
不是自己負責解析的域:Server Cache > iteration(叠代查詢
主從DNS服務器:
主DNS服務器:維護所負責解析的域數據庫的服務器,讀寫操作均可執行
從DNS服務器:從主DNS服務器同步(即復制)一份解析庫,只能進行讀操作
區域數據庫文件:
資源記錄:Resource Record
記錄類型:A , AAAA , SOA , NS , CNAME , MX
SOA: Start Of Authority 起始授權記錄:一個區域解析庫有且只能有一個SOA記錄且為第一條
NS: Name Server ,域名服務記錄:一個區域解析庫可以有多個NS記錄,一個為主
A:Address ,地址記錄,FQDN > IPV4
AAAA: 地址記錄:FQDN > IPV6
CNAME: Canonical Name :別名記錄
PTR: Pointer IP > FQDN
MX: Mail Exchanger 郵件交換器:
優先級:0-99.數字越小優先級越高
Bind 的安裝配置:
BIND: Berkeley Internet Name Domain
DNS:協議
Bind:dns協議的一種
Bind:
主配置文件: /etc/named.conf
或包含進來其他文件:
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
解析庫文件:
/var/named/* 一般名為
Attention: (1) 一臺DNS服務器可以同時為多個域提供解析
(2) 必須要有根區域解析庫文件:named.ca ;
(3) 兩個區域解析庫文件:localhost和127.0.0.1的正反向解析庫
Rndc: remote name domain contoller
953/tcp , 但是默認監聽於127.0.0.1 地址,因此僅允許本地使用
Bind程序安裝完成後,默認即可做緩存名稱服務器使用,如果沒有專門負責解析的區域, 直接可以啟動服務
CentOS 6 :service named start
CentOS 7 :systemctl start named.service
Attintion : 每一個配置語句必須以分號結尾
主配置文件格式:
全局配置段:
Options{......}
日誌配置段:
Logging{......}
區域配置段:
Zone{......}
緩存名稱服務器的配置:
監聽能與外界主機通信的地址:
listen-on port 53 { 127.0.0.1; };
檢查配置文件語法錯誤:
Named-checkconf NAMED.CONF
測試工具:
Dig,host,nslookup,rndc
配置解析一個正向區域:
以www.baidu.com域為例
(1) 定義區域
在主配置文件中或主配置文件輔助配置文件中實現:/etc/named.rfc1912.zones || /etc/named.conf
Zone “ZONE_NAME” IN {
Type {master|slave|hint|forward};
File “ZONE_NAME.zone”;
};
(2) 建立區域數據文件
在/var/named目錄下建立區域數據文件
文件名為:/var/named/baidu.com.zone
配置示例:
$TTL 3600
$ORIGIN baidu.com
@ IN SOA ns1.baidu.com. Dnsadmin.baidu.com.(
20180411
1H
10M
3D
1D )
IN NS ns1
IN MX 10 mx1
IN MX 20 mx2
ns1 IN A 172.18.0.2
mx1 IN A 172.18.0.3
mx2 IN A 172.18.0.4
www IN A 172.18.0.5
web IN CNAME 172.18.0.6
bbs IN A 172.18.0.7
bbss IN A 172.18.0.7
檢查語法錯誤:
# named-checkzone ZONE_NAME ZONE_FILE
# named-checkconf
(3) 讓服務器重載配置文件和區域數據文件
# rndc reload 或者 systemctl reload named.service
配置解析一個反向區域:
(1) 定義區域
在主配置文件中或主配置文件輔助配置文件中實現
zone “ZONE_NAME” IN {
Type {master|slave|hint|forward};
File “ZONE_NAME.zone”;
};
(2) 定義區域解析庫文件(主要記錄為PTR)
示例:
$TTL 3600
$ORIGIN 0.18.172.in-addr.arpa.
@ IN SOA ns1.baidu.com. Nsadmin.baidu.com.(
20180411
1H
10M
3D
12H )
IN NS ns1.baidu.com.
2 IN PTR ns1.baidu.com.
3 IN PTR mx1.baidu.com.
4 IN PTR mx2.baidu.com.
5 IN PTR www.baidu.com.
7 IN PTR bbs.baidu.com.
7 IN PTR bbss.baidu.com.
權限以及屬性修改:
# chgrp named /var/named/172/18.0.zone
# chmod o= /var/named/172.18.0.zone
檢查語法錯誤:
# named-checkzone ZONE_NAME ZONE_FILE
# named-checkconf
(3) 讓服務器重載配置文件和區域數據文件
# rndc reload 或者 systemctl reload named.service
最後dig -x IP地址 就可以解析了
DNS原理和正、反向解析配置