一、dns服务器部署
1.关于dns的名词解释
dns:
domain name service(域名解析服务)是Internet上解决网上机器命名的一种系统。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP数串。域名解析服务通常使用TCP和UDP协议,其默认服务端口为53,当客户端主机需要进行域名解析时,需要编辑dns指向文件/etc/resolv.conf,在其中设定向其提供域名解析服务的服务器ip指向
#关于客户端:#
/etc/resolv.conf ##dns指向文件
nameserver 172.25.254.134
#测试:
host www.baidu.com ##地址解析命令
dig www.baidu.com ##地址详细解析信息命令,dig命令是逐级解析,如在对www.baidu.com进行解析时,先去baidu.com中查找,查找不到时去 .com 中查找,还查找不到则去 . 根域名解析服务器中查找
A记录 ##ip地址叫做域名的Address 记录
SOA ##授权起始主机
dns顶级 . 共有13台
次级 .com .net .edu .org ....
baidu.com
#关于服务端#
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服务的安装与启用
#安装#
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能够缓存外部信息到本纪
systemctl restart named #服务重新启动
DNS实验
1)在对dns域名解析服务实验之前,我们需要配置实验环境,除了真实主机之外,这里还需要两台虚拟主机westosa、westosb
2)配置虚拟主机westosa,westosb,设置其网络为172.25.254.173和172.25.254.117
3)开启真实主机防火墙的地址伪装功能(masquerade),将真实主机变为路由器(真实主机联网),使得虚拟主机westosa、westosb能够连接外网
4)临时方式ip route为westosa、westosb设置网关为真实主机ip,此时westosa、westosb可以ping通114.114.114.114
虚拟机A机
虚拟机B机
5)将westosa作为客户端主机进行域名解析测试,编辑westosa的dns指向文件/etc/resolv.conf,在其中设定向其提供域名解析服务的服务器为114.114.114.114
6)host www.baidu.com对www.baidu.com进行地址解析得到对应IP, dig www.baidu.com得到域名www.baidu.com的地址详细解析信息,NOERROR表示解析成功
7)对一个不存在的域名进行解析得到的地址详细解析信息中,NXDOMAIN表示此域名A记录不存在
3.高速缓存dns
对于一个局域网内的主机而言,要是每台主机在访问相同的域名时都进行一次查询,这样不仅会对dns服务器造成很大负担,同时也使得客户主机访问时速度很慢,此时,我们就可以在此局域网内设置一台DNS高速缓存服务器,将此局域网内所解析的域名暂时进行存储,当局域网内的主机进行域名解析时,可以直接从高速缓存中解析到ip,减轻了dns服务器的访问压力,同时也提高了解析的速度。
高速缓存实验:
1)在虚拟主机westosa中安装dns服务软件包bind,安装完成后启动dns服务named,在防火墙中添加dns服务,刷新火墙使设定生效
dnf install bind.x86_64 -y
#启用#
systemctl enable --now named
#在防火墙允许dns通过,刷新防火墙
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
2)在虚拟主机westosa中编辑dns服务的配置文件 /etc/named.conf,在本地所有网络接口上开启53端口;允许查询A记录的客户端列表;添加使用国内域名解析服务器源114.114.114.114进行数据缓存(而不是根dns服务器,节省时间);禁用dns合法检测功能使dns服务器能够缓存外部信息到本机,编写完成后重启dns服务named,高速缓存dns搭建完
3)在另一台254网段内的主机westosb中编辑dns指向文件/etc/resolv.conf,在其中设定向其提供域名解析服务的服务器为高速缓存dns172.25.254.173即虚拟主机westosa的ip,此时在westosb中dig www.taobao.com,域名解析过程耗时75ms
4)在同网段的另一台主机中重新 dig www.taobao.com 域名解析过程耗时2ms,时间大大缩短,这是因为westosb中进行过dig www.taobao.com,此时第一台主机westosa已经获得了解析资源(这里第三台内网主机可以用真实主机做,因为真实主机和两台虚拟机处于同一网段,只要将其/etc/resolve.conf里的dns解析设置为搭建高速缓存的虚拟主机westosa的ip即可实现)
4.dns的正向解析
1、dns的正向解析
1.编辑dns服务的配置文件 /etc/named.conf,注释掉使用国内域名解析服务器源114.114.114.114进行数据缓存的语句,因为我们要搭建一个对外提供dns解析服务的服务器,所以需要注释掉询问别的dns主机的内容
2.接着编辑记录维护域名的语句块的文件 /etc/named.rfc1912.zones,在该文件中编写要维护的域名,设置当前服务器类型为主dns,指定进行解析动作时读取的域名A记录文件,允许更新主机列表
3.在dns服务的数据目录/var/named中,复制域名A记录文件模板为 /etc/named.rfc1912.zones中指定读取的域名A记录文件复制模板一定要加-p参数,即同时复制文件所有者、拥有组权限设定,编辑域名A记录文件,修改@符号的值等于文件中书写的维护域名,添加正向解析A记录,编写完成后重启dns服务named
注意: 域名A记录文件中不加.后缀的字符串在解析时系统会自动补齐维护域名,因此在书写具体正向解析记录时需要加.后缀,避免dns服务补齐后缀使得解析错误
4.此时在westosb中dig书写的域名,可以得到dns服务器westosa域名A记录文件的正向解析记录中对应的IP(当同一个域名对应两个ip时,dig时两个ip会轮换)
2、dns规范域名转换
1、编辑dns服务器westosa的域名A记录文件 vim /var/named/westos.org.zone,添加规范域名转换及对应的正向解析A记录,编写完成后重启dns服务named
2、在westosb中dig www.westos.org,dns服务器westosa会先对www.westos.org进行规范域名转换,将其转换为www.a.westos.org,再进一步得到域名A记录文件的正向解析记录中域名对应的IP
3.邮件解析
发送方在发送邮件时使用的是smtp即简单邮件传输协议,smtp对外开放25端口,负责传输邮件,提供这一协议服务的软件为postfix;接收方查看邮件时使用的是imap/pop3协议,提供这一协议服务的软件为mailx。发送方在发送邮件时,输入的是接收方的域名,在邮件发送过程中需要先对接收方的域名进行解析获得接收方IP地址后,邮件才能够被发送,这一过程就叫做dns邮件记录的正向解析。
1.将westosb为邮件发送方,在westosb中安装postfix、mailx并开启postfix服务
dnf install postfix mailx -y
systemctl restart postfix.service
2.编辑dns服务器westosa的域名A记录文件vim /var/named/westos.org.zone,添加邮件解析记录MX(1表示优先级为1),编写完成后重启dns服务named
3.此时在westosb中发送邮件给westos.org,westosb将接受方域名westos.org使用dns服务器westosa中的dns邮件解析记录进行解析,此时可以在westosb中看到解析得到的接受方IP
5.dns的反向解析
1)dns反向解析与正向解析是完全独立的,在dns服务器westosa中编写/etc/named.rfc1912.zones指定反向解析ptr的维护网段和反向解析记录文件
2)在dns服务的数据目录/var/named中,复制反向解析记录文件模板为/etc/named.rfc1912.zones中指定读取的反向解析记录文件,编写该反向解析记录文件,添加反向解析PTR记录,编写完成后重启dns服务named,此时还要将westosa的/etc/resolv.conf中的域名解析指向设置为它自己的ip(使其为自己提供解析服务,才能读取编写的解析记录文件)
3)上述操作完成后在westosa中使用dig -x ip测试可以看到ip被反向解析为反向解析PTR记录中所对应的域名