企业DNS服务器搭建
基本实验环境
(1)配置好两台主机的网络,保证网络畅通,设置好IP
(2)配置好两台主机的软件仓库
dns服务器部署 1.关于dns的名词解释 dns: domain name service(域名解析服务) 2.客户端,主机端设置 关于客户端: /etc/resolv.conf ##dns指向文件 nameserver 192.168.2.100 测试: host www.baidu.com ##地址解析命令 dig www.baidu.com ##地址详细解析信息命令 A记录 ##ip地址叫做域名的Address 记录 SOA ##授权起始主机 dns顶级 . 13 次级 .com .net .edu .org .... 关于服务端 dns服务的安装与启用 #安装# dnf install bind.x86_64 -y #启用# systemctl enable --now named bind ##安装包 named ##服务名称 /etc/named.conf ##主配置文件 /var/named ##数据目录 端口 ##53
客户端:
服务端:
3. 关于报错信息: 1.no servers could be reached ##服务无法访问(服务开启?火墙?网络?端口?) 2.服务启动失败 ##配置文件写错 journalctl -xe查询错误 3.dig 查询状态 NOERROR ##表示查询成功 REFUSED ##服务拒绝访问 SERVFAIL ##查询记录失败,(dns服务器无法到达上级,拒绝缓存) NXDOMAIN ##此域名A记录在dns中不存在
(1)报错
no servers could be reached
no servers could be reached
解决方法:
第一步,在服务端设置火墙
第二步,因为dns端口只在回环接口上打开,只设置了火墙不设置不端口还是使用不了的,所以我们要更改配置文件使它在主机开放的端口上打开
(2)解决 dig 查询状态时的报错 REFUSED(服务拒绝访问)
解决方法:修改配置及文件第19行,将 localhost本机改为any所以人,修改完后重启
然后测试,查询成功
4.高速缓存dns vim /etc/named.conf 34 dnssec-validation no; ##禁用dns检测,使dns能够缓存外部信息到本地 20 forwarders { 114.114.114.114; }; ##从国外转到国内查询
我们可以做一个正常缓存和高速缓存的比较
正常缓存
修改配置文件 vim /etc/named.conf 修改文件后一定要重启
高速缓存
5.dns的正向解析
正向解析前注释掉我们刚才更改的配置文件中的114.114.114.114解析,我们自己来做解析
编辑子配置文件 vim /etc/named.rfc1912.zones zone "westos.org" IN { ##维护的域名 type master; ##当前服务器位主dns file "westos.org.zone"; ##域名A记录文件 allow-update { none; }; ##允许更新主机列表 };
cd /var/named/ cp -p named.localhost westos.org.zone #生成A记录文件 vim westos.org.zone $TTL 1D #TIME-TO-LIVE(dns地址保存时间长度) @ IN SOA dns.westos.com. root.westos.org. ( #SOA授权起始(Start of Authority) 0 ;serial #域名版本序列号 1D ;refresh #刷新时间(辅助dns) 1H ;retry #重试时间(辅助dns) 1W ;expire #过期时间(辅助dns,查询失败 过期停止对辅助域名的应答) 3H ) ;minimum #A记录最短有效期 NS dns.westos.org. dns A 192.168.2.100 www A 192.168.2.110 ##规范域名
编辑完成后 dig www.westos.org 查询正向解析
dns的正向解析中常用的数据类型
vim westos.org.zone $TTL 1D @ IN SOA dns.westos.org. root.westos.org. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.westos.org. dns A 192.168.2.100 www CNAME www.a.westos.org. www.a A 192.168.2.111 ##内部解析 www.a A 192.168.2.222 ##内部解析 westos.org. MX 1 192.168.2.100. ##邮件解析 systemctl restart named
(1) dig www.westos.org ##
查询正向解析
查询正向解析
(2) dig -t mx westos.org ##邮件解析记录查询
5.dns的反向解析 vim /etc/named.rfc1912.zones zone "0.168.192.in-addr.arpa" IN { type master; file "192.168.0.ptr"; allow-update { none; }; };
vim /etc/named.rfc1912.zones cp -p named.loopback 192.168.2.ptr vim 192.168.2.ptr $TTL 1D @ IN SOA dns.westos.org. root.westos.org. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.westos.org. dns A 192.168.2.100 111 PTR mail.westos.org. systemctl restart named
dig -x 192.168.2.111 ##反向解析查询
6.dns的双向解析 实验环境: 主机1中1.1.1.200网段 1.1.1.200网段 ##ifconfig ens160 1.1.1.200 netmask 24 vim /etc/resolv.conf # Generated by NetworkManager nameserver 1.1.1.100
服务端1台2个网段的ip 192.168.2.100 1.1.1.100 ##ifconfig ens160 1.1.1.100 netmask 24 vim /etc/resolv.conf # Generated by NetworkManager nameserver 1.1.1.100
双网卡主机中配置方式: cd /var/named/ cp -p westos.com.zone westos.com.inter vim westos.com.inter $TTL 1D @ IN SOA dns.westos.org. root.westos.org. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.westos.org. dns A 1.1.1.100 www CNAME www.a.westos.org. www.a A 1.1.1.111 www.a A 1.1.1.222 westos.org. MX 1 1.1.1.100.
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter vim /etc/named.rfc1912.inter 29 zone "westos.org" IN { 30 type master; 31 file "westos.org.inter"; 32 allow-update { none; }; 33 };
vim /etc/named.conf 51 /* 52 zone "." IN { 53 type hint; 54 file "named.ca"; 55 }; 56 57 include "/etc/named.rfc1912.zones"; 58 */ 59 60 view localnet { 61 match-clients { 192.168.2.0/24; }; ##192网段指向/etc/named.rfc1912.zones 这个文件解析 62 zone "." IN { 63 type hint; 64 file "named.ca"; 65 }; 66 include "/etc/named.rfc1912.zones"; 67 }; 68 69 view all { 70 match-clients { any; }; ##其他网段指向/etc/named.rfc1912.inter 这个文件解析 71 zone "." IN { 72 type hint; 73 file "named.ca"; 74 }; 75 include "/etc/named.rfc1912.inter"; 76 }; 77 78 include "/etc/named.root.key"; 79 systemctl restart named
测试:
分别在2个网段的主机中作同样域名的地址解析 得到的A记录不同 其他网段1.1.1.200
192网段
7.
dns集群
dns集群
因为是做实验,所以我们先把做双向解析实验对配置文件做的更改还原
辅助nds主机slave dns: dnf install bind -y firewall-cmd --add-service=dns
vim /etc/named.conf listen-on port 53 { any; }; allow-query { any; }; dnssec-validation no;
vim /etc/named.rfc1912.zones 29 zone "westos.org" IN { 30 type slave; ##dns状态位辅助dns 31 masters { 192.168.2.100; }; ##主dns 32 file "slaves/westos.org.zone"; ##同步数据文件 33 }; 34 systemctl restart named
辅助dns主机中测试
dns主机中对主dns做出更改
辅助dns数据没有更新
编辑主机中的dns,使辅助dns与主机中的数据同步更新
vim /etc/named.rfc1912.zones 29 zone "westos.org" IN { 30 type master; 31 file "westos.org.zone"; 32 allow-update { none; }; 33 also-notify { 192.168.2.150; }; 34 }; vim /var/named/westos.org.zone $TTL 1D @ IN SOA dns.westos.org. root.westos.org. ( 202205311; serial ##这个数字的更改,辅助dns才会收到信号,同步主机dns 的数据,一般会设置成时间,方便查看比如202205311 2022年5月31日第一次更改 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.westos.org. dns A 192.168.2.100 www CNAME www.a.westos.org. www.a A 192.168.2.11 www.a A 192.168.2.22 westos.org. MX 1 192.168.2.100. systemctl restart named dns辅助主机测试看数据是否同步: dig www.westos.org
dns辅助主机测试数据已经同步
8.dns的更新 dns基于ip地址的更新: 在主dns中设定: vim /etc/named.rfc1912.zones 29 zone "westos.org" IN { 30 type master; 31 file "westos.org.zone"; 32 allow-update { 192.168.2.150; }; ##允许指定客户端更新westos域 33 also-notify { 192.168.2.150; }; 34 35 }; systemctl restart named
辅助dns主机192.168.2.150测试: nsupdate > server 192.168.2.100 > update add westos.westos.org 86400 A 192.168.2.111 ##新增A记录 > send > update delete hello.westos.com ##删除A记录 > send dns主机查看 dig westos.westos.org
新增A记录
dns主机查看
删除A记录
dns主机查看
dns基于key更新的方式: dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST westos ##生成密钥 cp -p /etc/rndc.key /etc/westos.key ls Kwestos.+163+34595.key Kwestos.+163+34595.private cat Kwestos.+163+34595.private Private-key-format: v1.3 Algorithm: 163 (HMAC_SHA256) Key: p7ki1YtawQYYgP94CGpKLQ== Bits: AAA= Created: 20220530183239 Publish: 20220530183239 Activate: 20220530183239 vim /etc/westos.key key "westos-key" { algorithm hmac-sha256; secret "p7ki1YtawQYYgP94CGpKLQ=="; };
vim /etc/named.conf 44 include "/etc/westos.key";
vim /etc/named.rfc1912.zones zone "westos.org" IN { 30 type master; 31 file "westos.org.zone"; 32 allow-update { key westos; }; 33 also-notify { 192.168.2.150; }; 34 35 }; systemctl restart named
主dns将密钥发送给辅助dns scp * root@192.168.2.150:/mnt 辅助dns查看新建 ls /mnt/ Kwestos.+163+34595.key Kwestos.+163+34595.private nsupdate -k /mnt/Kwestos.+163+34595.key 测试 辅助dns中新增A记录 nsupdate -k /mnt/Kwestos.+163+34595.key > server 192.168.2.100 > update add westos.westos.org 86400 A 192.168.2.111 > send 主dns中查看 dig westos.westos.org
主dns将密钥发送给辅助dns
辅助dns中新增A记录
主dns中查看