bind9 常用配置-正反向解析

it2024-08-15  37

本文主要描述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.conf key "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

 

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相关配置, rndckey key "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 主机名

最新回复(0)