Debian的BIND9的配置
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中的参数主要有:
- file log_file; —##输出到文本##—
logging{
channel aa {
file “/var/named/log_file” versions (number|unlimited) size —##versions定义了可以有多少日志文件##–
}}; —##size定义了大小##—
- severity ; —##定义消息严重级别##—如果定义了error那么critical也将会被计入日志文件.
–消息的严重级别—
critical
error
warning
notice
info
debug [ level ]
dynamic
–消息的严重级别–
- print-time yes; —##是否在消息中添加时间前缀,限于file日志##—
- print-severity yes; —##是否在消息中添加严重性前缀##—
- print-category yes; —##是否在消息中添加消息类别名前缀##—
- stderr; —##输出到标准错误输出,默认为屏幕##—
category:
一. 类别规定了哪些数据需要记录
- 可以选择的参数
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的配置相关推荐
- Debian 7(Wheezy)下配置Open×××
Debian 7(Wheezy)下配置Open××× 系统环境:Debian 7 Open×××版本:2.2.1 1.安装open*** # apt-get install open*** 2.将/u ...
- debian改网卡速率_[转]Debian里的网卡配置/etc/network/interfaces
青蛙准备写一个系列文章,介绍一些Debian/Ubuntu里面常用的配置文件.当然,Linux系统中的配置文件多如牛毛,青蛙见过配过的也只是寥寥几个.不过,青蛙会把配置过的配置文件尽量详细的介绍一下, ...
- debian 10 buster 安装配置 elastic search 和 中文, 拼音分词
debian 10 buster 安装配置 es 和 中文, 拼音分词 安装 测试 配置 分词 IK 分词器 拼音分词 一个完整的动态映射模板(包含geo, pinyin, IK) 安装 1, 安装j ...
- bind9 常用配置-正反向解析
本文主要描述bind9的配置,主要是正向,反向配置 =================================================== BIND主要有三类配置文件:BIND的主配置 ...
- Bind9:配置 DNS 授权服务器和 DNS 缓存服务器
文章目录 Bind9 安装 配置 DNS 授权服务器 配置 named.conf.options 添加正向解析 db.test.com 添加反向解析 db.1.169.183 配置 named.con ...
- Debian Linux上安装配置ISC DHCP服务器(AIIP全国技能大赛企业联合教程)
DHCP动态主机分配协议来说大家都知道,但是如何在LINUX中来安装DHCP呢?一般Linux中我喜欢使用安装ISC DHCP Server来搭建DHCP iSC 服务器.好现在我们来上教程.(DHC ...
- Debian Linux下安装配置 Pure-ftpd
PureFTPd 是一款专注于程序健壮和软件安全的免费FTP服务器软件(基于BSD License).其可以在多种类Unix操作系统中编译运行,包括Linux.OpenBSD.FreeBSD.Sola ...
- debian linux 安装smb 配置
http://blog.csdn.net/hekunhotmail/article/details/8533747 服务器端配置过程: 1.apt-get install samba 2.修改/e ...
- linux dns配置bind9,DNS服务(bind9)配置过程
DNS服务(bind9)配置过程 发布时间:2006-08-22 08:57:40来源:红联作者:晚点 作者:周立军 修改日期:2006年2月23日 安装环境:Fedora 4 bind-9.2.6. ...
最新文章
- 卡耐基梅隆大学计算机工程录取率,卡内基梅隆大学2020新生数据出炉!计算机学院录取率堪比藤校...
- Java架构-面试前必须知道的MySQL命令【explain】
- Openwrt中ppp拨号总结
- SQL注入漏洞解决方法
- 面试官,求你了别再问我TCP三次握手和四次挥手了(含面试题)
- SpringBoot基础篇Bean之条件注入之注解使用
- P6466-分散层叠算法(Fractional Cascading)【模板】
- zynq+linux固化程序,如何在 Zynq UltraScale+ MPSoC 上实现 Linux UIO 设计
- form表单元素设置只读
- python pymysql_python使用pymysql实现操作mysql
- golang自带的rpc 服务端
- SQL那些事儿(九)--oracle数据库知识体系
- MySQL 用户域权限相关操作
- 免费获取谷歌翻译api(Google Translate API)
- WiFi产品的一般射频电路设计
- 64位win7下SQL2005安装和SP3补丁安装手记
- C#拾遗补阙【01】:字符串
- win10安装visio2010出错_win10 office2013安装错误1907解决方法
- 【操作系统原理-陈渝老师】第十二章 文件系统
- python 栅格转矢量_python 矢量数据转栅格数据代码实例