1. 程式人生 > >DNS原理和正、反向解析配置

DNS原理和正、反向解析配置

DNS BIND 解析 主從

DNS and Bind

Sockets:

C/S:

Client:發起應用請求的程序

Server:響應請求(提供服務)的程序

LISTEN:Sockets

DNS :Domain Name Server, 應用層協議

C/S

53/tcp , 53/udp

DNS查詢類型:

遞歸查詢

叠代查詢

DNS服務器類型:

負責解析至少一個域:

主名稱服務器

輔助名稱服務器

不負責解析:

緩存名稱服務器

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

Client > hosts文件 > DNS Local Cache > DNS Server

自己負責解析的域:直接查詢數據庫並返回答案

不是自己負責解析的域:Server Cache > iteration(叠代查詢

)

主從DNS服務器:

DNS服務器:維護所負責解析的域數據庫的服務器,讀寫操作均可執行

DNS服務器:從主DNS服務器同步(即復制)一份解析庫,只能進行讀操作

區域數據庫文件:

資源記錄:Resource Record

記錄類型:A , AAAA , SOA , NS , CNAME , MX

SOA: Start Of Authority 起始授權記錄:一個區域解析庫有且只能有一個SOA記錄且為第一條

NS: Name Server ,域名服務記錄:一個區域解析庫可以有多個NS記錄,一個為主

AAddress ,地址記錄,FQDN > IPV4

AAAA: 地址記錄:FQDN > IPV6

CNAME: Canonical Name :別名記錄

PTR: Pointer IP > FQDN

MX: Mail Exchanger 郵件交換器:

優先級:0-99.數字越小優先級越高

Bind 的安裝配置:

BIND: Berkeley Internet Name Domain

DNS:協議

Binddns協議的一種

Bind

主配置文件: /etc/named.conf

或包含進來其他文件:

/etc/named.iscdlv.key

/etc/named.rfc1912.zones

/etc/named.root.key

解析庫文件:

/var/named/* 一般名為

ZONE_NAME.zone

Attention: (1) 一臺DNS服務器可以同時為多個域提供解析

(2) 必須要有根區域解析庫文件:named.ca ;

(3) 兩個區域解析庫文件:localhost127.0.0.1的正反向解析庫

Rndc: remote name domain contoller

953/tcp , 但是默認監聽於127.0.0.1 地址,因此僅允許本地使用

Bind程序安裝完成後,默認即可做緩存名稱服務器使用,如果沒有專門負責解析的區域, 直接可以啟動服務

CentOS 6 service named start

CentOS 7 systemctl start named.service

Attintion : 每一個配置語句必須以分號結尾

主配置文件格式:

全局配置段:

Options{......}

日誌配置段:

Logging{......}

區域配置段:

Zone{......}

緩存名稱服務器的配置:

監聽能與外界主機通信的地址:

listen-on port 53 { 127.0.0.1; };

檢查配置文件語法錯誤:

Named-checkconf NAMED.CONF

測試工具:

Dighostnslookuprndc

配置解析一個正向區域:

www.baidu.com域為例

(1) 定義區域

在主配置文件中或主配置文件輔助配置文件中實現:/etc/named.rfc1912.zones || /etc/named.conf

Zone “ZONE_NAME” IN {

Type {master|slave|hint|forward};

File “ZONE_NAME.zone”;

};

(2) 建立區域數據文件

/var/named目錄下建立區域數據文件

文件名為:/var/named/baidu.com.zone

配置示例:

$TTL 3600

$ORIGIN baidu.com

@ IN SOA ns1.baidu.com. Dnsadmin.baidu.com.(

20180411

1H

10M

3D

1D )

IN NS ns1

IN MX 10 mx1

IN MX 20 mx2

ns1 IN A 172.18.0.2

mx1 IN A 172.18.0.3

mx2 IN A 172.18.0.4

www IN A 172.18.0.5

web IN CNAME 172.18.0.6

bbs IN A 172.18.0.7

bbss IN A 172.18.0.7

檢查語法錯誤:

# named-checkzone ZONE_NAME ZONE_FILE

# named-checkconf

(3) 讓服務器重載配置文件和區域數據文件

# rndc reload 或者 systemctl reload named.service

配置解析一個反向區域:

(1) 定義區域

在主配置文件中或主配置文件輔助配置文件中實現

zone “ZONE_NAME” IN {

Type {master|slave|hint|forward};

File “ZONE_NAME.zone”;

};

(2) 定義區域解析庫文件(主要記錄為PTR

示例:

$TTL 3600

$ORIGIN 0.18.172.in-addr.arpa.

@ IN SOA ns1.baidu.com. Nsadmin.baidu.com.(

20180411

1H

10M

3D

12H )

IN NS ns1.baidu.com.

2 IN PTR ns1.baidu.com.

3 IN PTR mx1.baidu.com.

4 IN PTR mx2.baidu.com.

5 IN PTR www.baidu.com.

7 IN PTR bbs.baidu.com.

7 IN PTR bbss.baidu.com.

權限以及屬性修改:

# chgrp named /var/named/172/18.0.zone

# chmod o= /var/named/172.18.0.zone

檢查語法錯誤:

# named-checkzone ZONE_NAME ZONE_FILE

# named-checkconf

(3) 讓服務器重載配置文件和區域數據文件

# rndc reload 或者 systemctl reload named.service

最後dig -x IP地址 就可以解析了

DNS原理和正、反向解析配置