2.6. bind配置详解

Date:

2018-09

2.6.1. 资源记录相关

2.6.1.1. 资源记录类型

  • A: ipv4

  • AAAA: ipv6

  • PTR: ip->fqdn

  • SOA: 起始授权记录

  • NS: 域名

  • CNAME: 别名

  • MX: 邮件

2.6.1.2. 资源记录格式

1name [ttl] IN rr_type value
2# ttl可以从全局继承
3# @引用当前区域的名字。
4# 同一个名字可以通过多条记录定义多个值,dns会轮训响应
5# 一条记录的对应位置没有写,会自动集成上一行的对应设置。

2.6.1.3. SOA记录:

name: 就是当前域的名字, 例如“display.tk.”

value: 这个value由多个部分组成,当前的fqdn,邮箱地址,还有相关设置。

FQDN :(Fully Qualified Domain Name)全限定域名:同时带有主机名和域名的名称。

样例:

1display.tk. 866400 IN SOA ns.display.tk. nsadmin.display.tk. (
2                                                    20180117 ; 序列号
3                                                    2H       ; 刷新时间
4                                                    10M      ; 重试时间
5                                                    1W       ; 过期时间
6                                                    1D       ; 否定答案的ttl时间
7                                                    )

警告

SOA记录必须是第一条记录。

2.6.1.4. MX记录

样例:

1display.tk. 86400 IN MX 10 mx1.display.tk.
2display.tk. 86400 IN MX 20 mx2.display.tk.

mx是有优先级的,数值越大优先级越低

注意

MX取值范围:

优先级值是个从0 到65535的无符号整数

2.6.1.5. A记录

样例:

1www            IN                A        1.1.1.1
2www            IN                A        2.2.2.2

上面的www是主机名,完成的名字是www.display.tk. 因为我们的域是display.tk. 可以省去后面的不写,只写主机名即可。

如果主机过多,可以使用生成器

1$GENERATE 10-20   www$        A           192.168.46.$

上面的相当于www10对应10,www11对应11等等。

如果避免用户写错主机名导致无法访问的问题,可以考虑使用泛域名解析

1*.display.tk.              IN      A        192.168.46.1

2.6.1.6. PTR记录

反向解析记录,根据IP查询对应的域名。需要将ip反过来写的。

样例:

11.46.168.192.in-addr.arpa.    IN       PTR     www.display.tk.

2.6.1.7. 别名记录(CNAME)

1www.linxupanda.com.       IN   CNAME          web.display.tk.

2.6.2. DNS子域授权

子域授权即在域名服务器添加两条记录:
  • 第一条是一条NS记录:

    SUB_ZONE_NAME IN NS SUB_NSSERVER_NAME

  • 第二条是一条A记录,说明这个子域的IP(即dns服务器的IP)

    SUB_NSSERVERNAME IN NS IP

2.6.3. DNS正向解析配置

正向解析:

就是从域名映射到指定IP地址。

2.6.3.1. 编辑默认配置文件

/etc/named.conf 配置解析:

主要配置含义:
  • listen-on:是监听配置,我们注释掉之后就是监听本机所有ip了,

  • allow-query: 这个是允许那个主机查询,注释掉就是允许所有的,如果只是想本网使用可以修改为192.168.46.0/24即可。

  • dnssec-enable: 是否支持DNSSEC开关,默认为yes。

  • dnssec-validation: 是否进行DNSSEC确认开关,默认为yes。

注意

如果不修改listen-on选项,默认只是鉴定在127.0.0.1上的。

2.6.3.2. 添加区域文件

区域文件解析:

 1[root@zzjlogin named]# cat display.tk.zone                        # 检查下区域文件
 2$TTL 1D
 3@       IN SOA  ns1     nsadmin (
 4                                0       ; serial
 5                                1D      ; refresh
 6                                1H      ; retry
 7                                1W      ; expire
 8                                3H )    ; minimum
 9        NS      ns1
10ns1     A       192.168.46.7
11www     A       192.168.46.7

“@”代表的是域名“display.tk.” 这个实在rfc1912.conf文件里面设置的。

2.6.4. DNS转发服务器

转发分为2种:
  • 全局转发: 全局配置文件设置

  • 特定域转发: 特定域内配置

转发类型2种:
  • first: 转发给特定服务器,如果他没有就在找自己找根。

  • only: 抓发给特定服务器,如果他找不到自己不继续找。

备注

请关闭dnssec功能。

我这里接着上面的实验基础上的, 上面我做了3级别的域 display.tk ,henan.display.tk ,zhengzhou.henan.display.tk

2.6.5. 互联网DNS实现

2.6.5.1. 绘制架构图

这个实现情况布局比较复杂,需要先构思一个草图,简单如下:

../../../_images/dns-internet.bmp

2.6.6. 排错思路

  1. 查看日志信息

  2. rndc querylog 启动日志临时获取查询详细信息

  3. 查看监听

  4. 查看zone权限配置

  5. 查看named.conf文件的allow-query和安全设置

  6. 使用named-checkconf和named-checkzone工具

  7. dns配置是否正确。