博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DNS Bind详解
阅读量:7236 次
发布时间:2019-06-29

本文共 3889 字,大约阅读时间需要 12 分钟。

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,如需转载请自行联系原作者

你可能感兴趣的文章
记一次基于vue的spa多页签实践经验
查看>>
Android中的设计模式之状态模式
查看>>
打包工具的配置教程见的多了,但它们的运行原理你知道吗?
查看>>
【docker】小技巧:在宿主机器上直接查看docker容器的进程
查看>>
流畅的python读书笔记-第八章-对象引用、可变性和垃圾回收
查看>>
【跃迁之路】【457天】刻意练习系列216(2018.05.08)
查看>>
CSS 水平垂直居中
查看>>
机器学习实战_分类(一)
查看>>
angular 路由 Router
查看>>
devops之路第一篇(gitlab搭建)
查看>>
【跃迁之路】【436天】刻意练习系列195—Java基础练习(继承)(2018.04.17)
查看>>
NPM vs Yarn 备忘手册
查看>>
初识LVM及ECS上LVM分区扩容
查看>>
Vue作为组件在前端项目中的应用技巧
查看>>
python实现一个简单的并查集
查看>>
阻止微信浏览器下拉滑动效果(ios11.3 橡皮筋效果)
查看>>
支持所有JavaScript运行时的HTTP网络库-Fly.js
查看>>
【Sublime Text3 】——SublimeTmpl代码模板
查看>>
Java对象的使用
查看>>
【350天】我爱刷题系列109(2018.01.21)
查看>>