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