bind安装与配置文件解析
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