BIND-DNS配置介绍

  一、主要配置文件

/etc/named.conf

options {              //Option 段全部配置

  listen-on port 53 { 127.0.0.1; };//表示BIND将在53端口监听,若需要对所有IP进行监听,则修改为// listen-on port 53 { any; };

directory       "/var/named";//工作目录。

dump-file       "/var/named/data/cache_dump.db";//缓存转储位置,需要配合rndc命令。

statistics-file "/var/named/data/named_stats.txt";//记录统计信息的文件,需要配合rndc命令。

 emstatistics-file "/var/named/data/named_mem_stats.txt";//记录内存使用的统计信息。

allow-query     { localhost; };//允许查询的主机,默认只允许本机查询若需要允许所有客户机查询,则修改为// allow-query { any; };

recursion yes;//允许递归查询。

notify yes;//区域数据文件更新发送通知。

querylog  yes //启用日志

forwarders     { 192.168.1.1; }; // 如果域名服务器无法解析时,将请求交由168.95.1.1; 192.168.1.1来解析
 allow-transfer { none; }; //指定允许接受区域传送请求的主机,比如辅dns的ip是192.168.1.2,那么可以这样定义{ 192.168.1.2; },要不然主辅dns不能同步,当然,{}里的也可以用下面提到的acl。

dnssec-enable yes; //是否支持DNSSEC开关,默认为yes。

dnssec-validation yes; //  是否进行DNSSEC确认开关,默认为no。

dnssec-lookaside auto;// 当设置dnssec-lookaside,它为验证器提供另外一个能在网络区域的顶层验证DNSKEY的方法。

bindkeys-file "/etc/named.iscdlv.key";  //该文件中保存了ISC DNSSEC的后备验证密钥,该文件用来代替DS集。

};

logging {//Loging段

channel default_debug {

file "data/named.run";//记录了一些named的信息,如监听/解析记录等。它的位置在/var/named /var/named/data下。

severity dynamic;  //输出日志级别

};

};

zone "." IN {

type hint;//type只有3种参数:hint/master/slave.只有"."对应的type为hint,其它zone的类型只能为master或slave,即DNS主机和DNS从机。

file "named.ca";//指定了root解析文件的位置,解析文件中记录着域名与IP的对应关系。它的位置在/var/named /var/named/data下。

};

include "/etc/named.rfc1912.zones";//解析文件列表的位置

include "/etc/named.root.key"; //根区域的key文件,与事务签名相关。
// 这里定义一个acl列表
acl "acl1" {
        192.168.139.0/200; 192.168.1.0/200 
};
view localhost_resolver { //定义一个视图
        match-clients      { any; }; //查询者的源地址,any表示localhost_resolver视图对任何主机开放,如果写成{ acl1; },那么就只有acl1表里的ip可以递归查询了
        match-destinations { any; }; //查询者的目标地址,这里也可以写成{ localhost; acl1; }

}

二、日志系统配置

在默认情况下,BIND把日志消息写到/var/log/messages文件中,而这些日志消息是非常少的,主要就是启动,关闭的日志记录和一些严重错误的消息,所以要详细记录服务器的运行状况,需要自己配置服务器的日志行为。也就是要在配置文件named.conf中使用logging语句来定制自己所需要的日志记录,logging语句的语法为:

logging {

         channel ; {

                 file ;;

                 syslog ;;

                 null;

                 stderr;

                 severity ;;

                 print-time ;;

                 print-severity ;;

                 print-category ;;

        };

        category ; { ;; ... };

};

在日志中主要有两个概念:通道(channel)和类别(category)。通道指定了应该向哪里发送日志数据:是发送给syslog,还是写在一个文件里,或是发送给named的标准错误输出。类别则规定了哪些数据需要记录。

启用DNS日志:

日志通道输出级别:

critical
error
warning
notice
info
debug [ level ]
dynamic

category日志源:

default: 默认分类,没有分类的日志都使用这个分类的配置.
general: 没有分类的日志都记录在此分类中.
database: 服务器内部使用存储zone和缓存数据.
security: 允许/拒绝的请求.
config: 配置文件分析和处理.
resolver: DNS解析,被dns缓存服务器进行递归查询.
xfer-in: 接收区域传输.
xfer-out: 发送区域传输.
notify: NOTIFY协议.
client: 客户端请求进程.
unmatched: 未匹配的查询.
network: 网络操作.
update: 动态更新.
update-security: 允许/拒绝更新请求.
queries: 客户端队列日志.
dispatch: 数据包传送日志.
dnssec: DNSSEC和TSIG协议处理.
lame-servers: 远端的配置错误的服务器发送的请求.
delegation-only: NXDOMAIN的结果将被强制定义到delegation-only区域.

需要注意的是,一个日志类别产生的多个不同类别的信息可以发往不同的位置,但每一个位置只能保存来自于一个category的信息(一个category可以被定向到多个channel,但一个channel只能属于一个category)。

举例:

在/var/log/下新建一个文件夹bind用于记录查询日志。

三、配置正向解析区域

1、在主配置文件中定义区域

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

(2)多个FQDN可对应一个IP:(一台主机有多个名称,且可以用CNAME定义)。

(3)使用相关命令(named-checkconf、named-checkzone)测试配置文件及区域文件是否存在语法错误。

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

 vim /etc/named.conf

同样可以自定义文件zone文件位置,自定义区域文件路径需要修改相应文件权限。

chgrp  named  /etc/named.rfc1912.zones

2、区域文件关键性字段格式 

zone "ZONE_NAME" IN {

type {master|slave|hint|forward};

file "ZONE_NAME.zone";

};

 3、增加解析库文件

“ZONE_NAME.zone”文件默认路径在"/var/named",工作目录。为了后期维护方便可以自定义解析库文件路径,同样需要修改文件权限。

chgrp  -R  named  test/

$ORIGIN test1.com.   //宏定义

@ IN SOA ns1. test1.com. test.test1.org (

2015042201

1H

5M

7D

1D )

IN  NS   ns1

IN  MX 10 mx1

ns1 IN  A 192.168.100.11

mx1 IN  A 192.168.100.13

webapp  IN  A 192.168.100.100

4、配置完成后可用命令对文件进行检查

主配置文件语法检查:

named-checkconf

解析库文件语法检查:

named-checkzone " ZONE_NAME" /var/named/test1.com.zone

5、配置生效

 rndc reload 或者

systemctl reload named

四、配置反向解析区域

正向解析与反向解析各自采用不同的解析库,一台DNS服务器可以只有正向解析库或只有反向解析库,也可以同时提供正向/反向解析。

反向区域的区域名称格式:

地址反写.in-addr.arpa

例如:假设网络地址为172.16.100.1 那么规则命名为100.16.172.in-addr.arpa

这里我本地的内网IP为192.168.1.0, 所以则写成1.168.192.in-addr.arpa

1、定义区域

zone " ReverseIP.in-addr.arpa " IN {

type {master|slave|forward};

file "网络地址.zone"

};

2、创建反向区域解析文件

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/317345.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端开发个人简历范本(2024最新版-附模板)

前端开发工程师个人简历范本> 年龄 25岁 性别 男 毕业院校 XX大学 张三 学历 邮箱 leeywai-tools.cn 本科 专业 计算机科学与技术 个人梗概 拥有扎实的前端开发技能和丰富的实践经验 善于与团队合作,适应能力强,能够快速融入团队并贡献自…

从0开始python学习-38.pytest的parametrize结合yaml实现数据驱动

目录 1. 数据驱动 2. 定制化allure报告 1. 数据驱动 yaml文件中写入 -data: 1ces: 2- test:data: 3 数据驱动:pytest.mark.parametrize("参数名","参数值(可以是list或tuple)") 注意:这里参数值只能是列…

2英文中的所有时态格式及相同一句话示例

https://blog.csdn.net/chenhao0568/article/details/135296013?spm1001.2014.3001.5502 英文中的所有时态格式及相同一句话示例 英语中的时态主要分为三大类:过去时、现在时、将来时。每一类时态都有四种基本形式:简单式(一般式&#xff0…

江西速欣商务咨询有限公司:深度解析停息挂账,助您财务重启

停息挂账问题可能对个人或企业财务产生严重影响,但江西速欣商务咨询有限公司以其深度解析停息挂账的专业能力,致力于助您重新启动财务,实现财务的良性发展。 专业团队,深度解析挂账难题 速欣商务咨询拥有一支专业团队&#xff0c…

如何利用XPath来提取script标签中的数据?

XPath是一种用于在XML文档中定位和选择节点的语言。如果你要提取script标签中的数据,可以使用XPath表达式来定位包含脚本数据的节点。以下是一些示例XPath表达式,以及如何在Python中使用lxml库来实现: 假设有如下HTML文档结构: …

Win32 基本程序设计原理总结

目录 1. Windows系统 基本原理 2. 需要什么函数库(.LIB) 2.1 C Runtimes: 2.2 Windows API 3. 需要什么头文件(.H) 4. Windows 程序运行的本质 5. 窗口类的注册与窗口的诞生 6.消息 6.1 消息分类:…

JavaScript之常用的事件

文章目录 前言为什么使用事件呢?常用的触发事件窗口事件onbluronfocusonresize窗口加载事件 表单事件onchangeoninput 键盘事件onkeydownonkeyup 鼠标事件onclickondblclickonmousemoveonmouseoutonscroll 总结窗口事件总结表单事件总结键盘事件总结鼠标事件总结 前言 在网页中…

如何在Mendix中实现全文检索

功能背景 在日常的应用使用过程中,存在大量希望使用全文检索技术的场景,对资料库中的内容进行查询。Mendix默认的结构化查询方式,适合对特定业务实体进行类似数据库单表的基于SQL语句的查询。那如何在Mendix实现全文检索的功能呢&#…

网络端口(包括TCP端口和UDP端口)的作用、定义、分类,以及在视频监控和流媒体通信中的定义

目 录 一、什么地方会用到网络端口? 二、端口的定义和作用 (一)TCP协议和UDP协议 (二)端口的定义 (三)在TCP/IP体系中,端口(TCP和UDP)的作用 (…

利用MATLAB绘制折线图

x20:20:140;%x轴上的数据,第一个值代表数据开始,第二个值代表间隔,第三个值代表终止a[0.85, 2.2, 3.45, 2.65, 1.5, 1.9, 1.25]; %a数据y值plot(x,a,-*b); %线性,颜色,标记 axis([0,160,0,4]) %确定x轴与y轴框图大小 …

javascript中location对象的属性与方法

前言 本章介绍js中的location中的属性和方法。 文章目录 前言什么是location为什么要用locationlocation对象属性location对象方法总结 什么是location 在JavaScript中,location 是一个包含当前页面的URL信息的对象。它允许你获取和操作当前页面的URL,比…

解读 | Mint Blockchain 为何选择 OP Stack 作为 L2 技术方案?

Mint 是一个聚焦在 NFT 领域的创新型 L2 网络。Mint Blockchain 致力于促进 NFT 资产协议标准的创新和现实商业场景中 NFT 资产的大规模采用。今天这篇文章主要介绍一下 Mint Blockchain 开发者团队为什么选择了 OP Stack 技术方案,而不是其他家的 L2 方案。 我们将…