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
解决方法:
第一步,在服务端设置火墙
第二步,因为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 nameddig - 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
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 集群 因为是做实验,所以我们先把做双向解析实验对配置文件做的更改还原辅助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中查看



