DNS服務的安裝

DNS服務器原理及配置

域名講解

  • www.baidu.com 完整的域名,一般.來進行分割三個部分;www是主機名,baidu是域名,com是類型
  • 主機名 + 域名 + 類型 構成完整的域名
DNS服務器分爲如下幾種:
- "." :完整網址中最後的那個 ".",表明DNS的根服務器,根服務器是DNS服務器中最上層的服務器,分佈在全球,其中保存着該區域的全部類型的DNS服務器的ip地址
- com:是一個DNS類型
- baidu.com:baidu爲域名,是com的下級dns服務器,裏面保存着域名爲baidu.com的全部主機對應的ip地址

DNS服務器的兩種查詢模式:
- 遞歸查詢:到一個dns服務器查詢到結果後就將結果返回給查詢者,查詢者再去查詢別的DNS服務器,一次次的查詢知道返回結果
- 循環查詢:查詢者向一個DNS服務器發起查詢後由這個DNS服務器去查詢別的服務器A,A又去查詢服務器B,回到找到結果,而後返回給B,B返回給A,A在返回查詢者
概念
  • DNS:Domain Name System 域名解析系統,做爲域名和ip地址相互映射的一個分佈式數據庫,可以使得用戶能夠方便的訪問互聯網的過程稱爲域名解析
  • DNS協議運行在UDP協議之上,使用端口號爲53.
  • 功能:每一個ip地址都有一個主機名,主機名由一個或多個字符串組成,字符串之間用小數點隔開。
DNS映射方式
  • 靜態映射:每臺上都配置主機到IP地址的映射,各設備獨立維護本身的映射表,並且只供本設備使用。
  • 動態映射:創建一套域名解析系統(DNS),只在專門的DNS服務器配置主機到IP地址的映射,網絡上使用主機名通訊的設備,須要在DNS服務器上查詢主機對應的IP地址,經過主機名最終獲得該主機對應的IP地址過程稱爲域名解析。
DNS經常使用資源記錄類型
  • A:地址,此記錄列出特定主機名的IP地址,是名稱解析的重要記錄
  • CNAME:標準名稱,此記錄指定標準主機名的別名
  • MX:郵件交換服務器,此記錄列出了負責接收到域中的電子郵件的主機
  • NS:名稱服務器,此記錄指定負責給定區域的名稱服務器
DNS服務器類型
  • 緩存服務器:緩存dns信息,提供服務給用戶查詢,不能自定義域名配置進行解析
  • 主DNS服務器:負責解析本地客戶端請求
  • 輔助DNS服務器:輔助服務器的區域數據都是從主服務器複製而來,其數據都是隻讀的
dig命令詳解
  • 語法:dig -t 資源記錄類型 名稱 @server-ip
  • 工做機制:不加@server-ip,根據/etc/resolv.conf配置的解析文件類查詢
  • 加@server-ip:根據指定的DNS服務器來解析,繞過了本地解析庫設置的DNS服務器
經常使用命令組合
dig -x IP @server-ip  查詢反向解析
dig -t 資源記錄類型 名稱 trace  追蹤解析的過程

DNS服務器的搭建

# DNS服務器安裝bind、bind-chroot、bind-utils;bind-chroot會生成一個僞根目錄
# yum install -y bind bind-utils bind-chroot 

# 編輯配置文件/etc/named.conf
# vim /etc/named.conf
options {
//      listen-on port 53 { 127.0.0.1; };   #註釋此行 //也可修改成dns服務器的ip地址或者any
//      listen-on-v6 port 53 { ::1; };      #註釋此行
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
//      allow-query     { localhost; };      #註釋此行  //也可設置爲any

# 啓動named服務
# systemctl start named
# systemctl enable named 
# netstat -ntlp #查看是否啓動

# 編輯區域配置文件
# 文件位置: /etc/named.rfc1912.zones
# vim /etc/named.rfc1912.zones
新建區域:
# 配置正向解析
zone "dong.com" IN {
      type master;
      file "dong.com.zone";  
};
# 配置反向解析;反向解析的區域名稱:reverseIP.in-add.arpa
zone "1.168.192.in-addr.arpa" IN {
      type master;
      file "1.168.192.zone";
};

# 檢查配置文件的語法
# named-checkoutconf /etc/named.conf
# named-checkoutzone zonename filename 


# 建立區域數據文件
# cp -p /var/named/named.localhost dong.com.zone #複製模板文件
# cd /var/named/

# 正向解析配置
# vim dong.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN   NS      @
        IN   A       192.168.1.10
www     IN   A       192.168.1.10
文件詳解:
SOA是start Of Authority開始驗證的意思,與域有關,後面接的7個參數及含義
1>master DNS服務器主機名,即在這個域中哪一個DNS做爲主服務器
2>管理員的email,即出現問題可給管理員發送郵件
3>序號,這個序號表明數據庫檔案的陳舊,序號越大,表明越新
4>刷新頻率 refresh,即slave向master要求數據更新的頻率
5>失敗從新嘗試時間 retry,若是由於某些因素,致使slave沒法對master達成聯機,那麼在多久的時間內,salve會嘗試從新聯機到master
6>失效時間 expire,若是一直失敗嘗試時間,持續聯機到達這個設定值時,那麼slave將不在繼續嘗試聯機
存活時間minimum ttl,若是在這個數據庫zone file中,每筆記錄都沒有顯性設定ttl快取時間的話,那麼就以這個值爲主 
區域配置文件格式:
[名稱] [TTL] [網絡類型] 資源記錄類型 數據
名稱:指定資源記錄引用的對象名,能夠是主機名,也能夠是域名。對象名能夠是相對名稱也能夠是完整名稱。完整名稱必須以點結尾。當前域名爲google,則表示www主機時,完整名稱爲www.google.com,相對名稱爲www
TTL:指定資源記錄存在緩存中的時間,單位爲秒。若省略,則使用文件開始的TTL所定義的時間
網絡類型:經常使用的IN資源記錄類型:SOA、NS、A、PTR、MX、CNAME;通常狀況下SOA記錄第一行,NS記錄第二行,接着MX記錄。
一般用SOA記錄@,表示當前域

# vim /var/named/1.168.192.zone
$TTL 1D
@       IN SOA  dong.com. admin.dong.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
       IN NS  dong.com.
10     IN PTR dong.com.

# 重啓dns服務
# systemctl restart named 
# 添加防火牆
# firewall-cmd --add-service=dns --permanent 
# firewall-cmd --reload 
# firewall-cmd --list-all

# 使用命令解析
# nslookup www.dong.com
# dig -t A www.dong.com @192.168.1.10

DNS服務器配置總結

  • 每一個DNS服務器必需要有一個對應的NS資源記錄
  • 建立slave的時候,其配置文件類型必須是type slave,必須制定主服務器的IP地址
  • 可使用 dig -t axfr test.com @server_ip 從主DNS服務器拉取所解析庫資源記錄
  • 主從同步完成後,將自動在slave服務器上的slave/目錄下生成zone文件,這些區域文件是從主DNS同步過來的,通常只讀
  • 在主DNS上修改區域文件時,必須將SOA記錄的serial加1由於slave是經過serial值進行判斷更新的
  • DNS的日誌默認保存在/var/log/message文件中
  • DNS解析依賴於解析庫
  • 正向解析裏面沒有PTR記錄,反向記錄庫裏面不須要A 、MX 和CNAME記錄

區域傳送原理

區域傳送
  • dns從服務器是容錯設計,一旦dns主服務出現故障或因負載過重沒法及時響應客戶機請求,從服務器將自告奮勇代理主服務器。從服務器的區域數據都是從主服務器複製而來的,所以從服務器的數據都是隻讀的。
  • slave從master複製區域數據的過程叫作區域傳送,區域傳送使用的TCP的53端口
  • 區域傳送的類型:徹底區域傳送(AXFR) 增量區域傳送(IXFR)
相關文章
相關標籤/搜索