1.关于dns的名词解释
dns: domain name service(域名解析服务)
#关于客户端:#
/etc/resolv.conf ##dns指向文件
nameserver 172.25.254.73
#测试:
host www.baidu.com ##地址解析命令
dig www.baidu.com ##地址详细解析信息命令
A记录 ##ip地址叫做域名的Address 记录
SOA ##授权起始主机
dns顶级 . 13
次级 .com .net .edu .org ....
#关于服务端#
bind ##安装包
named ##服务名称
/etc/named.conf ##主配置文件
/var/named ##数据目录
端口 ##53
关于报错信息:
(1)no servers could be reached ##服务无法访问(服务开启?火墙?网络?端口?)
(2)服务启动失败 ##配置文件写错 journalctl -xe查询错误
(3)dig 查询状态
NOERROR ##表示查询成功
REFUSED ##服务拒绝访问
SERVFAIL ##查询记录失败,(dns服务器无法到达上级,拒绝缓存)
NXDOMAIN ##此域名A记录在dns中不存在
2.dns服务的安装与启用
有Apache网络端:
服务端:
#安装#
dnf install bind.x86_64 -y
#启用#
rpm -ql bind ##查询服务位置
查询到named服务是默认开启了回环接口0.127.0.053端口,除了本机以外的主机不能用
vim /etc/named.conf
listen-on port 53 { any; }; ##在本地所有网络接口上开启53端口
allow-query { any; }; ##允许查询A记录的客户端列表
dnssec-validation no; ##禁用dns检测使dns能够缓存外部信息到本机
forwarders { 114.114.114.114; }; ##当前主机所有DNS获取渠道为114.114.114.114
systemctl restart named
测试端:vim /etc/resolv.conf ##dns指向文件
再用另一台主机 dig www.baidu.com速度更快,因为服务端上已经有缓存
4.dns的正向解析
vim /etc/named.conf 注释掉forwarders { 114.114.114.114; };指定zone文件
切换到/var/named/下 name.localhost是A记录解析文件的模板; -p复制了权限
vim westos.org.zone
$TTL 1D #TIME-TO-LIVE(dns地址保存时间长度)
@ IN SOA dns.westos.com. root.westos.com #SOA授权起始(Start of Authority)
systemctl restart named
vim /etc/resolv.conf写入nameserver 172.25.254.200
测试:dig www.westos.org 可以看到解析信息
如果查询其他地址会报错,因为没有域名解析
为了方便管理,将之前的zone 文件写入专门文件
vim /etc/named.conf 删除掉之前写的文件
vim /etc/named.rfc1912.zones 写入
systemctl restart named
dig www.westos.org #查询正向解析
规范域名
vim westos.org.zone ###CNAME 为别名指向
systemctl restart named
邮件解析(发送端要把例如lee@163.com解析为ip地址--mx;接收端要ip地址解析为具体邮箱--ptr)
vim westos.org.zone 发送邮件采用smtp协议
systemctl restart named
5.dns的反向解析 (解析ip为域名)
vim /etc/named.rfc1912.zones写入
vim 172.25.254.ptr
6.dns的双向解析
实验环境设定:
客户端:vim /etc/sysconfig/network-scripts/ifcfg-ens3 设置双网段172.25.254和172.25.0
vim /etc/resolv.conf
服务端:2个网段的ip 172.25.254.200 和172.25.0.200
vim /etc/sysconfig/network-scripts/ifcfg-ens3
cp -p westos.org.zone westos.org.inter
vim westos.org.inter ##A记录文件
vim /etc/named.rfc1912.inters ##子配置文件
vim /etc/named.conf ##主配置文件
systemctl restart named
测试:
分别在2个网段的主机中作同样域名的地址解析
得到的A记录不同
7.dns集群
DNS集群是在使用DNS时,为了缓解服务器的压力,会使用多个辅助DNS服务器来分担主DNS的工作
实验环境设定:
主dns(主机200)
dnf install bind -y
firewall-cmd --add-service=dns
systemctl enable --now named
vim /etc/named.conf
修改 listen-on port 53 { any; };
allow-query { any; };
dnssec-validation no;
vim /etc/named.rfc1912.zones写入
also-notify { 172.25.254.119; }; ##主动通知辅助dns主机
vim westos.org.zone写入
vim /etc/resolv.conf
systemctl restart named
辅助dns(主机100)
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
type slave; ##dns状态位辅助dns
masters { 172.25.254.200; }; ##主dns
file "slaves/westos.org.zone"; ##同步数据文件
vim /etc/resolv.conf
测试:在主dns中vim westos.org.zone修改A记录
2021112901 ; serial ##每次修改A记录文件需要
在辅助dns也会实时同步
8.dns的更新
vim /etc/rndc.key
dns基于key更新的方式
dnssec-keygen ##生成DNSSEC(安全扩展)密钥文件
dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST westos
-a 使用的加密算法 -b 密钥长度 -n 指定密钥类型
Kwestos.+163+12978.key ##公有密钥
Kwestos.+163+12978.private ##私有密钥
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key
vim /etc/named.conf
vim /etc/named.rfc1912.zones
systemctl restart named
nsupdate ##动态dns更新
update add hello.westos.org 86400 A 172.25.254.210 ####新增A记录
##删除A记录
systemctl restart named
9.ddns(dhcp+dns)
DDNS是用户的动态ip地址映射到一个固定的域名解析服务上去
服务端:
dnf install dhcp-server -y
vim /etc/dhcp/dhcpd.conf
systemctl restart dhcpd
测试端:
hostnamectl 查看域名
vim /etc/sysconfig/network-scripts/ifcfg-ens3
动态获取ip
dig node100.westos.org 可以得到正确解析