DNS and BIND 初步

DNS and bind 初步

前言

TCP/IP協議通信是針對于ip地址的,你說我要是去淘寶買東西,怎么可能記住ip地址,我要是去百度買東西,也記不住啊,所以針對于此,就出現了這樣一個翻譯器,起一個名字,跟ip地址對應。是多對一還是一對多呢,都可以,我幾個ip指向一個網址也沒問題,幾個網址指向一個ip也可以。

對于反向域名解析功能等以后用到再做總結,反向域名解析功能用到電子郵件上,用來處理那些查找不到域名的垃圾郵件,直接拒絕接受,一般公司應用不到,固在先不做總結。

知識點

1、空間結構

我怎么根據一個ip地址在萬軍從中找到找到那個名字?設置一臺DNS服務器可以嘛?我現在全球有40億個請求等著解析百度的網站名,一臺肯定不行,那多臺可以嘛,可以嘛?也不可以?用戶基數大,不但有讀請求,還有寫請求,每臺服務器管多少是夠?服務器也是會崩潰的

所以,DNS采用分布式數據庫系統,就像原來的文件系統一樣,倒裝樹一樣。全球有13個根DNS服務器,根服務器只管頂級域,如cn,com。頂級域下面有二級域,像com下面的baidu,二級域下面的有三級域等等,以baidu.com.結尾的都屬于這個二級域的,可以說是百度的吧。子域是二級域下面的,如www等。

主機名是最下面最下面的要找的主機名。大致圖形自己腦補,就是倒狀樹。

2、DNS解析類型

正向:ip--->主機名
反向:主機名--->ip

3、DNS服務器類型

主服務器:

輔服務器:復制主服務器的數據,止可讀,不可改,可以跟主的分擔查詢解析

緩存服務器:這個服務器是不負責域解析的

4、請求流程

client--->hosts文件--->DNS Local Cache----->DNS 服務器

--->自己負責解析的域---->直接就可以找到(自家的孩子就不用麻煩別人找了)

--->不是自己負責解析的--->先找服務器緩存找不到去找根求助,根通過迭代的方式幫你找

DNS服務器安裝和配置

1、安裝容易

yum 安裝bind 和 bind-libs包,后面用到的可以再裝

2、配置文件

主配置文件/etc/named.conf

該文件包含兩部分,一個是來設置DNS服務器整體生效的內容,我們常說是全局配置,包括options,logging

還有一個是用來設置區域名、區域類型和區域文件名的,叫局部配置,從zone往后都是。


全局配置

全局配置要改幾個東西:

DNS  and  BIND   初步

listen-on port 53 { 127.0.0.1; };

設置監聽的DNS服務器IPv4端口和IP地址,這里要將127.0.0.1改成DNS服務器的IPv4地址

它是什么意思呢,我想的就是客戶端發送請求,服務端接受請求,這叫什么?。窟@叫c/s架構,c/s架構通??渴裁赐ㄐ?,靠套接字sockets通信,套接字是什么啊,是ip地址加端口,端口有了,53,那要ip地址。要誰的ip地址,要客戶端的c的ip地址,客戶端是誰啊,是我啊,我他媽天天要訪問百度,我用的是什么東西,用的是虛擬機,所以ip地址是虛擬機的ip,那么端口是干什么的,端口是進程訪問用的,我有你電腦的ip地址有毛用啊,我發你qq信息是發到哪里,是發到你郵箱還是qq上,這時候就要有一個端口了,就是進程地址。這么想對嘛,不對啊,我在配置DNS,我的電腦是服務器。那么少了什么東西,別人要訪問我,我要干什么嘛,我要等著別人訪問,這叫什么,這叫監聽(linsten),所以把我的地址放在53號上面,等著別人訪問,至于為什么是53號,我想大致是因為,這個53號端口是特定為這個DNS請求訪問準備的吧。

然后來配置吧,把127.0.0.1(默認地址)改成我的ip地址。遇到了問題。直接改嘛?改完了為什么不行啊,找不到,上網查了一下。如上述所示,為什么啊,暫且這樣記住吧。

directory

顧名思義,我的DNS服務器配置好了,數據放到哪里,就放在這里面。

allow-query

就是我設置的DNS服務器為哪些主機服務,local 就相當于只為當前主機提供了DNS解析服務,別人的DNS填我這個服務地址是沒法用的。

recursion 是否設置啟用遞歸是DNS服務器,dnssec都設置成no。

forwarders

設置DNS轉發器
為什么要設置,說白了就是可以越過根,直接找另外一個厲害的DNS服務器請求。會比直接去根上找快一點
還有,假如我在公司內部設置一個DNS服務解析器,設置員工只能瀏覽指定的網頁,這個時候就可以讓其他域名在本地找不到,這個時候就可以轉到一個錯誤的解析器上,指定錯誤的ip,就不能上其他的網站了。


局部配置

zone:設置區域的相關信息

區域是什么啊?magedu.com.算是一個二級域了,就是我這個DNS解析器管哪個域,為哪個域解析名字。

type:設置區域類型

區域類型是什么啊?
我如何去定義一個主DNS服務器,和一個輔DNS服務器,就要靠區域類型來決定了。

ss -tnl查看是否監聽在53號端口上。


把自己的地址設置成為DNS解析器的地址

vim /etc/resdv.conf

配置完成后的測試

配置完成后,為了檢驗自己配的對不對,啟動服務來測試一下。
啟動服務:systemctl start named.service
測試:dig -t A www.baidu.com   (+trace追蹤解析過程)

配置DNS區域文件(正向解析:以magedu為例)

我要想用dns管理一個域所必備的條件
有一個聯網的主機
有一在互聯網上注冊的域可以供你來解析
有一個ip地址可以供你的域用

定義區域

1、定義區域
vim /etc/named.rfc1912.zones加一個區域
就直接如下編輯:
cat >>/etc/named.rfc1912.zones<<EOF
    區域名即為域名

DNS  and  BIND   初步

2、建立區域數據文件
怎么建立:cd /var/named/
        cat named.localhost(仿照這個文件)

DNS  and  BIND   初步

進行配置:(在/var/named目錄下)
    vim magedu.com.zone

DNS  and  BIND   初步

magedu.com. IN NS ns1.magedu.com.
(表示magedu.com.這個區域的域名服務器是ns1.magedu.com.)

magedu.com.  IN  MX  10  mx1.magedu.com.
magedu.com.  IN  MX  20  mx2.magedu.com.
(表示magedu.com.當前的郵件交換主機名是mx1.magedu.com.,10表示優先級,MX記錄可以有多個)

A記錄,真正的解析數據庫。(A表示ipv4地址)
 www.magedu.com.  IN  A   1.1.1.1
 www.magedu.com.  IN  A   1.1.1.2
 mx1.magedu.com.  IN  A   3.3.3.3
 mx2.magedu.com.  IN  A   3.3.3.3

PTR記錄,用在反向解析:
有特定格式,把IP地址反過來寫  如:1.2.3.4,要寫作4.3.2.1;
有特定后綴:in-addr.arpa.
如:完整寫法為:4.3.2.1.in-addra.arpa.

CNAME:(別名)
web.magedu.com. IN  CNAME  www.magedu.com.
 (表示www的這個主機的別名為web)

上截圖是復制的,為了驗證效果,再寫一次:

$TTL 3600

@   IN  SOA     ns1.magedu.com.   dnsadmin.magedu.com. (
            2016120601
            1H
            10M
            3D
            1D)
    IN  NS      ns1
    IN  MX  10  mx1
    IN  MX  20  mx2
ns1 IN  A       192.168.1.109
mx1 IN  A       192.168.1.105
mx2 IN  A       192.168.1.104   
www IN  A       192.168.1.109
web IN  CNAME   www
bbs IN  A       192.168.1.107
bbs IN  A       192.168.1.105

DNS  and  BIND   初步

rndc status

DNS  and  BIND   初步

rndc reload

DNS  and  BIND   初步

之后再改權限:其它不可讀:
chmod o= magedu.com.zone
測試:
dig -t A www.magedu.com.

DNS  and  BIND   初步

原創文章,作者:N24_yezi,如若轉載,請注明出處:http://www.www58058.com/62830

(0)
N24_yeziN24_yezi
上一篇 2016-12-06
下一篇 2016-12-06

相關推薦

  • 第三周作業

    查看鏈接:http://note.youdao.com/noteshare?id=9b1aa0906b0918cc5cb557aa348e82da

    Linux干貨 2016-09-19
  • 22期第8周課堂練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。     2、IP地址的分類有哪些?子網掩碼的表示形式及其作用   A類:第一段為網絡號,后三段為主機號            網絡號0 000 0000 – 0 111 1111…

    Linux干貨 2016-10-09
  • ansible學習筆記之1

    ansible學習筆記之1 ansible學習筆記之1 ansible 基礎 ad-hoc 基礎概念 ansible學習筆記之1 說說運維工具的類型 > 運維工具按是否需要有代理程序來劃分分為兩類:      agent(需要代理工具):          基于專用的age…

    2016-11-21
  • systemd及awk

    1、簡述systemd的新特性及unit常見類型分析,能夠實現編譯安裝的如nginx\apache實現通過systemd來管理
    2、描述awk命令用法及示例(至少3例)
    3、描述awk函數示例(至少3例)

    Linux干貨 2018-01-17
  • 第六周課程作業

    1、復制/etc/rc.d/init.d/functions文件至/tmp目錄,將/tmp/functions文件中 的以至少一個空白字符開頭的行的行首加# ~]# cp /etc/rc.d/init.d/functions /tmp~]# vim /tmp/functions %s@^[[:space:]]\+@#@g 2、復制/boot/gru…

    Linux干貨 2016-12-12
  • 文本處理三劍客之 Sed

         Sed是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非你使用重定向存儲輸出。Sed主要用來自…

    2017-08-26

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-14 14:13

    總結的非常好,舉例也很生動,加油!

欧美性久久久久