DNS总览
权威名称服务器
存储并提供某区域(整个DNS域或DNS域的一部分)的实际数据。
权威名称服务器的类型包括:
Master:包含原始区域数据。有时称作“主要”名称服务器
Slave:备份服务器,通过区域传送从Master服务器获得的区域数据的副本。有时称作“次要”名称服务器
非权威/递归名称服务器
客户端通过其查找来自权威名称服务器的数据。递归名词服务器的类型包括仅缓存名称服务器:仅用于查找,对于非重要数据之外的任何内容都不具有权威性。
一共13台根域名服务器(全部都在美国)
高速缓存DNS为非权威DNS
/dev/random为 加密字符的存放位置
配置服务机ip和网关
使服务器能够ping通114.114.1114.114
配置高速缓存DNS
每个主机在访问一个网站都需要向外部网站进行dns解析服务,这样会加大网络负载而且浪费大量的时间。而高速缓存可以使内部主机更快的访问外部网站,我们可以让一个内部主机作为服务器去解析ip地址,在得到地址的解析后,其他内部主机可以不需要去访问外部的主机,而是访问服务器的dns,服务器可以将得到的解析地址发送给其它的内部主机,这样不仅可以节约时间,还可以减少内部的网络消耗。
服务器安装bind.X86_64
安装完服务后,查看/etc/rndc.key,发现并没有这个文件
开启named服务时,系统会卡顿,因为在实验之前,我们重置了虚拟机desktop,虚拟机中没有加密字符,我们需要打开虚拟机desktop然后输入字符或者鼠标无规则的移动来生成加密字符,加密字符生成后,停顿的服务会完成,文件/etc/rndc.key也会生成。
服务端在火墙中加入dns服务,使客户端可以访问服务器的dns,然后重新加载防火墙。
重新加载防火墙
查看防火墙允许的服务中是否有dns
修改named配置文件 使客户端可以访问dns服务
vim /etc/named.conf
32行 内部检测
添加参数18 行 forwarders {114.114.114.114; }; 访问中国的DNS
11行 允许询问的端口
17行 允许询问的主机
内部检测(若都为内部主机,将其改为no,这是为了防止外部主机才篡改内部主机的数据或文件)
若不修改火墙服务或者修改配置文件,在客户端查看网站ip时会无法连接到服务器
客户端
修改dns配置文件
vim /etc/resolv.conf
修改dns解析地址为服务机的ip
dig 查询百度ip
Status:NOERROR 表示访问没有出错
SERVER表示给客户机提供ip解析的服务器ip
第一次访问百度时间为298毫秒
第二次访问百度时时间为0毫秒
可以看到第二次访问百度时时间大大减少。
这就是高速缓存DNS的作用,可以快速的获得域名解析,而且会大大减少网络的负载。
DNS排错
Status中显示的状态显示来自DNS查找的详细信息,其中包括为什么查询失败:
NOERROR:查询成功
NXDOMAN:DNS服务器提示不存在这样的名称
SERVFAIL:DNS服务器停机或DNSSEC响应验证失败
REDUSED:DNS服务器拒绝回答(也许是出于访问控制原因)
dig输出的部分内容
标题指出关于查询和答案的信息,其中包括响应状态和设置的任何特殊标记(aa表示权威答案等)
QUESTION:提出实际的DNS查询
ANSWER:响应(如果有)
AUTHORITY:负责域/区域的名称服务器
ADDITIONAL:提供的其他信息,通常是关于名称服务器底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间
DNS资源记录
DNS区域采用资源记录的形式存储信息。每条资源记录均具有一个类型,表明其保留的数据类型。
A:名称至IPv4地址
AAAA:名称至“规范名称”
PTR:IPv4/IPv6地址名称
MX:用于名称的邮件交换器(向何处发送电子邮件)
NS:域名的名称服务器
SOA:“授权起始”,DNS区域的信息(管理信息)
DNS正向解析
vim /etc/named.conf
访问该该配置文件告诉我们去找下图所示文件
vim /etc/named.rfc1912.zones
该文件中含有维护的例子,复制一个例子并修改如图下所示
修改的例子意思为我们维护的网站为westos.com,维护网站的文件为westos.com.zone
cp -p named.localhost wstos.com
复制文件name.localhost到上图中的文件westos.com.zone中
复制时为了保证权限一定要加入-p,保证属性相同。
cd /var/named
vim /etc/westos.com.zone 修改配置文件
systemctl restart named 重启named服务
TTL 1D有效的日期为一天
@代表引号内的文字(westos.com),文加内不以“.”结尾的都会加上@代表的字符
SOA为起始授权
Serial 修改标识
Refresh 刷新周期
Retry 再次访问时间
Expire 过期时间
Minimum 最小周期
NS nameserver
完成配置后就可以找到bbs.westos.com与dns.westos.com的信息提示了
在正向解析文件中加入如下配置文件,dns在解析域名时会以轮询的工作方式来解析域名,在访问node1.westos.com时,172.25.254.112与172.25.254.222会交替解析域名(交替解析)
一次digwww.westos.com时可以看到是172.25.254.222在上的解析
下一次dig www.westos.com时则是172.25.254.112在上的解析
可以得出每次访问后,给出解析的ip都会发生更迭
MX(邮件交换器)
邮件发送使用的端口号为25
发送邮件使用smtp协议 不需要验证,直接发送即可
接受邮件使用pop3协议 查看时需要验证
修改配置文件如下
代表westos.com.的优先级为1,接收者ip为172.25.254.142.
客户端发送邮件,邮件地址为root@westos.com
发送会失败,因为接收方的25端口未打开
mailq查看邮件,mx将root@westos.com转为发送的ip172.25.254.142
反向解析
vim /etc/named.rfc1912.zones 进入配置文件查找样例
复制反向解析配置文件到172.25.254.ptr中
vim 172.25.254.ptr
systemctl resstart named 重启named服务
反向解析使用dig命令要加入-x
172.25.254.111对应的网址应为hello.westos.com
可以看到在ANSWER SECTION中给出的答案为hello.westos.com
172.25.254.222对应的网址应为node1.westos.com
可以看到解析给出的网址为node1.westos.com
DNS双向解析
让客户端访问时得到的是客户机的dns解析,服务端访问时得到服务端的解析。
复制westos.com.zone至westos.com.inter.zone
修改westos.com.inter.zone文件内所有的网络号为1.1.1
:%s/172.25.254/1.1.1/g 修改所有的172.25.254为1.1.1即可
在使用该文件进行解析时,得到的ip网络号为1.1.1.
复制/etc/named.rfc1912.zones到/etc/named.rfc1912.inter.zones并编辑文件
修改该文件中的维护文件为westos.com.inter.zone
修改配置文件/etc/named.conf
添加配置文件如下
设置的意思为在本机进行解析时,要参照named.rfc1912.zones文件;
在其他主机进行解析时则要参照named.rfc1912.zones文件。
注释文件如下(在我们添加了新的解析方式后,要注释配置文件本来的解析方式)
实验效果
使用本机解析www.westos.com
使用外部主机解析www.westos.com
辅助DNS的建立
服务机的配置
vim /etc/named.rfc1912.zones
找到我们要维护的网站并修改配置文件如下所示
辅助端的配置
安装服务
开启named服务并关闭防火墙(允许服务端可以进行服务,也可以在火墙中加入DNS服务)
修改配置文件
vim /etc/named.conf
修改接收端口号和接受接收主机并关闭内部检测(可以接受服务机的数据)
关闭内部检测
修改辅助端的/etc/named.rfc1912.zones配置文件
vim etc/named.rfc1912.zones
效果:
服务器端
客户端
可以看到在服務器端進行的解析与在辅助端进行的解析是一样的,需要注意的是,在服务器的维护文件发生更新时,辅助端并不会进行同步更新,若在服务器段进行文件更新后,需要修改配置文件的serial一栏,代表着数据的更新(最多九位)
修改服务端的配置文件并重启named服务
修改serial的数字为4,之前为3.
未修改之前的www.westos.com的域名解析为172.25.254.112与172.25.254.222;修改后其域名解析为172.25.254.11与172.25.254.22.
更新配置文件后重启服务后重新访问www.westos.com
辅助端访问www.westos.com
可以看到服务端与辅助端的解析都为172.25.254.11与172.25.254.22.这代表这数据同步成功。
Dns的远程更新
服务器
修改selinux为disabled
vim /etc/named.rfc1912.zones
修改配置文件
重启服务
更新dns
dig test.westos.com
服务器查看test.westos.com
辅助DNS查看test.westos.com
删除数据后服务器查看test.westos.com
删除数据后辅助DNS查看test.westos.com
加密远程更新dns
Systemctl restart named
ddns(dhcp+dns,动态域名解析)*
首先得完成加密更新dns在完成该实验
服务器配置
1.安装dhcp服务
2.
3.修改dns配置文件
开启dhcp服务并开启ddns上传数据功能
Systemctl start network
重启dhcpd服务
systemctl restart dcpd
客户端配置
修改客户端获取网络方式为动态获取
重启网络
systemctl restart network
查看ip
修改主机名
访问主机
重启网络后ip改变然后再次访问主机