DNS Bind详解

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介:

DNS & Bind


DNS: Domain Name Service (System)


网络:MAC(Media Access Control), IP



1、海量客户端请求

2、完成局部名称配置


迭代查询

递归查询


缓存生存时间:ttl: time to live



原始服务器:权威答案

缓存:非权威答案


DNS服务器的类型:

缓存DNS服务器

主DNS服务器(master): 数据库更新由管理员手动完成

辅助DNS服务器(slave):数据库更新从主服务器或其它辅助DNS服务器那里完成


顶级域:

顶级域:.net, .com, .org, .mil, .edu, .gov, .cc, .mobi

国家域:.jp, .tw, .hk, .iq, .ir, .cn, .uk, .us

反向域:FQDN <--> IP


DNS解析类型:

正向解析:FQDN-->IP

反向解析: IP --> FQDN



名称解析库:/var/named/

文本文件(只能包含资源记录和宏定义): 每一行称作一个资源记录


资源记录有类型:

FQDN-->IPv4: A (Address)

FQDN-->IPv6: AAAA

Domain-->DNS Server:NS (Name Server)

Domain-->Master DNS: SOA (Start Of Authority), 起始授权记录

FQDN-->FQDN: CNAME (Canonical Name)

IP-->FQDN: PTR (pointer)

Domain-->Mail Server: MX (Mail eXchanger), 有优先级:0-99


DNS: FQDN --> IP

根:.

IP --> FQDN:

根:.in-addr.arpa.


域:domain

正向解析:名称解析库

区域:zone

反向解析:名称解析库

区域:zone


资源记录的格式:

name [ttl]IN 资源记录类型 value


例如:www.163.com.86400IN A  1.1.1.1


各资源记录类型其“名称”有要求:

SOA: zone

NS: zone

A, AAAA: FQDN

CNAME: FQDN

PTR: ReverseIP.in-addr.arpa.

MX: zone


各资源记录类型其“value”有要求:

SOA: 主DNS服务器的FQDN

NS: 对应DNS服务器的FQDN

A,AAAA:IP

CNAME:FQDN

PTR:FQDN

MX: Mail Server FQDN



SOA:

@[TTL] IN  FQDN  admin_mailbox  (

2013081201   ;序列号, serial number

2h           ;刷新时间, refresh time, 通知(notify): 只通知给本区域解析库文件中定义NS记录的所有主机;

5m ;重试时间, retry time

7d ;过期时间, expire time

1d ;否定答案的ttl

)

IN NS  ns1.163.com.


@  nsadmin@163.com: nsadmin.163.com.



X --> Y


slave --> master

完全区域传送:AXFR

增量区域传送:IXFR


解析类型:

正向

反向


查询类型:

递归

迭代


资源记录类型:

A     ipv4 主机记录

AAAA    ipv6 主机记录

PTR     ip到主机名的解析

MX      邮件交换记录

NS      权威名称服务器  

SOA     起始授权服务器

CNAME    别名记录


DNS: SOA


@ ttl   IN  SOA  主DNS服务器FQDN  管理员邮箱  (

序列号

刷新时长

重试时长

过期时长

否定回答的TTL

)


DNS:服务程序

bind:Berkeley Internet Name Daemon

ISC:www.isc.org

powerdns


版本:bind4, bind8, bind9, bind10


DNS服务器类型:

缓存服务器

主DNS服务器

从DNS服务器

bind:

主配置文件:named.conf,每个语句都要使用分号结尾;

定义区域;

定义各区域的全局配置;

定义视图;

定义日志;

程序文件:/usr/sbin/named



dig命令:

dig -t 资源记录类型  名称 @server-ip

/etc/resolv.conf

nameserver IP

dig -x IP @server-ip

dig +trace

dig -t axfr zone


host命令:

host -t 资源记录类型 名称



主配置文件/etc/named.conf的修改:注释掉options段中如下选项,也可以修改

//listen-on port 53 { 127.0.0.1; };

//listen-on-v6 port 53 { ::1; };

//allow-query     { localhost; };


启动named服务:缓存DNS服务器;



在区域配置文件/etc/named.rfc1912.zones新建一个区域:

zone "区域名称" IN {

type master|slave|forward;

file "ZONE_NAME.zone";

};


检测主配置文件语法错误:named-checkconf


在/var/named下建立“ZONE_NAME.zone”文件,通常只包含宏定义和资源记录,而第一个记录必须是SOA记录;

$TTL 600;

name  [TTL]IN RR_Type value


1、一个FQDN可对应同多个IP;(负载均衡)

2、多个FQDN可对应一个IP:(一台主机有多个名称)


检测区域文件语法错误:named-checkzone


确保主配置文件和各区域解析库文件的权限为640,属主为root,属组为named;






反向区域的区域名称:网络地址反过来.in-addr.arpa.


100.16.172.in-addr.arpa.





rndc:Remote Name Domain Contoller



如何创建从DNS服务器?

如果有多台DNS服务器,必须为每个DNS服务器建立NS记录,否则主DNS将不向发送通知;


区域定义:

zone "区域名称" IN {

type slave;

file "slaves/ZONE_NAME.zone";

masters {

MASTER_DNS_IP;

MASTER_DNS2_IP;

};

}



allow-transfer { IP; };

rndc: 953/tcp


调试:显示程序运行中的详细信息;

调试级别:0,1,2,3


rndc trace

rndc trace LEVEL

rndc notrace


rndc flush


rndc reconfig

rndc reload



dig: flags aa

authority answer



magelinux.com



allow-transfer {};

allow-query {};

allow-recursion {};

allow-update {};

ddns



bind访问控制列表:

acl string { address_match_element; ... };



any, none, local, localnet


如何实现将请求转发出去:


转发类型:


转发所有针对非本机负责解析的区域的请求;

options {};

仅转发对特定区域的请求;

zone {

type forward;


};


转发的前提:接收转发请求的服务器必须能够为请求者做递归查询;


forwarders { IP; };

forward only|first;




子域授权、acl、view、安全相关功能、转发域、日志子系统;


DNS子域授权:

域内:划分出小域即为子域

授权:委派


划分子域

完成授权


bind view: 视图

brain split




view "" {

match-clients { 172.16.0.0/16; };

zone "163.com" IN {

type master;

file "internal"

}


}



view VIEW_NAME {

match-clients { any; }

zone "163.com" IN {

type master;

file "external";

}


}


bind:

channel categroy


categroy: 记录哪个功能产生的日志信息,一共内置有15种category;

channel: 日志信息记录到何处,一般有两种形式,一种为file,另一种为syslog;同时,还需要指定日志级别;


一个category产生的日志可以发往多个channel;而一个channel只能为一个category记录日志;


channel CHANNEL_NAME {

file /path/to/somefile|syslog facility;

severity LEVEL;

};


category CATEGORY { CHEANNEL; };




     本文转自ljl_19880709 51CTO博客,原文链接:http://blog.51cto.com/luojianlong/1362339,如需转载请自行联系原作者





相关文章
|
4月前
|
网络协议 网络安全
基于bind软件部署DNS服务器
关于如何使用bind软件部署DNS服务器的教程,包括DNS服务器的类型、基于bind软件的部署步骤、验证DNS服务器可用性的指导,以及如何进行DNS正向解析的实现。
133 2
|
5月前
|
JavaScript 前端开发
bind原理深度解析
【8月更文挑战第1天】bind原理深度解析
48 0
|
8月前
|
Linux 调度 数据库
|
8月前
|
域名解析 网络协议 Ubuntu
【域名解析DNS专栏】搭建私有DNS服务器:从BIND到CoreDNS的选择
【5月更文挑战第26天】本文对比了两种流行的DNS服务器软件BIND和CoreDNS。BIND以其稳定性及丰富功能著称,广泛兼容各类平台,适合复杂环境;CoreDNS则以其高性能、模块化设计和易用性脱颖而出。根据需求、资源和技术水平,用户可选择适合自己的DNS服务器。安装示例包括BIND在Ubuntu上的apt安装及基本配置,以及CoreDNS的snap安装和YAML配置。
550 0
|
8月前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
98 0
|
域名解析 缓存 运维
Linux巩固篇013-Linux BIND域名解析服务
纸上得来终觉浅,绝知此事要躬行
373 1
Linux巩固篇013-Linux BIND域名解析服务
|
网络协议 Linux 网络安全
CentOS通过bind配置DNS服务器(下)
CentOS通过bind配置DNS服务器(下)
405 0
CentOS通过bind配置DNS服务器(下)
|
网络协议 Linux 网络安全
CentOS通过bind配置DNS服务器(上)
CentOS通过bind配置DNS服务器(上)
585 0
CentOS通过bind配置DNS服务器(上)
|
存储 缓存 网络协议
RH358管理DNS和DNS服务器--使用BIND 9配置授权名称服务器
RH358管理DNS和DNS服务器--使用BIND 9配置授权名称服务器
663 0
RH358管理DNS和DNS服务器--使用BIND 9配置授权名称服务器
|
网络协议 测试技术 数据库
内建DNS服务器--BIND
参考 BIND 官网:http://www.isc.org/downloads/bind/ 1、系统环境说明 [root@clsn6 ~]# cat /etc/redhat-release CentOS release 6.
1455 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多