+++++++DNS基本工作原理、DNS正反向解析及主從同步
dns基礎工作原理
bind Berkerley Information Name Domain
DNS Domain Name Server
TCP/UDP 53
UDP 53 無連接協議,域名解析
TCP 53 面向連接協議,區域傳送
歷史IANA
統一名字,自己hosts中維護(%windows%/system32/etc/hosts, /etc/hosts)
統一維護,定時任務計劃
統一查詢,glibc共享庫作為客戶端基於UDP協議解析域名
hash
數值分布式
域名分布式:授權方式,將部分功能分別放在獨立的主機,數據同步(一致性、可用性、容錯性)
查詢
叠代查詢:多次查詢,返回參考結果
遞歸查詢:一次
解析區域
正向解析:FQDN-->IP
反向解析區域:IP-->FQDN
答案
肯定: 解析成功
否定:解析沒有結果
權威:由域所負責的DNS服務器所返回的結果
非權威:
主從DNS區別
關聯:保證DNS服務器“可靠性”
主:管理員維護
從:由SOA內部特性決定如何同步/傳送/復制
SOA內部特性
serial 序列號:區域解析庫的版本號
refresh 刷新
retry 重試: 小於刷新時長
expire 過期時長:重試多久就不再重試,從DNS放棄角色
否定答案的TTL
宏定義
$TTL:肯定答案的緩存時長
$ORIGIN:區域(正、反)名
BIND是DNS協議的軟件實現
區域解析庫:由眾多Resource Record組成
資源記錄的類型:PTR, A, NS, SOA, AAAA, MX
輪循:同主機名,對應多個不同的IP
子域授權:在上級域的DNS服務器的區域解析庫中添加glue record[膠水]記錄即可
DNS工作模式
運營商緩存DNS
本地緩存DNS
DNS緩存服務器
1、配置YUM源
2、安裝程序包:
3、安裝後的相關文件
3、配置
1)備份配置文件
# cp -v /etc/named.conf{,.bak}
2)配置結果
**//allow-query { localhost; }; 表示 allow-query { any; };
3)測試配置文件是否正確
# named-checkconf
4)啟動服務
# service named start # ss -tunlp | fgrep :53 <TCP/UDP:53 和 TCP:953端口>
5)測試
1、查看提供的測試工具 # rpm -q -l bind-utils 2、嘗試用本地的緩存DNS服務器,叠代解析請求 # dig -t A www.baidu.com @192.168.1.100
DNS正反解析
正向解析
1)配置為緩存DNS服務器
2)添加zone配置: /etc/named.rfc1912.zones
# vim + /etc/named.rfc1912.zones
3)測試語法
# named-checkconf
4)編輯區域解析庫
1、進入解析庫的目錄 # cd /var/named 2、查看文件 # ls 3、編輯解析庫的文件
5)測試語法
# named-checkzone "magedu.com" /var/named/magedu.com.zone
6)修改權限
named進程的屬主是named,對magedu.com.zone文件的權限和屬組需要悠 # chmod 640 magedu.com.zone # chown :named magedu.com.zone
7)重載配置文件
# rndc reload # service named reload
9)顯示輸出信息
# rndc status
10)測試解析
測試解析的命令: host, dig, nslookup
host命令
使用示例
# dig -t SOA magedu.com @192.168.1.100 # dig -t NS magedu.com @192.168.1.100 # dig -t MX magedu.com @192.168.1.100 # dig -t A www.magedu.com @192.168.1.100
dig命令
使用示例
# host -t SOA magedu.com 192.168.1.100 # host -t NS magedu.com 192.168.1.100 # host -t MX magedu.com 192.168.1.100 # host -t A www.magedu.com 192.168.1.100
nslookup命令
使用示例
# nslookup www.magedu.com 192.168.1.100
反向解析
1)保證正向測試正常
2)添加zone配置: /etc/named.rfc1912.zones
# vim + /etc/named.rfc1912.zones
3)測試語法
# named-checkconf
4)反向區域解析庫的配置
1、基於正向,修改出反向 # cp magedu.com.zone 192.168.1.1.zone
5)權限
# chmod 640 192.168.1.100.zone # chown .named 192.168.1.100.zone
6)語法
# named-checkzone "1.168.192.in-addr.arpa" 192.168.1.1.zone
7)重載
# service named reload # rndc reload
8)狀態
# rndc status
9)測試
# dig -x 192.168.1.100 @192.168.1.100 # host -t PTR 192.168.1.100 192.168.1.100
DNS主從同步
配置從DNS服務器
1、時間同步
# cp -v /etc/ntp.conf{,.bak}
# service ntpd start
在從DNS服務器上同步時間<等10min> # ntpdate 192.168.1.100
2、從bind的版本>=主bind版本
3、從dns位於一個獨立的主機
4、ns記錄和nsip指向的是同一個主機,從dns服務器
5、從dns服務器區域解析庫的位置
6、從dns被允許從主dns作區域傳送(allow-transfer { DNS_SLAVE_IP; };
正向同步
1)配置緩存名稱服務器
# cp -v /etc/named.conf{,.bak}
# service named start # ss -tunlp | grep 53
2)配置/etc/named.rfc1912.zones文件
3)測試
# named-checkconf
4)重載
# service named reload # rndc reload
5)查看文件
反向同步
2)配置/etc/named.rfc1912.zones文件
3)測試
4)重載
5)查看文件
嘗試修改主DNS服務器,測試是否能主從同步
正向
# rndc reload
反向
# rndc reload
本文出自 “Reading” 博客,請務必保留此出處http://sonlich.blog.51cto.com/12825953/1965910
+++++++DNS基本工作原理、DNS正反向解析及主從同步