高速緩存dns

1. DNS: Domain Name System,域名系統。 萬維網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網。他主要負責把域名和IP的相互轉換,DNS運行與TCP|UDP的53端口上。
2. 高速緩存DNS:DNS服務器可以高速緩存從其他DNS服務器收到的DNS記錄,也可以在DNS客戶服務中使用高速緩存,將其作為DNS客戶端保存在最近的查詢過程中得到的信息高速緩存的方法
3. 高速緩沖DNS的作用:當一個主機第一次訪問一個網頁的時候,該主機的DNS服務器以從遠處的服務器拿到數據,并進行高速緩存;這樣在主機或者其他主機進行下一次訪問的時候,可以直接從該主機的高速緩存中直接獲取,這樣的方式叫做高速緩存
4. dns資源記錄:DNS區域采用資源記錄的形式存儲信息,每條資源記錄均具有一個類型,表明其保留的數據類型
A:名稱到IPv的地址
AAAA:名稱到IPv6的地址
CNAME:名稱到“規范名稱”(包含A/AAAA 記錄的另一個名稱)
PTR:IPv4/IPv6地址到名稱
MX:用于名稱的郵件交換器(向何處發送其電子郵件)
NS:域名的名稱服務器
SOA:“授權起始”,DNS區域的信息(管理信息)
5. dns排錯:
它顯示來自DNS查看的詳細信息,其中包括為什么查詢失敗:
NOOERROR:查詢成功
NXDOMAIN:DNS服務器提示不存在這樣的名稱
SERVFAIL:DNS服務器停機或DNSSEC響應驗證失敗
REFUSED:DNS服務器拒絕回答(也許是出于訪問控制原因)

<高速緩存DNS的搭建>

在服務端:配置網絡,添加網關,使得作為服務器的主機連接外網。關閉防火墻

在這里插入圖片描述

   yum install bind.x86_64 -y   安裝服務systemctl start named       啟動服務systemctl enable named     設置服務開機自動啟動ls -ld /etc/rndc.key	      開啟named服務后可以看到此文件生成

這個開啟時,需要自動生成加密文件/etc/rndc.key,注意啟動過程太慢后者卡住不不動也許是因為系統加密字符不夠導致的。可以通過在server端上敲擊鍵盤或移動鼠標來增加無序字符來解決該問題。

在這里插入圖片描述

修改配置文件 /etc/named.conf

在這里插入圖片描述

在這里插入圖片描述
改好之后重啟一下服務
systemctl restart named

在客戶端設置:
修改DNS解析服務器IP /etc/resolv.conf
在這里插入圖片描述
完了之后呢測試一下:
在客戶端試一下dig www.qq.com
在這里插入圖片描述
在這里插入圖片描述
第二次 dig www.qq.com
當再次訪問時,DNS將查詢信息已經緩存,此時迅速進行域名解析(即達到高速緩存)

<正向解析>

正向解析:當DNS客戶端請求解析某個域名時,DNS服務器通過正向查找,并返回給DNS客戶端對應的IP地址。就是將域名轉換成ip地址
1.DNS中的配置文件:
#主配置文件:/etc/named.conf
#子配置文件:/etc/name.rfc1912.zones
#數據目錄:/var/named
接下來看操作:
服務端:

              vim /etc/named.conf            進入主配置文件中把forwarders這行的內容刪除或注釋掉,并使服務重啟

在這里插入圖片描述
在這里插入圖片描述

進入數據目錄并進行查看,然后將正向解析配置模板在此目錄下復制以便于創建解析庫文件

         cd /var/namedcp -p named.localhost westos.com.zone

.復制時一定要注意加-p,因為要將其權限和屬性一起復制
在這里插入圖片描述

進入到子配置文件中修改配置文件

     vim /etc/named.rfc1912.zones

在配置文件中增加以下內容:

         zone "westos.com" IN {type master;file "westos.com.zone";allow-update { none; };};

在這里插入圖片描述
在這里插入圖片描述
進入解析庫文件,修改其中的內容,其解析庫文件中的語法相當嚴格,不能有半點錯誤。

       vim /var/named/westos.com.zone       進入解析庫文件$TTL 1D@       IN SOA  dns.westos.com.  haha.westos.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      dns.westos.com.
dns     A       192.168.50.128
www     CNAME   bbs.a.westos.com.
bbs.a   A       192.168.50.11

客戶端:
進入/etc/resolv.conf中,并為其添加解析域以及ip
將其的dns服務器地址改成高速緩存dns主機ip

測試:
使用dig命令可以查看到www.westos.com解析的ip以及dns服務器名稱和dns服務器ip
在這里插入圖片描述

<DNS域名轉換>
相當于一個域名對應兩個ip
客戶端:vim /var/named/westos.com.zone
往里面加入
bbs.a A 192.168.50.11
bbs.a A 192.168.50.22
在這里插入圖片描述

在這里插入圖片描述

在客戶端測試:
第一次dig www.westos.com
在這里插入圖片描述

在dig一次看哈
在這里插入圖片描述
同一個域名再進行訪問的時候,解析出來的地址輪換出現,減緩服務器的訪問壓力。

<反向解析>
用于IP地址到域名的映射,當DNS客戶端請求解析某個IP地址時,DNS服務器通過反向查找,并返回給DNS客戶端對應的域名。也就是將IP轉換成域名。

在服務端:
vim /etc/named.rfc1912.zones
在配置文件中加入以下內容
在這里插入圖片描述

進入/var/named目錄,將反向解析的模板復制到172.25.254.ptr文件

     cd /var/namedcp -p named.loopback 192.168.50.ptr

在這里插入圖片描述編輯文件192.168.50.ptr 并添加內容如下
在這里插入圖片描述
都改好之后重啟服務一下

在客戶端測試:在這里插入圖片描述

在這里插入圖片描述
-x 表示反向解析

<DNS雙向解析>
解釋:雙向解析即在不同的主機中,當訪問同一個域名時,會出現不同的ip。

將正向解析庫進行復制,并編輯文件中的內容

    cp -p westos.com.zone westos.com.intervim westos.com.inter

在這里插入圖片描述

將子配置文件進行復制,并編輯文件中的內容

      cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.intersvim /etc/named.rfc1912.inters

在這里插入圖片描述
在服務端中進入主配置文件修改以下內容并生效

      vim /etc/named.confsystemctl restart named

在這里插入圖片描述
查看服務端和客戶端的域名是否都是服務端的ip

    vim /etc/resolv.conf

服務端解析

在這里插入圖片描述
客戶端解析

在這里插入圖片描述
實驗做完后,一定要將主配置文件中的域的解析進行還原,否則會影響接下來的實驗

<輔助dns>
是指:兩臺主機組成的功能的集合(變一個都變),之所以創建集群,是因為如果訪問dns的人過多,可能會崩潰,所以需要添加另外一個服務器輔助dns,緩解訪問壓力,完全同步主dns。
首先在客戶端安裝named服務并進行重啟

     yum install bind.x86_64 -y             安裝systemctl start named.service          開啟systemctl enable named.service         開機自啟systemctl stop firewalld.service       關火墻

在這里插入圖片描述
進入/etc/resolv.conf文件中,將域名寫成本機的ip

  vim /etc/resolv.conf

在這里插入圖片描述

進入子配置文件修改以下內容

        vim /etc/named.rfc1912.zones

在這里插入圖片描述
進入主配置文件并使其生效

       vim /etc/named.confsystemctl restart named

在這里插入圖片描述
進入服務端的子配置文件

    vim /etc/named.rfc1912.zonessystemctl restart named

在這里插入圖片描述
進入正相解析庫中并修改其域名所對應的ip并重啟服務

   vim /var/named/westos.com.zonesystemctl restart named

在這里插入圖片描述
在服務端解析 www.westos.com
在這里插入圖片描述

在客戶端解析 www.westos.com

在這里插入圖片描述
如果之前輔DNS已經同步過主DNS,則需要使用命令rm -rf slaves/*進行刪除并進行重啟,因為輔DNS只是服務在重啟的時候才會同步,只同步唯一的一次,所以當主DNS中的數據發生變化時,輔DNS中的內容不會變

改變服務端DNS的數據,重啟服務

       vim westos.com.zonesystemctl restart named

在這里插入圖片描述
在服務端解析

在這里插入圖片描述
在客戶端解析。發現其DNS數據沒有發生改變,和之前一樣,再次重啟服務后,依舊沒有發生改變,說明輔DNS只同步一次
在這里插入圖片描述
在服務端進入/var/named/westos.com.zone文件中,修改DNS的數據并修改其seria的值,之后重啟服務

      vim westos.com.zonesystemctl restart named

在這里插入圖片描述
在服務端解析

在這里插入圖片描述
在客服端解析

在這里插入圖片描述
DNS數據也發生了改變,說明同步成功

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/542150.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/542150.shtml
英文地址,請注明出處:http://en.pswp.cn/news/542150.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python log日志級別_python – 日志記錄:如何為處理程序設置最大日志級別

您可以向文件處理程序添加過濾器.這樣,您可以將特定級別重定向到不同的文件.import loggingclass LevelFilter(logging.Filter):def __init__(self, low, high):self._low lowself._high highlogging.Filter.__init__(self)def filter(self, record):if self._low < recor…

Python Pandas –合并,聯接和串聯

There are three main ways to combine dataFrames i.e., merging, joining and concatenating. The following examples will illustrate merging, joining and concatenation. 組合dataFrames的主要方法有三種&#xff0c;即合并&#xff0c;聯接和串聯 。 以下示例將說明合并…

Apache服務配置

1. apache 企業中常用的web服務。用來提供http&#xff1a;//&#xff08;超文本傳輸協議&#xff09; 基礎信息&#xff1a; 主配置目錄&#xff1a; /etc/httpd/conf 主配置文件&#xff1a; /etc/httpd/conf/httpd.conf 子配置目錄&#xff1a; /etc/httpd/conf.d/ 子配置文…

git 怎么查看合并過來哪些代碼_git整理紛亂的歷史合并記錄

https://github.com/Epix37/Hearthstone-Deck-Tracker以上面版本庫的master分支為例父節點1SHA-1: a21142968282ae49720cf30a0f18290b2ce74b3a* remove hotkey from config if action could not be found, fix hotkey menu item name父節點2SHA-1: 86a824e8f46005db91f334dfc57…

如何安裝Genymotion虛擬機以及Genmotion的eclipse插件

---內容開始--- - 首先去genymotion的官網去下載其安裝文件 資源下載 Genymotion官網必須注冊一個賬號這個賬號安裝之后還有用的&#xff0c;用戶名最好用網易126郵箱注冊----我下載的是2.8.0的版本(注&#xff1a;注冊前先開個代理服務器不然頁面打不開下載時最好用迅雷下載這…

java system類_Java System類mapLibraryName()方法及示例

java system類系統類mapLibraryName()方法 (System class mapLibraryName() method) mapLibraryName() method is available in java.lang package. mapLibraryName()方法在java.lang包中可用。 mapLibraryName() method is used to map a given library name into a platform-…

squid服務配置(正向、反向代理)

代理&#xff1a; 就是代理網絡用戶去取得網絡信息。 Squid是一種用來緩沖Internet數據的軟件。安裝Squid服務實現代理緩存服務器功能。 正向代理&#xff1a;意思是一個位于客戶端和原始服務器之間的服務器&#xff0c;為了從原始服務器取得內容&#xff0c;客戶端向代理發送一…

家譜整站源碼php_mysql家譜表查詢某人所有后代

CREATE TABLE people (id INT(11) NOT NULL,name VARCHAR(50) NULL DEFAULT NULL,pid INT(11) NOT NULL DEFAULT 0,PRIMARY KEY (id));CREATE DEFINERroot% PROCEDURE getChildren(IN parentId INT)LANGUAGE SQLNOT DETERMINISTICCONTAINS SQLSQL SECURITY DEFINERCOMMENT 獲取…

React 入門學習筆記2

摘自阮一峰&#xff1a;React入門實例教程&#xff0c;轉載請注明出處。 一、獲取真實的DOM節點 組件并不是真實的 DOM 節點&#xff0c;而是存在于內存之中的一種數據結構&#xff0c;叫做虛擬 DOM &#xff08;virtual DOM&#xff09;。只有當它插入文檔以后&#xff0c;才會…

c語言getchar函數_C語言中帶有示例的getchar()函數

c語言getchar函數C語言中的getchar()函數 (getchar() function in C) The getchar() function is defined in the <stdio.h> header file. getchar()函數在<stdio.h>頭文件中定義。 Prototype: 原型&#xff1a; int getchar(void);Parameters: FILE *filename(f…

python及pycharm

1.python簡介&#xff1a; Python是一種計算機程序設計語言。是一種動態的、面向對象的腳本語言&#xff0c;最初被設計用于編寫自動化腳本(shell)&#xff0c;隨著版本的不斷更新和語言新功能的添加&#xff0c;越來越多被用于獨立的、大型項目的開發。 python最重要的功能&am…

anaconda如何更改環境配置_手把手教新手安裝Anaconda配置開發環境

Anaconda是針對Python的集成環境&#xff0c;它已經成為全球數千萬數據科學從業人員必備的開發工具&#xff0c;幫助人們有效地解決數據科學和機器學習相關地問題。如果你想從事數據科學和機器學習的工作&#xff0c;可以從本文開始&#xff0c;了解一下如何安裝Anaconda。1. 初…

詳解摘要認證

1. 什么是摘要認證摘要認證與基礎認證的工作原理很相似&#xff0c;用戶先發出一個沒有認證證書的請求&#xff0c;Web服務器回復一個帶有WWW-Authenticate頭的響應&#xff0c;指明訪問所請求的資源需要證書。但是和基礎認證發送以Base 64編碼的用戶名和密碼不同&#xff0c;在…

Python的基礎知識

1.注釋&#xff1a; #單行注釋ctrl / 批量注釋&#xff0c;選中需要注釋的所有行ctrl / 批量取消注釋&#xff0c;選中已經被注釋的所有行 塊注釋&#xff1a;上下各三個雙引號的部分全部被注釋 “”“ hello haha ”“”2.變量&#xff1a; 變量命名的規則&#xff1a; …

樹莓派該文件名_樹莓派:文本編輯器與文件

GNU nano是Unix系統下一款常用的文本編輯器&#xff0c;以簡單易用著稱。與之相比&#xff0c;功能更強大的Vi和Emacs編輯器&#xff0c;學習曲線比nano陡峭很多。由于nano對于一般的文本編輯來說已經足夠&#xff0c;所以我想簡單介紹一下&#xff0c;以便于更好入門。基本使用…

Java SimpleTimeZone setStartYear()方法與示例

SimpleTimeZone類setStartYear()方法 (SimpleTimeZone Class setStartYear() method) setStartYear() method is available in java.util package. setStartYear()方法在java.util包中可用。 setStartYear() method is used to set the DST (Daylight Savings Time) starting y…

報表在IBM AIX系統下resin部署

&#xfeff;&#xfeff;報表是用java開發的&#xff0c;具有良好的跨平臺性。不僅可以應用在windows、linux、操作系統&#xff0c;還可以應用在AIX等等的unix操作系統。在各種操作系統上部署過程有一些差別。下面說一下在AIX操作系統的部署的步驟。 1. 首先&#xff0c;下載…

python——if語句、邏輯運算符號

1.if條件判斷語句&#xff1a; if 要判斷的條件(True):條件成立的時候&#xff0c;要做的事情 elif 要判斷的條件(True):.... elif 要判斷的條件(True):.... else:條件不成立的時候要做的事情示例&#xff1a; 判斷學生分數等級&#xff1a; 100——90&#xff08;包括90&…

sox處理mp3_使用SoX將mp3文件拆分為TIME秒

I need to split mp3 file into slices TIME sec each. Ive tried mp3splt, but it doesnt work for me if output is less than 1 minute.Is it possible do do with:sox file_in.mp3 file_out.mp3 trim START LENGTHWhen I dont know mp3 file LENGTH解決方案You can run SoX…

Java ObjectOutputStream writeInt()方法及示例

ObjectOutputStream類writeInt()方法 (ObjectOutputStream Class writeInt() method) writeInt() method is available in java.io package. writeInt()方法在java.io包中可用。 writeInt() method is used to write the given 4 bytes of an integer value. writeInt()方法用于…