DNS服務-瞭解篇

来源:https://www.cnblogs.com/xsuid/archive/2018/07/23/9354531.html
-Advertisement-
Play Games

簡介DNS是用來名字解析的,名字解析成IP地址,IP地址解析成名字,正反操作,有伺服器端和客戶端即 S/CDNS是應用層協議,基於UDP/53、TCP/53埠,缺一不可分為正向解析和反向解析/遞歸查詢、迭代查詢註意:正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹名稱解析:主機名解析把一種名稱轉... ...



簡介

DNS是用來名字解析的,名字解析成IP地址,IP地址解析成名字,正反操作,有伺服器端和客戶端即 S/C

DNS是應用層協議,基於UDP/53、TCP/53埠,缺一不可

分為正向解析和反向解析/遞歸查詢、迭代查詢

註意:正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹


名稱解析:主機名解析

把一種名稱轉換為另一種名稱的過程

根據用戶提供的名稱,去查詢解析庫,以得到另一種名稱

hosts:文本文件

用戶自定義了對應的解析列表即要解析的FQDN與IP地址對應關係

有時候hosts很好的解決了DNS伺服器訪問不了的情況

如:某個域所在的權威DNS伺服器出問題了,網站圖片不顯示等,這時候在hosts文本里寫上對應的FQDN和IP地址就可。

備註:FQDN也就是我們所說的網址,如www.xxx.com

          如果在本機定義了hosts文本則優先本列表,本列表沒有再去DNS庫查詢


遞歸查詢

用戶向第一個DNS服務發請求,DNS收到後,如果它這有直接的結果就直接給你,如果沒有就會向根DNS服務詢問,層層詢問直到問道結果返回給你,負責到底

迭代查詢

上述過程中去問根,根給你推薦別人,你去問它,這就是迭代查詢,不會負責到底

DNS域結構圖

image

備註:如 www.xxx.com 

         www:可以是主機或別名

         xxx.com:是功能變數名稱


DNS伺服器類型

主DNS伺服器
從DNS伺服器
緩存DNS伺服器(轉發器)

主DNS伺服器:管理和維護所負責解析的域內解析庫的伺服器

從DNS伺服器:從主伺服器或從伺服器“複製”(區域傳輸)解析庫副本

序列號:解析庫版本號,主伺服器解析庫變化時,其序列遞增

刷新時間間隔:從伺服器從主伺服器請求同步解析的時間間隔

重試時間間隔:從伺服器請求同步失敗時,再次嘗試時間間隔

過期時長:從伺服器聯繫不到主伺服器時,多久後停止服務

一次完整的查詢請求經過的流程:

Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 頂級功能變數名稱DNS-->二級功能變數名稱DNS…

解析答案:

肯定答案:

否定答案:請求的條目不存在等原因導致無法返回結果

權威答案:你請求的dns伺服器正好是負責這個鏈接域的dns

非權威答案:dns伺服器問別人,別人告訴它的,有時候會是假的,比如國外某些網站訪問不了,就是dns告訴給你一個錯誤的答案,不讓你訪問(DNS的污染,信息篡改了)

備註:名字解析成不成功和能不能上網是兩碼事


資源記錄

區域解析庫:由眾多RR組成:
資源記錄:Resource Record, RR
記錄類型:A, AAAA, PTR, SOA, NS, CNAME, MX


SOA:Start Of Authority,起始授權記錄;一個區域解析庫有且僅能有一個SOA記錄,
必須位於解析庫的第一條記錄
A:internet Address,作用,FQDN --> IP
AAAA: FQDN --> IPv6
PTR:PoinTeR,IP --> FQDN
NS:Name Server,專用於標明當前區域的DNS伺服器
CNAME:Canonical Name,別名記錄
MX:Mail eXchanger,郵件交換器


資源記錄定義的格式:

語法:

name(名稱) [TTL](生命期) IN(intnet記錄) rr_type(資源記錄的類型)value(值)

   rr_type類型:有 A(ipv4)、 AAAA(ipv6)、SOA、NS(這兩種最重要)


註意:

(1) TTL可從全局繼承

(2) @可用於引用當前區域的名字

(3) 同一個名字可以通過多條記錄定義多個不同的值;此時DNS伺服器會以輪詢

方式響應

(4) 同一個值也可能有多個不同的定義名字;通過多個不同的名字指向同一個值

進行定義;此僅表示通過多個不同的名字可以找到同一個主機


記錄介紹

image

MX記錄:郵件交換器

clipboard

註意:
(1) 對MX記錄而言,任何一個MX記錄後面的伺服器名字,都應該在後續有一個A記錄


DNS伺服器 bind配置文件說明

clipboard

clipboard

named.conf主配置文件說明

//  
// named.conf  
//  
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS  
// server as a caching only nameserver (as a localhost DNS resolver only).  
//  
// See /usr/share/doc/bind*/sample/ for example named configuration files.  
//  
  
options {  // 定義全局變數  
        listen-on port 53 { 127.0.0.1; }; // ipv4 監聽埠  
        listen-on-v6 port 53 { ::1; };    // ipv6 監聽埠  
        directory       "/var/named";     // 制定裝載zone區域文件的目錄 
        dump-file       "/var/named/data/cache_dump.db";    // cache  
        statistics-file "/var/named/data/named_stats.txt";  // statistics  
        memstatistics-file "/var/named/data/named_mem_stats.txt";  
        allow-query     { localhost; };   // 允許訪問列表  
        recursion yes; //遞歸查詢 
  
        dnssec-enable yes;  //DNS確保應答報文的完整性
        dnssec-validation yes;  
        dnssec-lookaside auto;  
  
        /* Path to ISC DLV key */  
        bindkeys-file "/etc/named.iscdlv.key";  
}; // "}"後也得分號結束  
  
logging {  
        channel default_debug {  
                file "data/named.run";  
                severity dynamic;  
        };  
};  
  
zone "." IN {            // "."代表根區域  
        type hint;       // 根區域的類型就為hint  
        file "named.ca"; // 指定zone文件,預設已經生成  
};  
  
include "/etc/named.rfc1912.zones";  //存放自定義的區域文件


備註:配置文件總體來說分為三大塊選項、日誌、區域



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • if (key) {}//key.if tab if (!key) {}//key.else tab if (key != null) {}//key.notnull tab if (typeof key !== "undefined") {}//key.undef tab if (key inst ...
  • cmd="sudo date -s \"$1\""; ssh mrdTomcat@*.*.*.* "$cmd" 是不是遇到過很多問題 ssh遠程設置時間時,2018-07-12 11:12:13 參數中的空格會搗亂,導致識別不了後面的參數,只能設置到時間,此參數的雙引號也是必須的 解決辦法也有很多 ...
  • 上篇說了主DNS正向解析 當中是有個小問題的,什麼問題呢? 試問當我們輸入wwww或ww或更多w的時候它還能解析出來嗎? 或者不輸入w的時候還能解析嗎? 上篇沒有定義是解析不了的,怎麼定義呢?很簡單,加入圖中命令就可 小技巧 下麵來說反向解析 反向解析就是IP → 名稱 環境 最少兩台主機一個DNS ...
  • 環境準備最少兩台主機一臺當DNS伺服器,一臺當客戶機如:192.168.43.7這台主機當DNS伺服器,192.168.43.6這台主機當客戶機安裝DNS服務yum install -y bind##備註:實現先關閉防火牆開啟服務systemctl start named##更改主配置文件vim /... ...
  • 一、運行容器 1、基於鏡像新建一個容器並啟動 指明瞭 -d 運行鏡像,會返回容器的 id;如果不指明 -d 運行鏡像,會列印出 catalina.out 的 日誌,在 [crtl +c] 後,容器即停止運行。 當利用 docker run 來創建容器時,Docker 在後臺運行的標準操作包括: -- ...
  • top命令命令用於實時監測系統資源使用狀況,包含,進程、cpu,記憶體等 1、用法 top [選項] 2、命令選項 -b 以批處理模式操作-c 顯示完整的治命令-d 屏幕刷新間隔時間-I 忽略失效過程-s 保密模式-S 累積模式-i<時間> 設置刷新間隔時間-u<用戶名> 指定用戶名-p<進程號> 指 ...
  • 第1章 Linux啟動過程 開機自檢(BIOS)##硬體檢查 MBR引導 GRUB菜單(選擇不同的內核) 載入內核 運行init進程(Linux系統裡面第一個進程) 讀取/etc/inittab配置文件(讀取運行級別) 執行/etc/rc.d/sysinit腳本(系統的初始化腳本 設置IP地址) 執 ...
  • 1、下載zxing源碼 git clone https://github.com/15903016222/zxing-cpp.git 2、安裝依賴工具cmake sudo apt-get install cmake cmake-qt-gui 在此安裝中需要使用3.0以上版本的cmake工具,而ubu ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...