1. 程式人生 > >+++++++DNS基本工作原理、DNS正反向解析及主從同步

+++++++DNS基本工作原理、DNS正反向解析及主從同步

博客 運維 linux

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正反向解析及主從同步