bind安装与配置文件解析

DNS-学习目录

1、环境准备

系统版本    外网地址                内网地址                 功能及作用
Centos7    ens33:192.168.10.19   ens36:192.168.87.138   DNS-Master
Centos7    ens33:192.168.10.18   ens36:192.168.87.137   DNS-Slave
Centos7    ens33:192.168.10.17   ens36:192.168.87.139   DNS-Son【子域】

2、bind软件安装

2.1、软件说明

Bind 的安装非常简单,只需要通过 yum 即可完成安装;
1、bind 提供主程序包;
2、bind-utils 提供工具包;

2.2、安装

yum install bind bind-utils -y

2.3、服务启动

systemctl start named
systemctl enable named

3、BIND配置文件介绍

3.1、主配置文件格式

3.1.1、options {} 

全局选项(监听端口、数据文件存储位置、缓存位置、权限等)

3.1.2、logging {} 

服务日志选项

3.1.3、zone . {}

自定义区域配置

3.1.4、include

包含别的文件
如:
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

3.2、主配置文件注意事项

语法非常严格;
文件权限属主 root ,属组 named ,文件权限 640

~]# id named uid=25(named) gid=25(named) groups=25(named)

3.3、/etc/named.conf【配置文件解析】

~]# cat /etc/named.conf 
options {
        listen-on port 53 { 127.0.0.1; };  // ipv4监听地址及端口
        listen-on-v6 port 53 { ::1; };     // ipv6监听地址及端口
        directory       "/var/named";      // 区域配置存储目录
        dump-file       "/var/named/data/cache_dump.db";           // DNS解析过内容的缓存文件
        statistics-file "/var/named/data/named_stats.txt";         // 静态解析文件(几乎不用)
        memstatistics-file "/var/named/data/named_mem_stats.txt";  // 内存的统计信息
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { localhost; };      // 允许谁本台DNS发起查询请求(localhost|ip|any)

        recursion yes;  //递归查询
        dnssec-enable yes;      //安全校验相关的
        dnssec-validation yes;  //安全校验相关的

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.root.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

// 控制日志输出的级别以及输出的位置
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

//默认可以对任何域名提供解析服务,因为named.ca中存储的是全球根域服务器;
zone "." IN {
        type hint;
        file "named.ca"; //区域配置文件名称
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

3.4、客户端验证DNS解析的配置

3.4.1、/etc/resolv.conf配置文件位置

 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.10.2
nameserver 192.168.87.1

3.4.2、使用 ping 命令验证解析

~]# ping www.baidu.com -c 364 bytes from 120.232.145.185 (120.232.145.185): icmp_seq=1 ttl=128 time=12.2 ms
64 bytes from 120.232.145.185 (120.232.145.185): icmp_seq=2 ttl=128 time=11.8 ms
64 bytes from 120.232.145.185 (120.232.145.185): icmp_seq=3 ttl=128 time=12.1 ms

4、自定义区域(zone)

4.1、自定义域分类

4.1.1、主机域

1、主机域其实是一个假域;
2、主机域其实是不能解析到互联网上;
3、主机域它只对局域网(内网)提供服务;

4.1.2、业务域

1、业务域一般都是真实可用的;
2、业务域则为一个真正需要对外提供服务的域名;

4.2、自定义区域配置文件解析

4.2.1、注意事项

区域 zone 文件定义在 /etc/named.conf 配置;
也可以配置在自定义的其他文件里,并在 named.conf 里 include
注意文件的权限,属主 root 属组 named 文件权限 640

4.2.2、配置文件解析

zone "example.com" IN {
type master|slave;      // 自定义区域类型
file /path/to/zonefile; // 绝对路径和相对路径
allow-update {ip|none}; // 允许哪个ip可以使用nsupdate动态更新区域文件
};

4.3、自定义区域数据库文件

4.3.1、注意事项

1、严格注意语法书写,其格式非常严格;
2、记录不准许折行书写;
3、单行记录开头不准许空格或tab开头;

4.3.2、zone数据库文件解析

~]# cat /var/named/example.com.zone
$TTL 600 ; DNS失效时间,单位秒;
example.com. IN SOA ns.example.com. qq.example.com. (
; 区域名称 IN SOA dns.example.com. 管理员邮箱
; 区域名称可以使用过@表示,@表示当前域

2021041514 ; 序列号(serial number) 十进制,不能超过10位,通常使用日期时间戳,例如2018121601
10800      ; 刷新时间(refresh time) 即每隔多久到主服务器检查一次
900        ; 重试时间(retry time) 即刷新不成功多久后重试,应该小于refresh time
604800     ; 过期时间(expire time) 当辅助DNS无法联系主DNS时,辅助DNS在多长时间内认为其缓存是有效的。
86400      ; 权威应答的ttl(netgative answer ttl) ;缓存DNS服务器可以缓存记录多长时间
)

; 给客户端返回NS记录,example.com. 域名由哪几台权威服务器提供解析
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.

; A记录,配置权威域名的真实IP地址;
ns1.example.com. IN A 10.0.0.91
ns2.example.com. IN A 10.0.0.92

; 真正的域名解析
www.example.com. IN A 1.1.1.1
web.example.com. IN A 2.2.2.2

 

posted @ 2023-05-07 15:46  小粉优化大师  阅读(163)  评论(0编辑  收藏  举报