1.DNS 查找
- 客户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器,如果名称服务器对于请求的信息具有权威性 , 会将权威答案发送至客户端,否则 , 如果名称服务器在其缓存中有请求的信息 , 则会将非权威答案发送至客户端,如果缓存中没有信息 , 名称服务器将搜索权威名称服务器以查找信息 , 从根区域开始 , 按照DNS 层次结构向下搜索, 直至对于信息有具有权威性的名称服务器 , 以此为客户端获得答案。在此情况中,名称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找。
2.DNS资源记录
- DNS 区域采用资源记录的形式存储信息。每条资源记录均具有一个类型 , 表明其保留的数据类型。
- A : 名称至 IPv4 地址
- AAAA : 名称至 IPv6 地址
- CNAME : 名称至 ”规范名称 “ ( 包含 A/AAAA 记录的另一个名称 )
- PTR : IPv4/IPv6 地址至名称
- MX : 用于名称的邮件交换器 ( 向何处发送其电子邮件 )
- NS : 域名的名称服务器
- SOA :” 授权起始 “ , DNS 区域的信息 ( 管理信息 )
3.DNS排错
- 它显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败
- NOERROR : 查询成功
- NXDOMAIN : DNS 服务器提示不存在这样的名称
- SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败
- REFUSED : DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )
4.dig输出的部分内容
- 标题指出关于查询和答案的信息,其中包括响应状态和设置的任何特殊标记(aa 表示权威答案 ,等等)
- QUESTION:提出实际的DNS查询
- ANSWER :响应(如果有)
- AUTHORITY:负责域/区域的名称服务器
- ADDITIONAL:提供的其他信息,通常是关于名称服务器
- 底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间
5.缓存DNS服务器
准备工作
在虚拟机上设置好网关以及yum源
在真机上设置好防火墙
(在虚拟机上配置网关时,如果ping不通114.114.114.114 ,检查真机防火墙是否开启,在防火墙开启的状态下输入firewall-cmd --add-masquerade
,再查看虚拟机是否能ping通114)
firewall-cmd --add-masquerade
firewall-cmd --list-all
安装高速缓存DNS软件
yum install bind -y
(安装高速缓存DNS软件)
systemctl start named
(开启高速缓存服务)
vim /etc/named.conf
(编辑配置文件)
13行 {any;}; 让53端口开放到所有接口上
19行 {any; }; 允许任何人来查询
20行 forwarders {114.114.114.114;};
33行 dnssec-validation no; 取消DNS安全性检测
systemctl restart named
(配置好后重启服务)
检测
第一次输入dig www.baidu.com
查看延迟
第二次输入dig www.baidu.com
查看延迟
在另一台虚拟机上
配置好网关:
vim /etc/resolv.conf
在其中写入:
nameserver 172.25.254.204 (刚才配置高速缓存的虚拟机的ip)
systemctl stop firewalld
关闭防火墙
检测
在之前的虚拟机上输入dig www.taobao.com
在当前的虚拟机输入dig www.taobao.com
查看延迟
可以看到配置了高速缓存后查询速度明显变快。
正向解析
1)
vim /etc/named.conf
注释主配置文件中的forwarders{ 114.114.114.114; };
2)
vim /etc/named.rfc1912.zones
写入如下图内容:
3)
cd /var/named/
cp -p(复制时加上权限) name.localhost westos.com.zone
vim westos.com.zone
在文件中写入入下图内容
4)
systemctl restart named
重启服务
5)
检测:
dig www.westos.com
dig dns.westos.com
dig dns.westos.com
在另一台虚拟机上检测:
vim /etc/resolv.conf
写入:namesever 172.25.254.104
(刚才配置好正向解析的虚拟机ip)
dig www.westos.com
dig dns.westos.com
dig bbs.westos.com
(检测时,如果在另一台虚拟机上查询不出,可能是没有关闭两台虚拟机的防火墙)
CNAME域名转换:
vim westos.com.zone
写入:
www CNAME bbs.westos.com.
bbs A 172.25.254.111
配置域名转换后,当查询www.westos.com时,会自动转换到bbs.westos.com
解析轮询:
vim westos.com.zone
写入:
www A 172.25.254.111
www A 172.25.254.100
配置解析轮询后,查询时会轮流显示配置好的ip
邮件接收
vim westos.com.zone
写入:
westos.com. MX 1 mail.westos.com.
mail A 172.25.254.200
可以指定由哪台主机接收邮件
反向解析
1)
vim /etc/named.rfc1912.zones
写入如下图内容:
2)
cp -p named.loopback 172.25.254.ptr
vim 172.25.254.ptr
写入如下图内容:
3)
systemctl restart named
重启服务
4)
测试:
dig -x 172.25.254.100
dig -x 172.25.254.111
双向解析
1)
cp -p westos.com.zone westos.com.inters
vim westos.com.inters
把里面的172改成192
2)
cp named.rfc1912.zones named.rfc1912.inters
vim named.rfc1912.inters
写入:
3)
vim /etc/named.conf
写入:
4)
systemctl restart named
5)
测试:
在服务端本身测试:dig www.westos.com
解析出192表示内网
在另一台虚拟机测试:dig www.westos.com
解析出172表示外网
主从集群
打开另一台虚拟机server当作辅助DNS,配置好网络以及yum源
注意:
- 配置yum源时,当写gpgcheck=1时,需要在写一行
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG
表示在安装软件时进行一个校验 - 以真机为yum源安装软件时,关闭真机防火墙,安装好后,打开防火墙,输入
firewall-cmd --add-masquerade
设置好防火墙
在server上安装好bind软件后,vim /etc/named.conf
编辑好主配置文件。
1)
主DNS:
vim /etc/name.rfc1912.zones
写入:
also-notify {172.25.254.204;};
systemctl restart named
重启服务
2)
辅助DNS
systemctl stop firewalld
关闭防火墙
vim /etc/resolve.conf
写入:nameserver 172.25.254.204
(辅助DNS ip)
vim /etc/name.rfc1912.zones
写入如下图内容:
systemctl restart named
重启服务
3)
测验:
改变主DNS里的信息后,重启服务,辅助DNS也改变
DNS的远程更新
1)
主DNS
vim /etc/named.rfc1913.zone
写入如下图内容:
chmod 770 /var/named
更改权限
systemctl restart named
重启服务
2)
辅助DNS
如果getenforce为 enforcing状态
getsebool -a | grep named
setsebool -P named_write_master_zones on
输入命令nsupdate
进行远程更新
更新成功
DNS基于key的远程更新
1)
主DNS
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos
cp -p /etc/rndc.key /etc/westos.key
cat Kwestos.+157.17390.key
vim westos.key
写入:
vim /etc/name.conf
写入:
include "/etc/westos.key";
vim /etc/named.rfc1912.zones
写入:
allow-update {key westos;};
systemctl restart named
重启服务
2)
测试:
辅助DNS
没有key:
不能进行更新;
scp root@172.25.254.104:/var/named/Kwestos* /mnt/
传输钥匙
传输好钥匙后进行测试:
更新成功
(注意,进行远程更新时,如果两台虚拟机时间不一致,需要进行时间同步)
DDNS 动态域名解析(花生壳)
主DNS
vim /etc/dhcp/dhcpd.conf
配置dhcp配置文件
加入如下图内容:
systemctl restart dhcpd
重启服务
辅助DNS
vim /etc/resolv.conf
写入:
nameserver 172.25.254.104
(主DNS ip)
设置主机名为news.westos.com
(注意:主DNS中不能有news这个域名的解析)
更改ip为dhcp模式
systemctl restart network
重启网络服务
ifconfig
查看ip
测试:
1)
输入dig news.westos.com
显示解析出当前辅助DNS的ip
2)
在主DNS中更改dhcp配置文件中ip的范围,
使辅助DNS的ip变化
再dig news.westos.com
解析变化为当前ip