1.关于dns的名词解释
dns: domain name service(域名解析服务)
关于客户端:
/etc/resolv.conf ##dns指向文件
host www.baidu.com ##地址解析命令
dig www.baidu.com ##地址详细解析信息命令
A记录 ##ip地址叫做域名的Address 记录
SOA ##授权起始主机
dns顶级 . 13个
次级 . com .net .edu .org …
baidu.com
关于服务端
bind ##安装包
named ##服务名称
/etc/named.conf ##主配置文件
/var/named ##数据目录
端口 ##53,要在 firewallctl 里面与dns服务一起添加
关于报错信息:
1.no servers could be reached ##服务无法访问(服务开启?火墙?网络?端口?)
2.服务启动失败 ##配置文件写错 journalctl -xe查询错误
3.dig 查询状态
NOERROR ##表示查询成功
REFUSED ##服务拒绝访问
SERVFAIL ##查询记录失败,(dns服务器没联网无法到达上级;拒绝缓存)
NXDOMAIN ##此域名A记录在dns中不存在
2.dns服务的安装与启用
#安装#
dnf install bind.x86_64 -y
#启用#
systemctl enable --now named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
vim /etc/named.conf
11行 listen-on port 53 { any; }; ##在本地所有网络接口上开启53端口
19行 allow-query { any; }; ##允许查询A记录的客户端列表
34行 dnssec-validation no; ##禁用dns检测,使dns能够缓存外部信息到本纪
3.高速缓存dns
在访问 114.114.114.114进行 dig www.qq.com 是,两台主机每次的访问不会因为已经访问过二缩短查询时间:
为了让后续访问的人缩短访问时间,提升速率,应搭建高速缓存dns,将外网的内容缓存之本机,后续的主机访问时直接从本机取,大幅提升速率。
dns 服务器上 :
vim /etc/named.conf
访问淘宝第一次:
第二次:
直接变成了 0msec 速度非常快。
4.dns的正向解析
vim /etc/named.rfc1912.zone
zone “westos.com” IN { ##维护的域名
type master; ##当前服务器位主dns
file “westos.com.zone”; ##域名A记录文件
allow-update { none; }; ##允许更新主机列表
};
cd /var/named/
cp -p named.localhost westos.com.zone
www CNAME westos.a.westos.com. ##规范(内部)域名
westos.a A 192.168.0.111 ##正向解析记录
westos.a A 192.168.0.112
westos.com. MX 1 192.168.0.20. ##邮件解析记录
@ 符的值为 zone “westos.com” IN 中的 westos.com
systemctl restart named
dig www.westos.com #查询正向解析
dig -t mx westos.com #邮件解析记录查询
5.dns的反向解析
用 dig -x ip地址 进行反向解析:
vim /etc/named.rfc1912.zones
cd /var/named/
cp -p named.loopback 192.168.0.ptr
vim 192.168.0.ptr
systemctl restart named
测试:
dig -x 192.168.0.11
6.dns的双向解析
实验环境:
客户端2台
192.168.0网段
172.25.254网段 ##ifconfig ens160:0 172.25.254.30 netmask 255.255.255.0
服务端1台2个网段的ip
192.168.0.20
172.25.254.20 ##ifconfig ens160:0 172.25.254.20 netmask 255.255.255.0
在192.168.0网段的客户主机中
vim /etc/resolv.conf
nameserver 192.168.0.20
在172.25.254网段的客户主机中
vim /etc/resolv.conf
nameserver 172.25.254.20
两台主机同时 dig www.westos.com,发现出来的结果都是192.168.0网段的结果:
所以为了让172网段主机dig 出172网段的地址解析,应如下配置:
配置方式:
cd /var/named/
cp -p westos.com.zone westos.com.inter
vim westos.com.inter
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inters
vim /etc/named.rfc1912.inters
vim /etc/named.conf
systemctl restart named
测试:
分别在2个网段的主机中作同样域名的地址解析得到的A记录不同
7.dns集群
辅dns:
下载安装 bind;
vim /etc/named.conf
vim /etc/named.rfc1912.zones
zone “westos.com” IN {
type slave; ##dns状态位:辅助dns
masters { 192.168.0.20; }; ##主dns
file “slaves/westos.com.zone”; ##同步数据文件
};
文件内容时数据,用hexdump 查看
且 /var/named/下已经自动同步了文件 westos.com.zone
firewall-cmd --permanent --add-service=dns
尝试访问辅dns的解析:主dns地址为192.168.0.20,辅dns为192.168.0.30
当数据更新时,辅dns需要删除slaves下的文件重启服务,内容就更新了
再次访问就是更新后的内容,
这样操作太过于麻烦,所以我们:
在主dns:
vim /etc/named.conf
also-notify { 192.168.0.30; }; ##每次更新后主动通知的辅助dns主机
vim /var/named/westos.com.zone 再次更改
2020031402 ; serial ##每次修改A记录文件需要变更此参数的值,
systemctl restart named
更新成功。
8.dns的更新
dns基于ip地址的更新:
在dns中设定:
vim /etc/named.rfc1912.zones
allow-update { 192.168.0.10; }; ##允许指定客户端更新westos域
systemctl restart named
测试:
在192.168.0.10中
update add hello.westos.com 86400 A 192.168.0.111 ##新增A记录
且/var/named/下产生了相应的文件
update delete hello.westos.com ##删除A记录
dns基于key更新的方式:
先还原基于ip的配置。
dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST westos #-a加密方式,-b 加密长度 -n 类型
cp -p /etc/rndc.key /etc/wesots.key
vim /etc/wesots.key
vim /etc/named.conf
vim /etc/named.rfc1912.zones
systemctl restart named
讲key文件上传至192.168.0.10主机:
测试更新:
更新成功。
9.ddns(dhcp+dns)
dnf instsall dhcp-server -y 安装dhcp
vim /etc/dhcpd/dhcpd.conf 配置文件
dns的key更新
测试:
设定测试主机网络工作方式为dhcp
设定主机名称test.westos.com
重启网络
dig test.westos.com
可以得到正确解析
用dhcp更改一次ip,再次访问,成功。
则,ddns搭建成功。