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.mzph.cn/news/592383.shtml

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

相关文章

yongyou builder 业务流设计相关bug

今天发现了yongyou builder的一个问题,我有一个实体(主机预测),另外一个实体(业务员预测),要将多张业务员预测的单据合并从一个主机单据,并且如果多张单据下面的表体行中存在相同的销…

(六)数码管动态刷新

文章目录 如何实现利用人眼的余晖效应(100hz无闪烁)1ms刷一个数码管 8个看起来就是一块亮的 结合前面内容进行操作前面内容传送门:如何段选原理图代码写法这里借助isp复制共阴数码管码值 如何位选原理图代码写法 如何消隐在每次 段选 赋值之前…

[数理统计]中国科技技术大学缪柏其

中国科学技术大学 数理统计 缪柏其 笔记正在不断完善中,博主还有其他上万字精品笔记 ​编辑P10 前言1-统计思想 41:33 介绍了数理统计的重要性和应用领域。主讲人强调了统计学与数学的区别,指出统计学是以数据为研究对象的一门科学,强调了统计思想的重…

面试算法79:所有子集

题目 输入一个不含重复数字的数据集合,请找出它的所有子集。例如,数据集合[1,2]有4个子集,分别是[]、[1]、[2]和[1,2]。 分析 如果集合中包含n个元素,那么生成子集可以分为n步,每一步从集合中…

K8S集群部署MySql

挂载MySQL数据卷 在k8s集群中挂载MySQL数据卷 需要安装一个NFS。 在主节点安装NFS yum install -y nfs-utils rpcbind 在主节点创建目录 mkdir -p /nfs chmod 777 /nfs 更改归属组与用户 chown -R nfsnobody:nfsnobody /nfs 配置共享目录 echo "/nfs *(insecure,rw,s…

linux更改登录shell

从bash修改成python 在/etc/passwd下可以更改用户登录bash 例 root:x:0:0:root:/root:/bin/bash //更改bin/bash为/bin/python,就可以用root登录python页面了从python修改成bash 方法一 重启页面按e进入内核编辑模式linux16这行后添加:init/bin/…

Linux操作系统基础(3):Linux终端的使用

1. Linux终端的介绍 Linux 终端是指在 Linux 操作系统下用于与用户进行交互的命令行界面(基于文本的交互)。它是用户与操作系统进行直接交互的主要方式,可以通过输入命令来执行各种操作,如文件管理、进程控制、系统配置等。 Lin…

【WPF.NET开发】WPF中的输入

本文内容 输入 API事件路由处理输入事件文本输入触摸和操作侧重点鼠标位置鼠标捕获命令输入系统和基元素 Windows Presentation Foundation (WPF) 子系统提供了一个功能强大的 API,用于从各种设备(包括鼠标、键盘、触摸和触笔)获取输入。 本…

CTF流量分析经典例题详解

目录 入门题型 题目:Cephalopod(图片提取) 题目:特殊后门(icmp协议信息传输) 题目:手机热点(蓝牙传输协议obex,数据提取) 题目:想蹭网先解开密码(无线密码破解) 进阶题型 题目:抓到一只苍蝇(数据包筛选,数据提…

React16源码: React.Children源码实现

React.Children 1 ) 概述 这个API用的也比较的少,因为大部分情况下,我们不会单独去操作children我们在一个组件内部拿到 props 的时候,我们有props.children这么一个属性大部分情况下,直接把 props.children 把它渲染到我们的jsx…

蓝牙物联网智能车用语音控制系统模块设计

随着信息产业的快速发展,简单的控制操作机器已经不能满足人类的欲望,利用语音识别技术让机器理解人类的语言,以及实现人机交互成为新的研究内容。对用户来说,这种人机交互的方式当是最自然的一种方式。同时,使人们在车…

塔夫特原则

塔夫特原则(Tuftes Principles)是由数据可视化专家爱德华塔夫特(Edward Tufte)提出的一组指导性原则,旨在帮助人们创建清晰、有效和有力的数据可视化图表。这些原则强调了以数据为核心,通过简洁、准确和易于…

【Java开发岗面试】八股文—Java虚拟机(JVM)

声明: 背景:本人为24届双非硕校招生,已经完整经历了一次秋招,拿到了三个offer。本专题旨在分享自己的一些Java开发岗面试经验(主要是校招),包括我自己总结的八股文、算法、项目介绍、HR面和面试…

小球自由下落-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第23讲。 小球自由下落&…

python flask-wft

这个放在前面你个表单的博客内容 精髓放这 from flask import Flask from flask import render_template from flask_wtf import FlaskForm from wtforms.fields import (StringField, PasswordField, DateField, BooleanField,SelectField, SelectMultipleField, TextAreaFi…

第一个Qt程序----Hello word!

从今天起就开始我们的第一个Qt小程序,点击New Project后点击右侧的Application后点击Qt Widgets Application。Qt Widgets 模块提供了一组UI元素用于创建经典的桌面风格的用户界面,Widgets是小部件的意思,也可以称为控件,因此Qt …

粒子群优化pso结合bp神经网络优化对csv文件预测matlab(3)

1.csv数据为密西西比数据集,获取数据集可以管我要,数据集内容形式如下图: 2.代码 这里参考的是b站的一位博主。 数据集导入教程在我的另一篇文章bp写过,需要的话可以去看一下 psobp.m close all clc%读取数据 inputX; outputY;…

在 Android 上使用 MediaExtractor 和 MediaMuxer 提取视频\提取音频\转封装\添加音频等操作

文章目录 前言一、MediaExtractor 基本介绍与使用二、MediaMuxer 基本介绍与使用示例提取视频提取音频混合视频与音频文件 总结参考 前言 之前我们介绍了 FFmpeg 并利用它解封装、编解码的能力完成了一款简易的视频播放器。FFmpeg 是由 C 实现的,集成至 Android 等…

JVM中部分主要垃圾回收器的特点、使用的算法以及适用场景

JVM中部分主要垃圾回收器的特点、使用的算法以及适用场景: Serial GC(串行收集器) 特点:单线程执行,对新生代进行垃圾回收时采用复制算法(Copying),在老年代可能使用标记-压缩或标记…