Debian的BIND9配置

安装包:

apt install bind9

对bind9的一些操作命令:

systemctl status bind9 —查看bind9的状态
systemctl restart bind9 —重启bind9

粗略的日志:

/var/log/messages 它只记录了一些服务启动时的严重错误

配置目录:

/etc/bind/named.conf----------------------主配置文件
/etc/bind/named.conf.default.zones----区域文件
/etc/bind/named.conf.options------------全局配置文件

**主配置文件:/etc/bind/named.conf

root@storageserver:/etc/bind# cat named.conf
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, BEFORE you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local
include “/etc/bind/named.conf.options”; ##它们是指定了
include “/etc/bind/named.conf.local”; #####一个其他的配配置文件
include “/etc/bind/named.conf.default-zones”;

**区域文件:/etc/bind/named.conf.default.zones

root@storageserver:/etc/bind# cat named.conf.default-zones
zone “.” {
type hint;
file “/etc/bind/db.root”;
};
zone “aa.com” { --------##主区域##--------------
type master;
file “/etc/bind/master.zone”;
allow-transfer {}; ##允许谁对这个zone进行转发
};
zone “bb.aa.com” { --------##辅助区域##---------
type slave;
file “/etc/bind/slave”;
masters {192.168.10.1;}; ##主zone服务器的IP地址
};
zone “aa.com” IN { ----------##转发区域##------------
type forward;
forward first|only;
forwarders {192.168.10.1;}; ##转发的地址
};
关于子域的问题可以配合转发区域使用,解决子域无法解析主域的问题
…**

泛解析:

在zone中加入一条A记录,在想泛解析的地方加入* 这样所有的以aa.com结尾的请求,都将会解析出192.168.10.1这个ip地址
*.aa.com. A 192.168.10.1

子域:

在主域中加入一条子域的NS记录,在子域中加入转发区域
主域:aa.com.
子域:bb.aa.com.
在主域zone file里加入:
@ ns dns.bb.aa.com.
dns.bb.aa.com. A ip-address
在子域中加入一个转发zone file:
zone “aa.com” IN {
type forward;
forward only;
forwarders {主zone file的ip-address;};
};–##OK了##–

全局配置文件:/etc/bind/named.conf.options

root@storageserver:/etc/bind# cat named.conf.options
options {
directory “/var/cache/bind”; ##指定一个目录为工作目录,默认情况下所有zone存放在这个目录下。
listen-on port 53 {any;}; ##设置在53号端口上监听来自所有IP地址的请求。
recursion yes; ##服务器开启递归查寻
----------一些权限控制----------
allow-query {192.168.10.0/24; !192.168.10.1;}; ##此选项允许192.168.10.0/24对本服务器进行区域解析不允许192.168.10.1进行区域解析;
allow-query-cache { any;}; ##此选项允许所有人对DNS服务器上面的缓存进行一个请求;
allow-recursion {ip-address}; ##这个允许谁对DNS进行递归查寻;
allow-transfer { ip-address;}; ##允许谁可以对zone进行传送;
allow-update {any;}; ##允许那些客户端对数据库内容进行动态更新;主要用于DDNS;
blackhole {ip-address;}; ##黑名单,在其中的IP将会无法正常使用DNS SERVER提供的服务;
};

view视图:
1. view是一个可基于条件,让某一些IP访问某个zone文件,让某一个IP访问另一个zone.
2. 这里要特别注意的是view是一个按顺序匹配的,如果第一个view的match-clients{any;};这个条件是’any;‘的话就不会匹配下面的所有view.
3. 如果没有被指定,match-clients和match-destinations默认匹配所有地址.
4. 一旦开启view则所有zone都在view中
5. 在视图语句中定义的域只对匹配视图的用户是可用的。
6. 通过在多个视图中用相同名称定义一个域,不同域数据可以传给不同的用户。

view “view-name” {
match-clients {ip-address;}; —##匹配源IP-可用来匹配内部IP
match-destinations{ip-address;}; —##匹配目的IP-一般设为any;
recursion yes|no; —##允许符合条件的进行递归查寻或否
zone “name” IN { —##设置一个区域
type master|save; —##设置文件类型
file “/var/named/123”; —##设置文件名字
};
include “/var/named/zone.file”;
##zone区域过多时,在view中可使用这个zone的文件
};

ACL访问控制列表:

ACL可在named.conf or view中被使用,故名思有它与路由器中的access-list有异曲同工之妙,可针对IP地址进行访问控制.
acl “abc” {
192.168.10.0/24;
!192.168.10.1;
!192.168.20.0/16;
any;
};

##如上所述abc这个访问控制列表允许了192.168.10.0/24,any;拒绝了192.168.10.1,192.168.20.0/16;
很明显any是所有的意思,而192.168.10.1则是个网段.
##除了any匹配所有外还有以下

1. none --##不匹配任何主机
2. any --##匹配任何主机
3. localhost --##匹配所有的本地IP与环回口也就是127.0.0.1
4. localnets --##匹配所有的本地网络与环回接口,即服务器若有192.168.1.1/24这个IP,则匹配192.168.1.0-192.168.1.255/24加上127.0.0.1这个IP地址

BIND的日志:

在日志中主要有两个概念:通道channel)和类别category
channel:
一. 通道指定了应该向哪里发送日志数据:是发送给syslog,还是写在一个文件里,或是发送给named的标准错误输出,还是发送到位存储桶(bit bucket)
. channel中的参数主要有:

  1. file log_file; —##输出到文本##—
    logging{
    channel aa {
    file “/var/named/log_file” versions (number|unlimited) size —##versions定义了可以有多少日志文件##–
    }}; —##size定义了大小##—

  1. severity ; —##定义消息严重级别##—如果定义了error那么critical也将会被计入日志文件.
    –消息的严重级别—
    critical
    error
    warning
    notice
    info
    debug [ level ]
    dynamic

    –消息的严重级别–

  1. print-time yes; —##是否在消息中添加时间前缀,限于file日志##—

  1. print-severity yes; —##是否在消息中添加严重性前缀##—

  1. print-category yes; —##是否在消息中添加消息类别名前缀##—

  1. stderr; —##输出到标准错误输出,默认为屏幕##—

category:
. 类别规定了哪些数据需要记录


  1. 可以选择的参数
    client —##处理客户端请求。
    config —##配置文件分析和处理。
    database —##同BIND内部数据库相关的消息,用来存储区数据和缓存记录。
    default —##匹配所有未明确指定通道的类别。
    dnssec —##处理 DNSSEC 签名的响应。
    general —##包括所有未明确分类的 BIND 消息。
    lame-servers —##发现错误授权,即残缺服务器。
    network —##网络操作。
    notify —##区更新通知消息。
    queries —##查询日志
    resolver —##名字解析,包括对来自解析器的递归查询信息。
    security —##批准/非批准的请求。
    update —##动态更新事件。
    xfer-in —##从远程名字服务器到本地名字服务器的区传送。
    xfer-out —##从本地名字服务器到远程名字服务器的区传送。

在配置文件named.conf中使用logging语句来定制自己所需要的日志记录,logging语句的语法为:
logging {
channel queries { --##设置通道名字##–
file “/var/named/queries_log” versions unlimited size 20m; --##设置日志文件为queries_log 不限制版本号 每个文件最多20M大小
severity info; --##警告级别为info##–
print-time yes; --##在前缀上加入时间##–
print-severity yes; --##在前缀上添加严重性##–
print-category yes; --##添加消息类别的前缀##–
};
category queries { queries}; --##将用户查询类别输出到queries这个通道上,也就是/queries_log这个文件上.
};

----------------------下面是别人的,写的很好就抄过来了-----------------------------
配置实例
logging {
channel “default_syslog” { —##指定服务器日志记录的内容和日志信息来源##–
syslog daemon; —##发送给syslog 的daemon facility##–
severity info; --##只发送此优先级和更高优先级的信息 ##–
};
channel default_debug {
file “data/named.run”; /* 写入工作目录下的named.run 文件。注意:如果服务器用-f 参数启动,则"named.run"会被stderr 所替换。/
severity dynamic; /
按照服务器当前的debug 级别记录日志 */
};
channel xfer_in_log {
file “/var/log/named/xfer_in_log” versions 100 size 10m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
channel xfer_out_log {
file “/var/log/named/xfer_out_log” versions 100 size 10m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
channel notify_log {
file “/var/log/named/notify_log” versions 100 size 10m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
channel general_log {
file “/var/log/named/general_log” versions 400 size 100m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
channel default_log {
file “/var/log/named/default_log” versions 400 size 100m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
channel update_log {
file “/var/log/named/update_log” versions 100 size 10m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
channel query_log {
file “/var/log/query_log” versions 1024 size 1m;
severity info;
print-category no;
print-severity no;
print-time yes;
};
category queries { query_log; };
category default { default_log; };
category general { general_log; };
category xfer-in { xfer_in_log; };
category xfer-out { xfer_out_log; };
category notify { notify_log; };
category update { update_log; };
};


——————学艺不精,若有错误请指教!————————————
借鉴:
百度文库
https://wenku.baidu.com/view/4324b12c2af90242a895e529.html
其他:
https://blog.csdn.net/zhang_danf/article/details/44775921
https://blog.csdn.net/yockie/article/details/8350229
https://www.jianshu.com/p/3fbbf7f457d7
http://blog.chinaunix.net/uid-10697776-id-3154778.html
https://www.cnblogs.com/zyqduron/archive/2009/01/05/1369594.html
https://blog.csdn.net/zhu_tianwei/article/details/45103455


726421625@qq.com 如果有什么指教可以发邮件!


---------------##发布日期:2019年10月24日 15:01:39##------------------

Debian的BIND9的配置相关推荐

  1. Debian 7(Wheezy)下配置Open×××

    Debian 7(Wheezy)下配置Open××× 系统环境:Debian 7 Open×××版本:2.2.1 1.安装open*** # apt-get install open*** 2.将/u ...

  2. debian改网卡速率_[转]Debian里的网卡配置/etc/network/interfaces

    青蛙准备写一个系列文章,介绍一些Debian/Ubuntu里面常用的配置文件.当然,Linux系统中的配置文件多如牛毛,青蛙见过配过的也只是寥寥几个.不过,青蛙会把配置过的配置文件尽量详细的介绍一下, ...

  3. debian 10 buster 安装配置 elastic search 和 中文, 拼音分词

    debian 10 buster 安装配置 es 和 中文, 拼音分词 安装 测试 配置 分词 IK 分词器 拼音分词 一个完整的动态映射模板(包含geo, pinyin, IK) 安装 1, 安装j ...

  4. bind9 常用配置-正反向解析

    本文主要描述bind9的配置,主要是正向,反向配置 =================================================== BIND主要有三类配置文件:BIND的主配置 ...

  5. Bind9:配置 DNS 授权服务器和 DNS 缓存服务器

    文章目录 Bind9 安装 配置 DNS 授权服务器 配置 named.conf.options 添加正向解析 db.test.com 添加反向解析 db.1.169.183 配置 named.con ...

  6. Debian Linux上安装配置ISC DHCP服务器(AIIP全国技能大赛企业联合教程)

    DHCP动态主机分配协议来说大家都知道,但是如何在LINUX中来安装DHCP呢?一般Linux中我喜欢使用安装ISC DHCP Server来搭建DHCP iSC 服务器.好现在我们来上教程.(DHC ...

  7. Debian Linux下安装配置 Pure-ftpd

    PureFTPd 是一款专注于程序健壮和软件安全的免费FTP服务器软件(基于BSD License).其可以在多种类Unix操作系统中编译运行,包括Linux.OpenBSD.FreeBSD.Sola ...

  8. debian linux 安装smb 配置

    http://blog.csdn.net/hekunhotmail/article/details/8533747 服务器端配置过程:  1.apt-get install samba  2.修改/e ...

  9. linux dns配置bind9,DNS服务(bind9)配置过程

    DNS服务(bind9)配置过程 发布时间:2006-08-22 08:57:40来源:红联作者:晚点 作者:周立军 修改日期:2006年2月23日 安装环境:Fedora 4 bind-9.2.6. ...

最新文章

  1. 卡耐基梅隆大学计算机工程录取率,卡内基梅隆大学2020新生数据出炉!计算机学院录取率堪比藤校...
  2. Java架构-面试前必须知道的MySQL命令【explain】
  3. Openwrt中ppp拨号总结
  4. SQL注入漏洞解决方法
  5. 面试官,求你了别再问我TCP三次握手和四次挥手了(含面试题)
  6. SpringBoot基础篇Bean之条件注入之注解使用
  7. P6466-分散层叠算法(Fractional Cascading)【模板】
  8. zynq+linux固化程序,如何在 Zynq UltraScale+ MPSoC 上实现 Linux UIO 设计
  9. form表单元素设置只读
  10. python pymysql_python使用pymysql实现操作mysql
  11. golang自带的rpc 服务端
  12. SQL那些事儿(九)--oracle数据库知识体系
  13. MySQL 用户域权限相关操作
  14. 免费获取谷歌翻译api(Google Translate API)
  15. WiFi产品的一般射频电路设计
  16. 64位win7下SQL2005安装和SP3补丁安装手记
  17. C#拾遗补阙【01】:字符串
  18. win10安装visio2010出错_win10 office2013安装错误1907解决方法
  19. 【操作系统原理-陈渝老师】第十二章 文件系统
  20. python 栅格转矢量_python 矢量数据转栅格数据代码实例

热门文章

  1. 利用CSS3做出立方体
  2. 用c语言设计液位控制系统,利用壓力传感器实现液位控制系统的设计.doc
  3. AXI2Standard_handshake_bridge 设计
  4. 离散数学 ---- 命题逻辑 --- 什么是命题和命题联结词
  5. python canny 保留指定区域的轮廓线_opencv python:Canny边缘提取
  6. 笔记 - 会计学原理
  7. 新手教程--手把手教你从零开始制作一款电商必备的商城小程序
  8. Linux下面time.h时间函数总结
  9. vue2和vue3的混入
  10. Python-批量处理对文件的重命名