运维——DNS基础及实现

DNS :domain name service 域名服务 或

DNS:domain  name   system

作用:name resolving 名称解析   

解析类型:

    FQDN----->IP   正向解析

    IP----->FQDN   反向解析

    FQDN:full qualified  domain  name 完全合格(限定)域名

DNS服务器类型:

    主服务器:数据修改

    从服务器:请求数据同步

    缓存DNS服务器(转发器)


DNS服务器的实现


DNS的实现大致可分为 安装包——开启服务——配置文件——加载——实现


准备:用一台比较干净的虚拟机作为DNS服务器    IP:192.168.30.71

安装包:

1、安装包  yum install  bind  -y


如果出现以上安装错误可清理缓存  yum clean all 


然后再次安装




开启服务

  安装之后这时服务是没有开启的 ss -ntl 





配置文件

/etc/named.conf主配置文件
/etc/named.rfc1912.zones  存放域的数据库文件 等同于写入主配置文件

vim /etc/named.rfc1912.zones


注:格式可以仿照原有的格式只需增加内容即可

区域类型:

            主区域:master

            从区域:slave

            提示区域:hint

由于文件没有写绝对路径,系统默认会在/var/named/目录下去找相应的文件,所以最好把文件写在此目录下,格式可以仿照此目录下的named.localhost文件


cp /var/named/named.localhost   /var/named/zhongguo.zone

在配置此文件之前先了解此文件的格式  cat   zhongguo.zone模板如下:


模板中的每一个条目称为资源记录

资源记录格式:

 NAME    TTL    IN    RRT    VALUE

name:域名  可用@代替

TTL:生命周期 即缓存时长 开在开头定义,以下之间引用即可

IN :Internet

RRT: resource  record  type

VALUE:值


文件第一行必须是SOA(start of authority)起始授权记录格式如下:

ZONE NAME    TTL    IN    SOA    FQDN(

                                       serial序列号最长为10位

                                        refresh刷新时间

                                         retry重试时间

                                        expire过期时间

                                        minimum否定答案的TTL值

时间单位:M:分钟     H:小时    D:天    W:周

A(address):FQDN---->IPV4

AAAA:FQDN---->IPV6

PTR(pointer):IP---->FQDN

CANME(canonical  name):FQDN---->FQDN

了解模板的格式及内容后配置文件

vim /var/named/zhongguo.zone




加载

加载的方式有两种:

systemctl  reload  named   

rndc  reload



此时还可以通过两个工具对配置文件进行检查,确定是否存在错误


主配置文件检查:named-checkconf

解析库文件语法检查: named-chechkzone  "domain name"  path


两项检测都没有错误


实现

当配置文件格式和语法都没有出现错误,此时可以在另外一台主机上进行测试,

测试之前需要了解的三个测试工具

dig [-t type]  name  [@server]  [query  options]

host [-t type] name [server]

nslookup [-option]  [name|-] [options]  



错误1:连接超时如下



方案一:我们可以测试一下网络是否畅通ping 192.168.30.71


网络畅通,再去本机测试  出现同样的错误


查看属性  明显属组不同


更改属组 chgrp named zhongguo.zone


再次启动服务,状态正常


再次测试仍然失败,检查防火墙  关闭SELinux


再次在本机测试


显然在本机测试已经成功,但实现结果是在任何主机都能实现,在其他主机测试仍然失败



查看端口发现53的端口被绑定了,也就是说只能给绑定的IP解析,其他的主机不行



解决方案,只需在主配置文件中修改   vim /etc/named.conf


设置后重新加载  rndc  reload


再次在其他主机测试

用host测试



用dig测试



一个简单的DNS服务就搭建好了


没有更多推荐了,返回首页