CentOS 7下簡答搭建DNS伺服器

来源:https://www.cnblogs.com/tartarush/archive/2019/11/13/11847652.html
-Advertisement-
Play Games

一、DNS相關介紹 DNS(Domain Name System)功能變數名稱系統協議,作為功能變數名稱和IP地址相互映射的一個分散式資料庫,能夠使用戶更方便的訪問互聯網,而不用挨個記住IP地址。通過主機名,最終得到該主機名對應的IP地址的過程叫做功能變數名稱解析(或主機名解析)。DNS協議號是udp53。DNS伺服器的作 ...


一、DNS相關介紹 

  DNS(Domain Name System)功能變數名稱系統協議,作為功能變數名稱和IP地址相互映射的一個分散式資料庫,能夠使用戶更方便的訪問互聯網,而不用挨個記住IP地址。通過主機名,最終得到該主機名對應的IP地址的過程叫做功能變數名稱解析(或主機名解析)。DNS協議號是udp53。DNS伺服器的作用就是就好比通訊錄一樣,為各種網路程式找到對應目標主機的IP地址或對應的主機功能變數名稱。每個IP地址都可以有一個主機名,主機名由一個或多個字元串組成,字元串之間用小數點隔開。有了主機名,就不要死記硬背每台IP設備的IP地址,只要記住相對直觀有意義的主機名就行了。這就是DNS協議所要完成的功能。

主機名到IP地址的映射有兩種方式:
  1、靜態映射,每台設備上都配置主機到IP地址的映射,各設備獨立維護自己的映射表,而且只供本設備使用;
  2、動態映射,建立一套功能變數名稱解析系統(DNS),只在專門的DNS伺服器上配置主機到IP地址的映射。

在解析功能變數名稱時,可以首先採用靜態功能變數名稱解析的方法,如果靜態功能變數名稱解析不成功,再採用動態功能變數名稱解析的方法。可以將一些常用的功能變數名稱放入靜態功能變數名稱解析表中,這樣可以大大提高功能變數名稱解析效率。正向解析:根據主機名稱(功能變數名稱)查找對應的IP地址(實際應用中最多的),反向解析:根據IP地址查找對應的主機功能變數名稱(不常用,一般用於搭建郵件伺服器時)。

  根據伺服器與所提供功能變數名稱解析記錄的關係,將DNS伺服器分為不同的角色:
  1、緩存功能變數名稱伺服器,也稱為高速緩存伺服器,通過向其他功能變數名稱伺服器查詢獲得功能變數名稱->IP地址記錄,將功能變數名稱查詢結果緩存到本地,提高重覆查詢時的速度
  2、主功能變數名稱伺服器,特定DNS區域的官方伺服器,具有唯一性,負責維護該區域內所有功能變數名稱->IP地址的映射記錄
  3、從功能變數名稱伺服器(通俗一點就是用於備份DNS伺服器的),也稱為輔助功能變數名稱伺服器其維護的功能變數名稱->IP地址記錄,來源於主功能變數名稱伺服器搭建DNS服務,應用的軟體為:BIND(Berkeley Internet Name Daemon)

二、搭建過程
  

  1 1. 安裝必要軟體包
  2 [root@SZH1 ~]# yum -y install bind bind-chroot bind-util bind-libs
  3 解釋:
  4 bind           提供了功能變數名稱服務的主要程式及相關文件
  5 bind-utils     提供了對DNS伺服器的測試工具程式(如nslookup、dig等)
  6 bind-chroot    為bind提供一個偽裝的根目錄以增強安全性(將“/var/named/chroot/”文件夾作為BIND的根目錄)
  7 
  8 2. 修改dns配置文件
  9 修改前先備份
 10 [root@SZH1 ~]#  cp -p /etc/named.conf /etc/named.conf.bak // 參數-p表示備份文件與源文件的屬性一致。
 11 [root@SZH1 ~]# cat /etc/named.conf
 12 options {
 13     listen-on port 53 { any; };
 14     listen-on-v6 port 53 { any; };
 15     directory     "/var/named";
 16     dump-file     "/var/named/data/cache_dump.db";
 17     statistics-file "/var/named/data/named_stats.txt";
 18     memstatistics-file "/var/named/data/named_mem_stats.txt";
 19     recursing-file  "/var/named/data/named.recursing";
 20     secroots-file   "/var/named/data/named.secroots";
 21     allow-query     { any; };
 22 
 23     /* 
 24      - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
 25      - If you are building a RECURSIVE (caching) DNS server, you need to enable 
 26        recursion. 
 27      - If your recursive DNS server has a public IP address, you MUST enable access 
 28        control to limit queries to your legitimate users. Failing to do so will
 29        cause your server to become part of large scale DNS amplification 
 30        attacks. Implementing BCP38 within your network would greatly
 31        reduce such attack surface 
 32     */
 33     recursion yes;
 34 
 35     dnssec-enable yes;
 36     dnssec-validation yes;
 37 #    dnssec-lookaside auto;
 38     /* Path to ISC DLV key */
 39     bindkeys-file "/etc/named.root.key";
 40 
 41     managed-keys-directory "/var/named/dynamic";
 42 
 43     pid-file "/run/named/named.pid";
 44     session-keyfile "/run/named/session.key";
 45 };
 46 zone "szh.com" IN {
 47     type master;
 48     file "szh.com_zone";
 49     allow-update { none; };
 50 };
 51 zone "110.168.192.in-addr.arpa" IN {
 52     type master;
 53     file "192.168.110.zone";
 54     allow-update { none; };
 55 
 56 };include "/etc/named.rfc1912.zones";
 57 
 58 這兩個zone我在配置文件里直接上的,我看很多人說要在/etc/named.rfc1912.zones文件中添加,但因為配置文件中存在最後一行,所以同意生效。
 59 保存退出後輸入named-checkconf  // 檢查named.conf是否有語法問題。
 60 
 61 3. 查看named進程運行是否正常
 62 [root@SZH1 ~]# systemctl start named // 開啟named進程
 63 [root@SZH1 ~]# ps -eaf|grep named // 檢查進程
 64 [root@SZH1 ~]# netstat -nult|grep :53 // 檢查監聽埠
 65 
 66 4. 添加正向解析
 67 [root@SZH1 named]# cat szh.com_zone 
 68 $TTL 1D
 69 @    IN SOA    @ rname.invalid. (
 70                     0    ; serial
 71                     1D    ; refresh
 72                     1H    ; retry
 73                     1W    ; expire
 74                     3H )    ; minimum
 75     NS    @
 76     A    192.168.110.230
 77     AAAA    ::1
 78 ns  A 192.168.110.230
 79 vcenter  A 192.168.110.231
 80 
 81 [root@SZH1 named]# chown :named /var/named/szh.com_zone //授權 named 用戶
 82 
 83 [root@SZH1 named]# named-checkzone "szh.com" "/var/named/szh.com_zone" //檢查區域文件是否正確 
 84 
 85 5. 添加反向解析
 86 [root@SZH1 named]# cat 192.168.110.zone 
 87 $TTL 1D
 88 @    IN SOA    @ rname.invalid. (
 89                     0    ; serial
 90                     1D    ; refresh
 91                     1H    ; retry
 92                     1W    ; expire
 93                     3H )    ; minimum
 94     NS    @
 95     A    192.168.110.230
 96     AAAA    ::1
 97 230  PTR ns.szh.com.
 98 231  PTR vcenter.szh.com.
 99 
100 [root@SZH1 named]# chown :named /var/named/192.168.110.zone  //授權 named 用戶
101 
102 [root@SZH1 named]# named-checkzone "110.168.192.in-addr.arpa" "/var/named/192.168.110.zone " //檢查區域文件是否正確 
103 
104 6. 重啟服務,檢查dns是否生效
105 [root@SZH1 named]# systemctl restart named
106 [root@SZH1 named]# nslookup
107 > vcenter.szh.com
108 Server:        192.168.110.230
109 Address:    192.168.110.230#53
110 
111 Name:    vcenter.szh.com
112 Address: 192.168.110.231
113 ------------------------------------------------------dns配置成功-------------------------------------------------------------

 

 

  


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

-Advertisement-
Play Games
更多相關文章
  • 場景 有一個Record對象的list,如果要根據其某個屬性CycleIndex進行分組,類似於sql的group by分組查詢。 如果要在這個這個list中查找出符合某種條件的數據,類似於sql的where條件查詢。 註: 博客主頁:https://blog.csdn.net/badao_lium ...
  • 場景 Winforn中設置ZedGraph曲線圖的屬性、坐標軸屬性、刻度屬性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100112573 在對ZedGraph進行添加曲線時,需要對X軸的刻度進行賦值,需要一個string的 ...
  • 場景 C#中委托與事件的使用-以Winform中跨窗體傳值為例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100150700 參照上文在定義事件時傳遞參數為簡單的string,如果要傳遞比較複雜的參數,那麼就可以使用對象將參 ...
  • 一、組件 支撐Blazor的是微軟的兩大成熟技術,Razor模板和SignalR,兩者的交匯點就是組件。通常,我們從ComponentBase派生的類型,或者創建的.razor 文件,就可以稱作組件。基於這兩大技術,組件也就具備了兩大功能,1、生成html片段;2、維護組件狀態。這裡我們來說一下組件 ...
  • 本文主要是博主使用海康SDK進行人流量統計的摸索過程,在這裡簡單記錄一下。 查詢文檔,能實現人流量統計大概有兩種方式,報警或者監聽, 這邊我選擇了監聽方式,NET_DVR_StartListen_V30 這個介面,啟動監聽,它可以接收設備主動上傳的報警信息並且支持多線程。 我們需要編寫一個回調函數來 ...
  • 01 xml文件 其中第 5 行的 xml 節點是空節點,是比較特殊的格式。 02 多條命令解析xml節點 採用多條命令和管道符也可以解析xml節點,方式如下: 上面的方式無法解析 `` 這種特殊格式的 xml 節點,雖然用多個命令和管道符是可以實現解析正常格式的xml節點的值,但是過多的管道符是會 ...
  • 針對CCTV攝像頭的掃描爆破工具 :Cameradar 0x01功能介紹 簡述:Cameradar 是一款基於docker使用的RTSP數據流訪問工具。該工具可以通過基於RTSP協議認證的形式暴力破解賬號密碼。可以滲透常規的CCTV攝像頭。自帶賬密字典和目標流路徑欄位。 功能詳解: 可以檢測任何可訪 ...
  • 方法 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...