DNS、Bind

下面介绍的是DNS、转发器、Bind

一、DNS

1、DNS基础

对于一个解析区域,我们可以把名称域比作一棵倒置的树,其中有根域、顶级域。其中,顶级域又分为三类,即组织域、地理域、反向域。

DNS名称解析方式:正向解析、反向解析(所用的数据库不同)。正向解析,即名称到IP地址的解析;反向解析,即IP地址到名称的解析。

DNS查询类型:递归查询、迭代查询。

DNS服务器的分类:主DNS服务器、从DNS服务器、缓存DNS服务器。

区域数据传送的两种类型:全量传送、增量传送。

FQDN:完全合格域名

2、DNS的查询请求流程:

Client --> hosts --> Local Cache --> first DNS(recursive) -->

--> 服务器本地缓存或本地数据库中有结果,直接响应客户端;

--> ROOT(iteration) --> TLD_DNS_SERVER --> 二级域DNS_SERVER --> ... --> ns.xxx. --> 解析结果;

3、主从DNS服务器数据库的四部分:

(1)、序列号(serial) ---------数据库的版本号,数据库变化则自增

(2)、刷新时间间隔(refresh) --------------到主DNS服务器上检查序列号的变化更新情况的时间间隔

(3)、重试时间间隔(retry) ----------------同步数据库失败,再次发起尝试请求的时间间隔

(4)、过期时间(expire) ---------------接不上主DNS服务器时,从DNS服务器多久后停止服务

(5)、否定答案的缓存时长(minimal TTL)

4、资源记录(RR)

资源记录,就是存放于区域数据库文件中,用于解析工作的数据。

常见的【7种资源记录】类型为:A、AAAA、PTR、SOA、NS、CNAME、MX,具体解释如下:

(1)、SOA -------------起始授权记录

任何一个数据库中,有且仅有一条,必须是第一条。

(2)、A ------------主机记录(IPV4)

标识完全合格域名,到IP地址的映射关系。

(3)、AAAA ------------主机记录(IPV6)

标识完全合格域名,到IPV6地址的映射关系

(4)、PTR ----------------指针记录

标识IP地址,到完全合格域名的映射关系。

(5)、NS ---------------名称服务器记录

标明当前域中所有的DNS服务器。

(6)、CNAME -----------别名记录

标识从完全合格域名,到完全合格域名的映射关系。

(7)、MX ---------------邮件交换器记录

标识域中邮件服务器的主机名,从域名映射到完全合格域名

5、七种资源记录的格式(在区域数据库中):

资源记录格式:name|FQDN  [TTL]  IN  RR_TYPE  VALUE

(1)、SOA资源记录

name ------------当前域的域名(qhdlink.com.)/@

value(三类):

1)、当前区域的主DNS服务器的FQDN(ns1.qhdlink.com.)

2)、当前区域数据库的管理员的邮件地址(mailmaster.qhdlink.com.)

3)、主从服务器进行区域传送的相关时间定义及否定答案的统一TTL

(Serial 1H 15M 1W 1D)

(

Serial; --------------序列号

1H;refresh -----------刷新时间间隔

15M;retry --------------------重试时间间隔

1W;expire --------------------过期时间

1D);minimal ttl -----------否定答案的缓存时长

示例:

$TTL 86400

qhdlink.com. 86400 IN SOA ns1.qhdlink.com. master.qhdlink.com.(

2017081001;serial

1H;refresh

15M;retry

1W;expire

1D);ttl

(2)、NS记录

每个域中,可以有多条NS记录,但每一条NS记录必须对应一个A记录。

name ------------当前域的域名

value -----------当前区域内某【DNS服务器】的完全合格域名(ns.qhdlink.com.)

示例:

qhdlink.com. 86400 IN NS ns1.qhdlink.com.

qhdlink.com. 86400 IN NS ns2.qhdlink.com.

$ORIGIN qhdlink.com.

$TTL 86400

IN NS ns1

IN NS ns2

(3)、MX记录

一个域中,可以有多个MX记录,但每个MX记录必须与一条A对应。

name -------------当前域的域名;

value ------------当前域中某有效的【邮件服务器】的主机名

示例:

qhdlink.com. 86400 IN MX 10 mail1.qhdlink.com.

$ORIGIN qhdlink.com.

$TTL 86400

@ IN MX 20 mail2

(4)、A记录

name --------------域中某主机的FQDN或主机名称

value --------------与主机名对应的IPv4地址

示例:

www.qhdlink.com. 86400 IN A 192.168.1.1

www.qhdlink.com. 86400 IN A 192.168.1.2

www.qhdlink.com. 86400 IN A 192.168.1.3

www.qhdlink.com. 86400 IN A 192.168.1.4

$ORIGIN qhdlink.com.

$TTL 86400

www IN A 192.168.1.1

(5)、CNAME记录

name -------------别名的FQDN或简单的名称

value --------------真正的名称的FQDN或其简单名称

示例:

web.qhdlink.com. 86400 IN CNAME www.qhdlink.com.

$ORIGIN qhdlink.com.

$TTL 86400

web IN CNAME www

(6)、AAAA记录 -------------与A一致

name --------------域中某主机的FQDN或主机名称

value --------------与主机名对应的IPv4地址

示例:

ftp.qhdlink.com. 86400 IN AAAA ::1

(7)、PTR记录

name -----------将IP地址反过来写,再加标准后缀。(1.72.16.172.in-addr.arpa.)

value --------------域中某主机的FQDN

示例:

1.72.16.172.in-addr.arpa. 86400 IN PTR www.qhdlink.com.

$ORIGIN 16.172.in-addr.arpa.

$TTL 86400

1.72 IN PTR www.qhdlink.com.

6、DNS配置(正反向区域配置)

(1)、正向区域配置

正向区域配置,包括三部分,即:定义区域、创建区域数据文件、重载区域和配置文件。具体解释如下:

1)、定义区域的方式-----------/etc/named.rfc1912.zones

zone "ZONE_NAME" IN {

type {master|slave|forward|hint};

file "ZONE_NAME.zone";

};

例:zone "qhdlink.com" IN {

type master;

file "qhdlink.com.zone";

};

2)、创建区域数据文件 -----------/var/named/qhdlink.com.zone

在创建区域数据文件时,需要对ZONE_NAME.zone权限进行修改

# chown :named qhdlink.com.zone

# chmod o-r qhdlink.com.zone

例:

$ORIGIN qhdlink.com.

$TTL 86400

@ IN  SOA ns1.qhdlink.com. admin.qhdlink.com. (

2017081001;serial

1H;refresh

15M;retry

1W;expire

1D);TTL

IN NS ns1.qhdlink.com.

MX 10 mx1.qhdlink.com.

ns1.qhdlink.com.   IN  A   172.16.72.1

www   IN  A   172.16.100.1

www   IN  A   172.16.100.2

www   IN  A   172.16.100.3

web   IN  CNAME www

mx1   IN  A   172.16.100.4

3)、重载区域和配置文件

# named-checkconf -----------检测named.conf语法

# named-checkzone "ZONE_NAME" FILE_NAME ---------检测域名、区域数据库文件语法

# rndc reload ------------重载配置文件

# systemctl reload named.service

# service named reload ------------CentOS6

(2)、反向区域配置

反向区域配置,包括三部分,即:定义区域、创建区域数据文件、重载区域和配置文件。具体解释如下:

1)、定义区域 -----------------/etc/named.rfc1912.zones

zone "ZONE_NAME" IN {

type {master|slave|forward|hint};

file "ZONE_NAME.zone";

};

例:zone "16.172.in-addr.arpa" IN {

type master;

file "172.16.zone";

};

2)、创建数据库文件 -------------/var/named/172.16.zone

修改权限:

# chown :named 172.16.zone

# chmod o-r 172.16.zone

例:

$ORIGIN 16.172.in-addr.arpa.

$TTL 86400

@ IN  SOA ns1.qhdlink.com. admin.qhdlink.com. (

2017081001;serial

1H;refresh

15M;retry

1W;expire

1D);TTL

IN NS ns1.qhdlink.com.

1.72  IN  PTR     ns1.qhdlink.com.

1.100 IN  PTR     www.qhdlink.com.

2.100 IN  PTR     www.qhdlink.com.

3.100 IN  PTR     www.qhdlink.com.

4.100 IN  PTR     mx1.qhdlink.com.

3)、重载区域和配置文件

# named-checkconf -----------检测named.conf语法

# named-checkzone "ZONE_NAME" FILE_NAME ---------检测域名、区域数据库文件语法

# rndc reload ------------重载配置文件

# systemctl reload named.service

# service named reload ------------CentOS6

7、DNS配置(主从服务器) --------------区域级别

配置一个从服务,主要包括两部分,即:定义区域、重载配置文件

(1)、主从服务器定义区域

zone "ZONE_NAME" IN {

type slave;

file "slaves/ZONE_NAME.zone";

masters { MASTER_IP; };

};

例:

zone "qhdlink.com" IN {

type slave;

file "slaves/qhdlink.com.zone";

masters { 172.16.72.1; };

};

(2)、重载配置文件

# named-checkconf

# rndc reload

二、转发器

1、区域转发、全局转发

转发器分为两种,即:区域转发、全局转发。区域转发器是针对于某个特定区域的转发,全局转发针对的是没有定义zone的全部区域。

(1)、区域转发 ------------------/etc/named.rfc1912.zones

例:

zone "baidu.com" IN {

type forward;

forward {first|only};

forwarders { 172.16.72.1; };

};

forward {first|only}中:

first:首先转发,当指定的转发器无响应时,再自行迭代

only:只使用转发器进行转发,不执行自行迭代

(2)、全局转发 -------------------/etc/named.conf

例:

options {

...

forward {first|only};

forwarders { SERVER_IP; };

...

};

2、子域授权

(1)、子域授权

对子域进行授权,只需在父域的区域文件中直接授权即可。在子域的NS服务器上,直接创建子域的区域文件,管理资源记录。

例:

qhdlink.com内容如下:-------------------区域的文件为/var/named/qhdlink.com.zone

tech.qhdlink.com.   IN  NS  ns.tech.qhdlink.com.

ns.tech.qhdlink.com. IN A   172.16.69.1

其子域的授权如下(直接加一个域): ------------------/etc/named.rfc1912.zones

zone "tech.qhdlink.com" IN {

type master;

file "tech.qhdlink.com.zone";

};

(2)、子域的NS服务器解析父域的资源记录步骤: -------------需定义转发器(子 ---> 父)

可以通过区域转发和全局转发,使子域能够通过父域的NS服务器,查找父域中的资源记录。区域转发、全局转发的定义如下:

1)、定义区域转发 ----------------/etc/named.rfc1912.zones

zone "qhdlink.com" IN {

type forward;

forward first;

forwarders { 172.16.72.1; };

};

2)、全局转发 ------------/etc/named.conf

options {

...

forward first;

forwarders { 172.16.72.1; };

...

};

三、Bind

1、Bind配置文件

Bind,实现DNS协议的程序,Bind对应的服务器的主程序为named,named使用的是tcp/udp的53号端口。

Bind的主配置文件为:/etc/named.conf。对于该主配置文件,其注释可以使用单行注释,也可以采用多行注释。同时,该配置文件采用分段配置的方式,其配置文件主要分为6部分,即:访问控制列表段(acl ACL_NAME)、全局选项段(options)、日志配置段(logging)、区域配置段(zone "ZONE_NAME" IN)、视图配置段(view VIEW_NAME)、include包含段(include /PATH/TO/SOME_CONFIG_FILE)。

2、测试工具:dig, host, nslookup

bind-utils通用工具包中,包含了dig、 host、 nslookup、rndc等测试工具。

(1)、dig命令 ------------DNS查询

格式:dig [@Server] [-t RR_TYPE] [query_options]

常用选项:

@Server -----------此次的查询的DNS服务器,若没有,就读取/etc/resolv.conf中的nameserver配置项

-t RR_TYPE ----------查询请求的资源记录类型

+[no]trace ----------跟踪整个解析过程

+[no]recurse -----------目标DNS服务器递归查询

# dig -x IPADDR -----------反向解析

# dig -t axfr DOMAIN_NAME [@Server] ----------模拟区域传送

(2)、host命令

格式:host [-t RR_TYPE] DOMAIN_NAME SERVER

常用选项:

-t RR_TYPE ----------查询请求的资源记录类型

DOMAIN_NAME -----------域名

SERVER -----------此次的查询的DNS服务器

(3)、nslookup命令 ------DNS查询,多用于windows(交互式)

> server IP_ADDR ----------DNS服务器的IP地址

> set q=RR_TYPE ----------资源记录的类型

> QUERY_NAME -------------------解析的主机名

> set type=RR_TYPE ----------资源记录的类型

(4)、rndc命令 ----------------远程名称域控制器、DNS服务器端的控制命令,tcp/953

# rndc status -----------服务器端的运行状态

# rndc reload -----------服务器端程序重载配置为文件和区域文件

3、bind安全配置,acl访问控制列表

(1)、bind的四个acl访问控制列表,如下:none、any、local、localnet。

(2)、acl语法: ------------使用前,确保已定义

acl acl_name {

[!] ip;

[!] network/prefix;

};

例:

acl mynet {

172.16.0.0/16;

127.0.0.1;

! 172.16.100.100;

};

4、定义视图

view VIEW_NAME {

match_clients { acl; };

zone

zone

zone

...

};

视图配置示例:--------------定义视图后,所有zone必须定义如视图内。

view intranet {

match-clients { mynet; };

zone "." IN {

type hint;

file "named.ca";

};

zone "qhdlink.com" IN {

type master;

file "qhdlink.com.intra.zone";

allow-query { mynet; };

allow-update { none; };

allow-transfer { none; };

};

};

view internet {

match-clients { any; };

zone "." IN {

type hint;

file "named.ca";

};

zone "qhdlink.com" IN {

type master;

file "qhdlink.com.inter.zone";

allow-update { none; };

allow-transfer { none; };

};

};

时间: 2024-08-24 22:07:52

DNS、Bind的相关文章

马哥教育第十八天DNS、bind的基本配置详解

1.DNS: Domain Name Service DNS工作在53端口上,查询时使用udp协议,传送时使用tcp协议,全称域名:称为FQDN(Full Qualified Domain Name) 根域:root domain                        一级域:top-level domain                        二级域:公司.组织.个人使用                        主机: 递归:A --> B --> C -->

五、DNS与bind

5.1.DNS简介 DNS服务可以为用户提供域名和IP之间的自动转换.通过DNS,用户只需输入机器的域名即可访问相关的服务,而无需使用那些难以记忆的IP地址.DNS帮助用户在互联网上寻找路径,在互联网上的每一个计算机都拥有一个唯一的地址,称作'IP地址'.由于IP地址是一串数字,难以记忆,而DNS允许用户使用一串有意义的字符串'即域名'取代,由域名转换成相应IP地址的这个过程称为域名解析. DNS域名又称为DNS命名空间,它是以层次树状结构进行管理的,其最顶层是根域.根域在整个DNS命名空间是唯

【Linux】DNS服务-BIND从服务器、缓存服务器、转发服务器配置

环境 操作系统:CentOS 6.5 DNS软件:bind(安装参照:[Linux]DNS服务-BIND基础配置(二)) BIND从服务器 从服务器就是在bind的主配置文件中添加从域example.net的配置信息即可3 1.配置文件位置 /var/named/chroot/etc/named.conf 2.在主配置文件中添加一行域的zone定义: zone "example.net" { type slave;          masters { 120.27.99.64; };

DNS和Bind配置指南

/////////////////////////////目录//////////////////////////////////////一.DNS原理相关二.使用bind搭建最简单的DNS服务器三.使用bind搭建可以解析自己添加的域名的DNS服务器四.配置DNS转发五.配置主从配置主从六.测试主从同步 拓展学习:DNS and BIND配置指南  http://anyisalin.blog.51cto.com/10917514/1753638bind配置视图(view)   http://w

DNS and BIND 笔记总结

DNS and BIND Domain Name Server(Syetem.Service)    Bekerley Internet Name Domain,ISC(www.isc.org) 协议 C/S架构.udp53和tcp53    IANA分配域名 本地名称解析配置文件    /etc/hosts    %Windows%/system32/dirvers/etc/hosts    1.1.1.1 www.qq.com Top Level Domain .tld 三类:组织域.国家域

DNS(bind)服务器的安装与配置

Bind服务器: bind(Berkeley Internet Name Domain Service),它是一款实现DNS服务器的开源软件,现在为最广泛的DNS服务器软件 Socket: 套接字,及IP:port(IP地址端口对) 端口: TCP:0~65535  UDP:0~65535 注: 小于1024的端口为知名端口,只有root用户有权限开放和关闭. 1.bind的安装 包名: bind 进程: named 协议: dns 使用端口: 53(tcp,udp) 相关的包: [[email

Linux运维实战之DNS(bind)服务器的安装与配置

上次博文我们讨论了DNS的基础,本次博文我们重点来看看如何配置一台DNS服务器. [本次博文的主要内容] bind服务器简介(包括客户端工具dig的介绍) 配置正向解析DNS服务器 配置反向解析DNS服务器 配置辅助DNS服务器并在主辅之间实现区域传送 一.BIND服务器简介: Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件.Bind原本是美国DARPA资助伯克利大学(Berkeley)开设的一个研究生课题,后来

Linux学习之路-DNS原理-BIND配置详解

DNS原理-BIND配置详解 DNS系统概述 DNS系统作用     a) DNS,简单地说,就是Domain Name System,翻成中文就是"域名系统".主要的功能就是将人易于记忆的Domain Name与人不容易记忆的IP Address作转换.      b) DNS提供正向解析和反向解析          正向解析:根据主机名称(域名)查找对应的IP地址.          反向解析:根据IP地址查找对应的主机域名 DNS系统结构  系统结构原理  目前DNS采用的是分布

linux命令:DNS域名解析,bind

DNS:Domain Name Service  域名服务 DNS服务器的软件bind:berkeley internet name domain  named-checkconf:检查配置文件是否有语法错误命令  named-checkzone:检查区域文件是否有语法错误命令  dig:domain information groper      dig -t NS . 查找根域的所有DNS服务器 bind97:    /etc/named.conf  主配置文件        BIND进程的