首页 > 编程知识 正文

log4j2配置文件详解,安装目录bin文件夹路径

时间:2023-05-03 10:38:07 阅读:114900 作者:4763

ISC BIND9 -最详细、最认真地从零开始构建BIND 9 - DNS服务,并参考其原理进行说明

另一方面,conf文件中的字段详细信息1. acl一般而言,ACL模块用于控制主机访问域名解析器。 该设定不会使控制文件的配置非常冗长且庞大。 使用此配置可以有效防止DOS和Spoofing攻击。 一般来说,您可以定义本节中的内容,以定义IP是否可以访问以及阻止特定IP地址干预域名服务器的Blacklist。

ACL匹配客户端是否能够访问域名服务器基于三个基本特征:

用客户端IPv4或IPv6地址用于签名请求的TSIG和SIG(0)密钥DNS客户端子网选项编码的前缀地址匹配 acl 定义以及使用规则如下:

string是为IP地址集命名的变量名称,可以自由命名;

ACL string { address _ match _ element; 举出named.conf.options文件中定义的示例:

acl bogusnets { 0.0.0.0/8; 192.0.2.0/24; 224.0.0.0/3; 10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16; (; //这部分//setupanaclcalledour-nets.replacethiswiththe//realip numbers.ACL our-nets { 172.16.2.11/24; 172.16.2.12/24; (; //子网名称2.logging logging部分的配置为DNS解析服务器提供了日志记录功能,DNS服务器上的所有日志记录都存储在指定的文件中。 通用配置文件为:

记录{类别字符串} channel _ name _ string; 通道字符串{缓冲布尔; file quoted _ string [ versions|unlimited ] integer [ sizesize ] [ suffix ] [ increment ]; 空值; 打印类别布尔; 打印服务布尔; 打印时间(iso 8601-utc ); severity log_severity; stderr; syslog [ syslog_facility ]; (; (; 从上面的常规配置格式可以看出,日志模块分为两个部分: category和channel、channel的作用是指定输出的方式、日志格式选项和事件的严重性,每个channel都是categorrar 其中category 用来区分不同的事件产生的类别或者场景,例如客户端请求-客户端请求、配置文件解析处理-配置文件解析处理。

如果在named.conf.options文件中未指定logging模块系统,则将提供缺省配置

日志记录{ category default } default _ syslog; default_debug; (; 类别不匹配{ null; (; (;channel 的配置规则:

所有日志输出都需要通道才能指定输出格式,BIND9对通道的创建数量没有限制。

每个通道必须在通道日志信息中指定目标类- -目标类。 目标类由通道阶段组成,通过此目标类进行区分。

输出到具体文件的名称- file; 输出到特定系统日志工具(syslog/syslogd )- syslog; 向终端显示输出-标准错误流; 否则,错误消息将保留为- null。 然后,channel配置可以规定每个错误日志消息的响应级别。 默认响应级别为info,channel可以规定接受错误消息的级别。 另外,channel还可以控制输出错误记录消息的形式,包括响应时间戳、cate

gory名字、严重等级等。

channel 的配置参数:

buffered: 用来规定是否刷新错误日志的文件,其参数值为,在 BIND9 中 值的参数值为 yes / no,如果设置成为 yes 那么日志消息流(一般每一个错误日志消息都是一个 Log Entry)就不会刷新,而是被保存在缓冲区中了,不会刷新到文件中。file:类似于Linux的通道概念,file 将日志输出流通过通道直接输出给文件,从上边的通用配置可以看出来可以为 file 指定文本文件的大小 - size ;指定 log 文件的版本号 - version;指定用于命名备份版本的格式 - suffix size 用来限制log文件的大小,如果log文件的大小设置超过了设定的阈值,那么系统会自动停止输出内容到文件中;versions:用于指定新创建的 log文件数存储到本地的上限值,默认的参数值为unlimited,当指定的文件的大小超过设定的size值得时候,如果没有指定 versions,那么系统就不会继续写进log;如果制定了versions,那么就会继续写入;suffix :设定用来命名log文件的方式;好像没啥用,我添加这个参数没有什么反应…; syslog:将通道定向到系统的日志文件流中; 常用的支持日志文件服务为:dameon、syslog、local6、local7;severity:用来承担定义日志严重级别的定义角色,相当于 syslog - priorities。比如说定义了日志的严重级别为 Debug,那么会输出日志事件 Debug 以上的错误到文件中。一般常用的严重等级: debug[level]、notice、warning、dynamic - 与当前服务器的日志保持一致;一般的 DNS服务器的日志等级调成 info即可;stderr:将通道指向服务器的标准错误流。这是为了在服务器作为前台进程运行时使用;print-time:yes / no / local / iso8601 / iso8061-utc 可以设定不同的输出到日志文件的时间格式;print-category:打印日志消息配置category 的信息;print-severity:打印日志的严重等级

category词组配置规则:

category <config_string> { <channel_name_string>; ... }; client:客户端请求;cname:由于是CNAME而不是a /AAAA记录 的域名服务器;config:配置文件解析和处理过程;database:与名称服务器内部用于存储区域和缓存数据的数据库相关的消息;general:没有被归类的 category 类别的其他种类的日志文件信息;lame-servers:远程服务器中的错误配置,BIND 9在解析期间试图查询这些服务器时发现;network:网络操作;notify:通知协议;queries:记录所有查询 DNS服务器的 query;query-errors:关于导致某些失败的查询的信息;xfer-in:区域传输服务器正在接收;xfer-out:区域传输服务器正在发送的信息;zoneload:加载区域和创建自动空区域;

  配置的 logging 服务会创建指定的日志文件,该日志文件从服务挂起的时候被创建,用于记录DNS服务中的相关的配置信息以及交换信息。在 Debian9 的默认存储目录为 /gldsy/cache/bind/*。你也可以为其指定存储的位置。

  如果你想要配置成一个自己的目录,首先你需要创建一个自定义的目录,比如说我指定了我想要存放日志的文件的目录: /gldsy/log/bind,如果不为这个文件使用chown命令指定权限的话会出现 isc_stdio_open ‘/gldsy/log/example.log’ failed 的报错。解决方法是: sudo chown bind:root /gldsy/log/bind

  现在我们已经基本上了解了 logging 的工作原理,其工作机制简单地来说就是,首先你需要创建一个 channel 来规定输出日志流的格式还以及日志文件名、文件版本,每一个 channel 可以被多个 category 调用使用,每一个 category 相当于一个 BIND9 内嵌的服务模块,服务模块去调用日志配置模最后输出格式化日志。

3.options

  options 的参数设置会影响整个 BIND9 DNS环境的配置,具体各部分常用到的配置参数如下:

listen-on:用于配置监听的端口以及IPv4地址,默认的监听端口为:53;listen-on-v6:用于监听 IPv6 地址以及端口;directory: 用于指定读取DNS数据文件的文件夹,默认的文件夹的路径为:/gldsy/cache/bind;dump-file:选项用来设置域名缓存数据库文件的位置,可以自己定义。默认的存储文件为:named_dump.db;statistics-file:选项用来设置状态统计文件的位置,可以自己定义。;memstatistics-file :选项用来设置服务器输出的内存使用统计信息。默认保存在 /gldsy/named/data 目录下,文件名为 named.memstats;allow-query:选项用来设置允许DNS查询的客户端地址,默认值为localhost, 可以设置为某个网段、任意地址、具体的某台主机三种情况。例如,要修改为任意地址,就在括号内的加入 any,也可以引用之前创建的 acl 内的所有地址;recursion:用于设置递归查询,一般客户机和服务器之间属于递归查询,即当客户机向DNS服务器发出查询请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机。此选项有yes和no两个值。这个选项用于设置 Failover 非常有用;dnssec-enable: 选项用来设置是否启用DNSSEC支持,DNSSEC可以用来验证DNS数据的有效性,该选项有yes和no两个值,默认值为yes。dnssec-validation:选项用来设置是否启用DNSSEC确认,默认值为yes,可以选择 auto。bindkeys-file : 用来设置内置信任的密钥文件,其默认值为 /etc/named/iscdlv.key;managed-keys-directory: 选项用于指定目录中的文件存储位置,跟踪管理 DNSSEC 密钥, 这部分的内容在后边会有介绍;forwarders:DNS转发器。用于设定该DNS解析服务器无法进行当前域名解析的情况下,进行转发解析的DNS地址,其中 8.8.8.8 和 8.8.4.4 是谷歌的免费DNS服务器的网络地址;233.5.5.5 和 233.6.6.6 是阿里云的免费DNS地址。当设置了 forwarder 的转发器之后,所有的非本域的和在缓存中无法查找到的域名查询都转发都设置的DNS转发器,由DNS转发器 完成转发操作。因此这台转发器的缓存中就记录了丰富的域名信息。因此如果遇到非本域的查询,转发器的缓存就可以做到查询,从而减少了向外部的查询流量。
forward: 选择默认的IP地址即可;rrset-order
在 BIND 9 提供的负载均衡策略建立在一个名称(域名 - Name)使用多个资源记录 ( Records ) 的情况下,其实现的轮询机制并不是传统的负载均衡服务器实现的轮询机制 - 即追踪和记录每一次应答的资源顺序;
BIND 9 实现了一个类似 List 的数据结构,将所有的资源记录填入到 一个顺序表中,这个填入的次序随机,或者根据设定的参数随机;
格式:[class class_name] [type type_name] [name “domain_name”] order ordering
如果参数没有被赋值,那么默认的赋值为: class: ANY type: ANY Name: *
参数: fixed : 根据 zone 文件定义资源记录的顺序按照顺序逐个进行解析;random: 根据 zone 文件资源记录随机返回解析记录;cyclic: 创建一个循环,循环输出资源记录;none: 完全随机的资源返回形式; 4.controls

  controls语句声明了系统管理员用于管理名称服务器远程操作的控制通道。rndc使用这些控制通道向名称服务器发送命令,并从名称服务器检索非dns结果。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。