bind9(bind9配置详解_bind9)

发布时间:2025-12-10 19:21:38 浏览次数:7

bind9配置详解_bind9-Bind9配置

bind9配置详解_bind9BIND主要有三类配置文件:BIND的主配置文件、正/反解记录清单文件和正/反解记录文件。(https://blog.csdn.net/ysdaniel/article/details/6994109)BIND的主配置文件(/var/named/chroot/etc/named.conf)中有BIND的全局设置; 正/反解记录清单文件(/var/named//chroot/etc/named.rfc1912.zones,实际上,在主配置文件named.conf指定了正/反解记录清单文件的位置。)列

本文主要描述bind9的配置,主要是正向,反向配置

===================================================

BIND主要有三类配置文件:BIND的主配置文件、正/反解记录清单文件和正/反解记录文件。

(https://blog.csdn.net/ysdaniel/article/details/6994109)

BIND的主配置文件(/var/named/chroot/etc/named.conf)中有BIND的全局设置; 正/反解记录清单文件(/var/named//chroot/etc/named.rfc1912.zones,实际上,在主配置文件named.conf指定了正/反解记录清单文件的位置。)列举了本机解析记录文件的位置/类型/性质; 正/反解记录文件(/var/named/chroot/var/named目录下)记录了具体的IP/域名的对应关系。

BIND的主配置文件

1. rndc相关配置:

什么是rndc

rndc(Remote Name Domain Controllerr)是一个远程管理bind的工具,通过这个工具可以在本地或者远程了解当前服务器的运行状况,也可以对服务器进行关闭、重载、刷新缓存、增加删除zone等操作。

rndc可以干什么

使用rndc可以在不停止DNS服务器工作的情况进行数据的更新,使修改后的配置文件生效。在实际情况下,DNS服务器是非常繁忙的,任何短时间的停顿都会给用户的使用带来影响。因此,使用rndc工具可以使DNS服务器更好地为用户提供服务。在使用rndc管理bind前需要使用rndc生成一对密钥文件,一半保存于rndc的配置文件中,另一半保存于bind主配置文件中。rndc的配置文件为/etc/rndc.conf,在CentOS或者RHEL中,rndc的密钥保存在/etc/rndc.key文件中。rndc默认监听在953号端口(TCP),其实在bind9中rndc默认就是可以使用,不需要配置密钥文件。

rndc是安全的

rndc与DNS服务器实行连接时,需要通过数字证书进行认证,而不是传统的用户名/密码方式。在当前版本下,rndc和named都只支持HMAC-MD5认证算法,在通信两端使用预共享密钥。在当前版本的rndc 和 named中,唯一支持的认证算法是HMAC-MD5,在连接的两端使用共享密钥。它为命令请求和名字服务器的响应提供 TSIG类型的认证。所有经由通道发送的命令都必须被一个服务器所知道的 key_id 签名。为了生成双方都认可的密钥,可以使用rndc-confgen命令产生密钥和相应的配置,再把这些配置分别放入named.conf和rndc的配置文件rndc.conf中。

测试

在服务器上使用rndc-confgen命令生成配置

按照提示将前key和options拷贝到/etc/rndc.conf,key和controls追加到/etc/named.conf末尾

# Start of rndc.confkey "rndc-key" {algorithm hmac-md5;secret "VcL5wC2GHCzCU7ju+ajC1Q==";};options {default-key "rndc-key";default-server 127.0.0.1;default-port 953;};# End of rndc.conf# Use with the following in named.conf, adjusting the allow list as needed:# key "rndc-key" {# algorithm hmac-md5;# secret "VcL5wC2GHCzCU7ju+ajC1Q==";# };# # controls {# inet 127.0.0.1 port 953# allow { 127.0.0.1; } keys { "rndc-key"; };# };# End of named.conf

是否还在为Ide开发工具频繁失效而烦恼,来吧关注以下公众号获取最新激活方式。亲测可用!

为防止网络爬虫,请关注公众号回复”口令”

激活idea 激活CLion DataGrip DataSpell dotCover dotMemory dotTrace GoLand PhpStorm PyCharm ReSharper ReShaC++ Rider RubyMine WebStorm 全家桶 刷新

【正版授权,激活自己账号】:Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】:官方授权 正版激活 自己使用,支持Jetbrains家族下所有IDE…

https://www.cnblogs.com/saneri/p/8038070.html

https://www.cnblogs.com/liyuanhong/articles/7400854.html

https://www.cnblogs.com/kankanhua/p/4666741.html

https://blog.51cto.com/jiayimeng/1852025

通常包括三方面内容:

Option 段 Loging段 view段

[root@localhost Packages]# cat -n /var/named/chroot/etc/named.conf

//rndc相关配置, rndckeykey "rndc-key" {        algorithm hmac-sha256;        secret "Xm5Zk2ilNOFIbmcNocCTVBhbgcuBAZtjTR32HWMSWG0=";};//rndc相关配置, 允许rndc运行的机器,使用的key值,named启用的端口controls {        inet 127.0.0.1 port 953                allow {127.0.0.1;} keys {"rndc-key";};};
options {        //listen-on port 8553 { 127.0.0.1; };   //下行表示BIND将在53端口监听,并且监听的IP为127.0.0.1,可添加监听的其它IP地址,用分号隔开        listen-on port 8553 { any; };           //若需要对所有IP进行监听,则修改为        listen-on-v6 port 8553 { ::1; };        //在IPv6环境下的监听端口为53        directory       "/data/build/bind/var/";        //工作目录设定        dump-file       "/var/named/data/cache_dump.db";        //缓存转储位置        statistics-file "/var/named/data/named_stats.txt";      //记录统计信息的文件        memstatistics-file "/var/named/data/named_mem_stats.txt";//记录内存使用的统计信息        //allow-query     { localhost; };//允许查询的主机,默认只允许本机查询        allow-query     {any;}; //若需要允许所有客户机查询,则修改为// allow-query { any; };        recursion yes;          //允许递归查询        dnssec-enable no;        dnssec-validation no;        dnssec-lookaside no;        /* Path to ISC DLV key */        bindkeys-file "/etc/named.iscdlv.key";                    //ISC DLV集文件的路径:bindkeys-file                    //bindkeys-file选项用来设置内置信任的密钥文件。                    //当dnssec-validation和dnssec-lookaside都被设为auto时,                    //这个密钥文件生效。默认配置如下:};logging {//Loging段        channel default_debug {                file "named.run";//记录了一些named的信息,如监听/解析记录等。                                        //它的位置在/var/named/chroot/var/named/data下。                severity dynamic;        };};zone "." IN {        type hint;//type只有3种参数:hint/master/slave.只有"."对应的type为hint,                          //其它zone的类型只能为master或slave,即DNS主机和DNS从机。        file "/data/build/bind/etc/named.root";//指定了解析文件的位置,解析文件中记录着域名与IP的对应关系。                                //它的位置在/var/named/chroot/var/named/data下。};//include "/etc/named.rfc1912.zones";//解析文件列表的位置

根区域文件可以从网上下载:

由于Internet根服务器的地址经常会发生变化,因此named.root也应该要随之更新。最新的根服务器列表可以从ftp://ftp.rs.internic.net/domain/下载,文件名也是named.root,它包含了国际互联网络信息中心(InterNIC)提供的最新数据。

实际上,还可以增加view段。view是解析文件的一个集合,有了view,就可以对不同网络进行不的管理策略。比如对内网和外网主机采用不同的策略,让它们查询到的解析记录不一样。

[查看“named.ca”的内容,可以找到全球13台根域服务器的主机名与IP地址]

   cat -n/var/named/chroot/var/named/named.ca 
27  ;; ADDITIONAL SECTION:    28  A.ROOT-SERVERS.NET.     3600000 IN      A       198.41.0.4    29  A.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:503:ba3e::2:30    30  B.ROOT-SERVERS.NET.     3600000 IN      A       192.228.79.201    31  C.ROOT-SERVERS.NET.     3600000 IN      A       192.33.4.12    32  D.ROOT-SERVERS.NET.     3600000 IN      A       128.8.10.90    33  E.ROOT-SERVERS.NET.     3600000 IN      A       192.203.230.10    34  F.ROOT-SERVERS.NET.     3600000 IN      A       192.5.5.241    35  F.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:500:2f::f    36  G.ROOT-SERVERS.NET.     3600000 IN      A       192.112.36.4    37  H.ROOT-SERVERS.NET.     3600000 IN      A       128.63.2.53    38  H.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:500:1::803f:235    39  I.ROOT-SERVERS.NET.     3600000 IN      A       192.36.148.17    40  J.ROOT-SERVERS.NET.     3600000 IN      A       192.58.128.30    41  J.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:503:c27::2:30    42  K.ROOT-SERVERS.NET.     3600000 IN      A       193.0.14.129    43  K.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:7fd::1    44  L.ROOT-SERVERS.NET.     3600000 IN      A       199.7.83.42    45  M.ROOT-SERVERS.NET.     3600000 IN      A       202.12.27.33    46  M.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:dc3::35

正/反向解析及申请

正向解析,就是将域名翻译为IP地址——用户访问一个完全合格域名时,DNS服务器就做了一次正向解析;

反向解析,就是将IP地址翻译为完全合格域名。

通常所说的申请受权,一般指申请正向解析授权。

那么,什么时候需要申请反向解析授权呢?在因特网上有不计其数的垃圾邮件,而多数邮件服务器有反垃圾功能,其中,检查邮件的IP反解记录就是一个有效手段。如果架设了一个邮件服务器A,但是若其它邮件服务器无法查到A的反解记录,那么 服务器A发出的邮件将视为垃圾邮件而被拒收。所以,如果架设邮件服务器,并且经常需要与国外的邮件主机通信,那么反解记录是必需的。正/反向解析的工作,可以由ISP的DNS服务器去做,也可通过申请从ISP那里得到授权,然后由自己架设的服务器完成正/反向解析。

什么是IP反向解析?DNS服务器里有两个区域,即“正向查找区域”和“反向查找区域”,反向查找区域即是这里所说的IP反向解析,其作用就是通过查询IP地址的PTR记录来获取该IP地址指向的域名,要成功得到域名就必需要有该IP地址的PTR记录。

  IP反向解析如何应用到邮件系统中来拦截垃圾邮件?请看这样一个例子:

  小刘到A公司拜访,他递上一张名片,名片上写着他来自“华夏俱乐部”和电话号码等信息,A公司觉得应该对小刘的来历做个简单调查,于是打电话到他名片上的电话号码所属电信局进行查实,如果电信局告诉A公司其电话号码不属于“华夏俱乐部”,则A公司将拒绝小刘的拜访,如果其电话号码的确属于“华夏俱乐部”,A公司可能接受小刘的拜访,然后A公司想要进一步查实,于是就打电话到“华夏俱乐部”所属注册机构查询,如果得到的答复确认该俱乐部确有此电话号码,那么A公司认为小刘身份是真实的,于是接受小刘的拜访,否则仍将拒绝。

  这个例子中,小刘好比是我们的邮件服务器,A公司是对方邮件服务器,“华夏俱乐部”就是我们邮件服务器与对方邮件服务器通信时所使用的HELO域名(不是邮件地址@后的域名),名片上的电话号码就是我们邮件服务器出口的公网IP地址。A公 司对小刘进行调查的过程就相当于一个反向解析验证过程。由此看出,反向解析验证其实是对方服务器在进行的,而如果我们没有做反向解析,那么对方服务器的反向解析验证就会失败,这样对方服务器就会以我们是不明发送方而拒收我们发往的邮件,这也就是我们排除其它原因后(如被对方列入黑名单、没有MX记录、使用的是动态IP地址等等)在未做反向解析时无法向很多邮件服务器(例如sina.com、homail.com)成功发信的原因。

  那么我们应当如何顺利做好反向解析?首先要有固定公网IP 地址、可用域名(最好不要被其它服务所用),例如您有yy.com的域名,您可以要求您的域名注册商为您添加一个 mail.yy.com的域名

  并将其A记录指向您的SMTP服务器出口公网IP地址,如:114.XXX.XXX.XXX,接着请与您的固定IP所属ISP联系要求为您的IP反向解析至mail.yy.com。完成后别忘了将您的SMTP服务器的HELO域名改为mail.yy.com,这样才可以达到目的。

  另:

  1、做好反向解析后发往sina.com的信件有可能会被转至“不明邮件夹”中,此时请您与sina.com联系,要求为您解决该问题。

  2、查看反向解析是否成功,可用如下命令:nslookup IP地址,从返回的信息中您可以看到反向解析的结果。

  3、一定要有固定公网IP地址以及真实可用域名。同时要注意反向解析的域名的A记录一定要指向该IP.

  4、对于有多个固定公网IP地址的,只要做主要出口IP的反向解析即可,不管您有多少SMTP服务器,只要是通过该IP连接至外网就将这些SMTP服务器的HELO域名改成IP反向解析之域名即可。

正/反解记录清单文件(/var/named//chroot/etc/named.rfc1912.zones,实际上,在主配置文件named.conf指定了正/反解记录清单文件的位置。)列举了本机解析记录文件的位置/类型/性质;

[root@localhost chroot]# cat -n  etc/named.rfc1912.zones     1  // named.rfc1912.zones:     2  //     3  // Provided by Red Hat caching-nameserver package     4  //     5  // ISC BIND named zone configuration for zones recommended by     6  // RFC 1912 section 4.1 : localhost TLDs and address zones     7  // and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt     8  // (c)2007 R W Franks     9  //    10  // See /usr/share/doc/bind*/sample/ for example named configuration files.    11  //    12    13  zone "localhost.localdomain" IN {//正向解析的zone定义    14          type master;    15          file "named.localhost";//指定了解析文件的位置,解析文件中记录着域名与IP的对应关系。它的位置在/var/named/chroot/var/named/data下。    16          allow-update { none; };//是否可以更新对应的zone文件    17  };    18    19  zone "localhost" IN {//正向解析的zone定义    20          type master;    21          file "named.localhost";    22          allow-update { none; };//是否可以更新对应的zone文件    23  };    24    25  zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {    26          type master;    27          file "named.loopback";    28          allow-update { none; };    29  };    30    31  zone "1.0.0.127.in-addr.arpa" IN {//反向解析的zone定义,对应的IP为127.0.0.1,注意,这里是反过来写,并且最后要加上“.in-addr.arpa”以告诉named这是一个反解zone定义。    32          type master;    33          file "named.loopback";    34          allow-update { none; };//是否可以更新对应的zone文件    35  };    36    37  zone "0.in-addr.arpa" IN {//反向解析的zone定义    38          type master;    39          file "named.empty";    40          allow-update { none; };    41  };    42

正/反解记录文件(/var/named/chroot/var/named目录下)记录了具体的IP/域名的对应关系,正/反解记录文件也是zone文件。

正向解析文件

[root@localhost named]# cat -n named.localhost     1  $TTL 1D ;缓存时间     2  @       IN SOA  @ rname.invalid. ( ;SOA是Start Of Authority 的缩写     3                                          0       ; serial 序号 如果master上的zone文件序号比slave上的大,那么数据就会同步。     4                                          1D      ; refresh 刷新Slave的时间     5                                          1H      ; retry Slave更新失败后多久再进行一次更新     6                                          1W      ; expire 失败多少次后不再尝试更新,一周     7                                          3H )    ; minimum 缓存时间,如果没有设定$TTL 这个值就可当作$TTL     8          NS      @  ;就是zone中定义的域名,如localhost.localdomain和localhost   ;NS(Name Server)缩写,NS @ 表示该zone的查询将提交给主机localhost.localdomain     9          A       127.0.0.1 ;A是正向解析的符号,后面紧跟着IP,表示localhost.localdomain对应的IP为127.0.0.1.    10          AAAA    ::1

补充一些正向解析文件和反向解析文件都有的zone文件。

反解记录和正解记录不同的地方就是PTR参数。PTR是Pointer的缩写,格式为:

IP地址 IN PTR 主机名

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477