当前位置: 首页 > news >正文

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.lryc.cn/news/274251.html

相关文章:

  • Python技巧
  • 几种常见的CSS三栏布局?介绍下粘性布局(sticky)?自适应布局?左边宽度固定,右边自适应?两种以上方式实现已知或者未知宽度的垂直水平居中?
  • 箭头函数 - JavaScript的新宠儿
  • 操作系统期末复习知识点
  • [英语学习][23][Word Power Made Easy]的精读与翻译优化
  • 吉林大学19、21级计算机学院《计算机网络》期末真题试题
  • python练习3【题解///考点列出///错题改正】
  • LINUX服务器防火墙nf_conntrack问题一例
  • 经典八股文之RocketMQ
  • Pandas之从sql库中导入数据的几种方法分析
  • 18. Mysql 存储过程,实现动态数据透视
  • VuePress部署到GitHub Pages
  • git 本地仓库
  • Hive实战:分科汇总求月考平均分
  • 快速搭建知识付费小程序,3分钟即可开启知识变现之旅
  • 【计算机图形学划重点】第一讲-Pipeline and Introduction
  • 面试题-DAG 有向无环图
  • vite + vue3引入ant design vue 报错
  • 使用EasyPoi导入数据并返回失败xls
  • 机械配件移动商城课程概述
  • prometheus-docker 快速安装
  • RabbitMQ 核心概念(交换机、队列、路由键),队列类型等介绍
  • 1001 害死人不偿命的(3n+1)猜想
  • 七、HTML 文本格式化
  • OSI 模型和 TCP/IP 模型的异同
  • 创新性文生视频模型,南洋理工开源FreeInit
  • linux的页缓存page cache
  • 数字IC后端实现之Innovus TA-152错误解析(分频generated clock定义错误)
  • 虹科方案丨从困境到突破:TigoLeap方案引领数据采集与优化变革
  • 自检服务器,无需服务器、不用编程。