赞
踩
1 DNS是什么?
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。
根域名服务器知道所有顶级域名的域名服务器,对应于每个顶级域名,它都有两条资源记录:一条是NS资源记录,域名字段是该顶级域名,值字段是该顶级域名解析的域名服务器的域名;另一条是A资源记录,用来指明该域名服务器的域名对应的IP地址。综合使用这两条记录,就可以知道对该域下的某个域名解析,应该继续去哪个IP地址的域名服务器寻找。第二层的域名服务器类似地存放各个第三层域名服务器的指针。第三层的域名服务器会出现A、CNAME、MX等类型的资源记录。每个域名服务器都有根域名服务器的地址记录。
最后,一个需要域名解析的用户先将该解析请求发往本地的域名服务器。如果本地的域名服务器能够解析,则直接得到结果,否则本地的域名服务器将向根域名服务器发送请求。依据根域名服务器返回的指针再查询下一层的域名服务器,依此类推,最后得到所要解析域名的IP地址。
1 服务端部署dnf服务器
实验的前提是:服务端和客户端主机可上网,可通过真机充当路由器,在测试主机上添加真机的网关
服务端:172.25.254.144
客户端:172.25.254.244
(1)下载客户端软件:dnf install bind.x86_64
(2)bind软件的信息
主配置文件:/etc/named.conf
子配置文件(区域配置文件): /etc/named.rfc1912.zones
数据目录:/var/named
服务端口:53
设置服务开机启动并立即生效:systemctl enable --now named.service
(3)编辑DNS配置文件:vim /etc/resolv.conf
,写入权威dns解析的ip
(4)将dns服务加入防火墙允许的服务
firewall-cmd --permanent --add-service=dns ##开放dns服务
firewall-cmd --reload ##在不改变火墙状态的情况下重新加载火墙
firewall-cmd --list-all ##列出火墙的服务信息
(5)查看dns的53端口是否对客户端开启:netstat -antlupe |grep named
(6)编辑主配置文件:/etc/named.conf
(7)重启服务:systemctl restart named
2 客户端测试
客户端主机的IP:172.25.254.244
(1)编辑客户端主机的DNS配置文件:vim /etc/resolv.conf
写入高速缓存dns的ip
(2)测试
关于报错信息:
1- no servers could be reached ##服务无法访问(服务开启?火墙?网络?端口?)
2- 服务启动失败 ##配置文件写错可通过journalctl -xe命令,或者/var/log/messages日志文件查询错误
3- dig 查询状态
NOERROR ##表示查询成功
REFUSED ##服务拒绝访问
SERVFAIL ##查询记录失败,(dns服务器无法到达上级,拒绝缓存)
NXDOMAIN ##此域名A记录在dns中不存在
服务端dig www.163.com
dig www.163.com
,因为服务端已经缓存了www.163.com
的信息,所以客户端可以直接从服务端的高速缓存中直接获取信息根据主机名(域名)查找对应的IP地址
实验前编辑vim /etc/named.conf : 删除forwarders所在行
(1)复制正向解析模板文件
cp -p /var/named/named.localhost /etc/named/westos.com.zone
注意:复制模板时一定要加 “-p” 连同权限一起复制
(2)配置解析数据信息:/etc/named.rfc1912.zones
(3)然后编辑域名的区域数据文件:vim westos.com.zone
$TTL 1D #TIME-TO-LIVE(dns地址保存时间长度)
serial #域名版本序列号,每次修改A记录文件需要变更此参数的值,否则更改不生效
refresh #刷新时间(辅助dns)
retry #重试时间(辅助dns)
expire #过期时间(辅助dns,查询失败过期停止对辅助域名的应答)
minimum #A记录最短有效期
A记录 #ip地址叫做域名的Address 记录
SOA #授权起始主机
(4)重启服务:systemctl restart named
(5)测试:客户端
如果DNS的解析结果包含多条A记录,那么DNS服务器会对A记录结果轮询返回,实现了负载均衡
(1)编辑域名的区域数据文件:vim westos.com.zone
(2)测试
(1)服务端下载支持发送邮件和接受邮件的软件
systemctl start postfix.service
(2)编辑域名的区域数据文件:vim westos.com.zone
(3)开放邮件服务的端口
vim /etc/postfix/main.cf
打开网络接口
(4)重启服务
systemctl restart named ##重启dns服务
systemctl restart postfix.service ##重新
(5)发送邮件并查看邮件内容
(6)测试
根据IP地址查找对应的主机名(域名)
(1)配置区域数据文件:/etc/named.rfc1912.zones
(2)配置解析数据信息
/var/named/named.loopback
cp -p /var/named/named.loopback /var/named/172.25.254.ptr
vim 172.25.254.ptr
(3)重启服务:systemctl restart named
(4)测试:dig -x 172.25.254.222
双向解析则为域名和IP地址的双向转化,可以实现内网和外网访问同一网页时,可以得到不同的IP,从而区分内网还是外网。
(1)实验前的准备:网卡有两个ip地址
(2) 生成外网段的配文件:cp -p westos.com.zone westos.com.inter.zone
(3)编辑外网段的区域数据库文件:vim westos.com.inter.zone:
(4)编辑外网段的区域数据库文件:vim westos.com.zone
(5)编辑bind的主配置文件:vim /etc/named.conf
(6)重启服务:systemctl restart named
(7)客户机:vim /etc/resolv.conf
在客户机1和2的dns配置文件中加入和客户端网段相同的服务端ip
(8)测试
1 什么是主DNS服务器和辅助DNS服务器?
设置DNS服务器时,服务器管理员可以选择是将DNS服务器指定为主服务器还是辅助服务器。在某些情况下,服务器可以是一个区域的主要服务器,也可以是另一个区域的辅助服务器。
主服务器托管控制区域文件,该文件包含域的所有权威信息(这意味着它是重要信息的可信源,例如域的IP地址)。包括重要信息,例如域的IP地址以及负责该域管理的人员。主服务器直接从本地文件获取此信息。只能在主服务器上更改区域的DNS记录,然后主服务器才能更新辅助服务器。
辅助服务器包含区域文件的只读副本,它们通过称为区域传输的通信从主服务器获取其信息。每个区域只能有一个主DNS服务器,但它可以有任意数量的辅助DNS服务器。无法在辅助服务器上更改区域的DNS记录,但在某些情况下,辅助服务器可以将更改请求传递到主服务器。
2 为什么要有辅助DNS服务器?
主DNS服务器包含所有相关资源记录,并且可以处理域的DNS查询,但是标准(并且许多注册商需要)至少具有一个辅助DNS服务器。这些辅助服务器的好处是它们在主DNS服务器关闭时提供冗余,并且它们还有助于将请求的负载分配到域,以便主服务器不会过载。
3 辅助DNS的部署
(1)将上述实验更改的配置文件恢复:
vim /etc/named.conf
(2)编辑区域配置文件:vim /etc/named.rfc1912.zones
172.25.254.244
主机
(3)重启服务:systemctl restart named
(4)将172.25.254.244主机作为辅助dns服务器
在防火墙中添加dns服务
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload ##更改的信息生效
vim /etc/named.conf
vim /etc/named.rfc1912.zones
(5)重启主dns,然后重启辅助dns,发现多了slaves模块中多了区域数据库文件,表示辅助dns服务器部署成功
(6)测试
如果在主dns服务器端更改区域数据库文件westos.com.zone
,主dns服务端重启dns服务器后,主dns的信息更新,因为辅DNS只是服务在重启的时候才会同步,只同步唯一的一次,所以当主DNS中的数据发生变化时,辅DNS中的内容不会变
(1)给这个目录的用户组一个写权限:chmod 770 /var/named/
(2)主dns:编辑区域配置文件vim /etc/named.rfc1912.zones
(3)辅助dns:
nsupdate是一个动态DNS更新工具,可以向DNS服务器提交更新记录的请求,它可以从区文件中添加或删除资源记录,而不需要手动进行编辑区文件
nsupdate
server 172.25.254.144 ##发送请求到servername服务器的port端口,如果不指定则发送请求到给当前主机的主DNS服务器
update add test.westos.com 86400 A 172.25.254.131 ##添加一条资源记录
send ##将先前输入的命令发送到DNS服务器上.
(4)主dns测试:dig test.westos.com
(5)辅助dns删除主dns记录:update delete test.westos.com 86400 A 172.25.254.131
,删除主dns的A记录
(6)主dns: rm -rf westos.com.zone.jnl
实验前的环境:
rm -rf westos.com.zone*
1 服务端:主dns服务器
(1) dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST westos
:生成密钥
(2)在服务端将key模板复制到自己的key文件中并进行修改
cp -p /etc/rndc.key /etc/westos.key
vim /etc/wesots.key
(3)编辑主配置文件:vim /etc/named.conf
(4)编辑区域数据文件:vim /etc/named.rfc1912.zones
(5)发送钥匙和锁到客户端辅助dns
2 客户端:辅助dns服务器
(1)客户端向服务端发送更改dns的信息时,出现以下的错误,原因是两台主机的时钟不同步
同步时钟:date --set="$(ssh root@172.25.254.144 date)"
(2)更新主dns的信息
nsupdate -k Kwestos.+163+16607.private
server 172.25.254.144 ##发送到主dns
update add test.westos.com 86400 A 172.25.254.131
send
quit
(3)测试:主dns服务器dig新添加的域名,查看是否更新成功
动态域名解析服务,是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候,客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务程序负责提供DNS服务并实现动态域名解析。就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样域名就可以始终解析到非固定IP的服务器上,互联网用户通过本地的域名服务器获得网站域名的IP地址,从而可以访问网站的服务。
服务端
(1)下载dhcp软件
(2)复制dhcp的配置模板文件
cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcp.conf
(3)重启服务
systemctl restart named ##重启dns服务
systemctl restart dhcpd ##重启dhcp服务
客户端
(1)更改客户端ip的获取方式:vim /etc/sysconfig/network-scripts/ifcfg-enp1s0
(2)设置主机名(在westos.com域中):hostnamectl set-hostname lee.westos.com
(3)重启网卡
nmcli connection reload
nmcli connection down enp1s0
nmcli connection up enp1s0
(4)测试: dig lee.westos.com
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。