域名解析-Linux-DNS服务器的搭建

理论知识

  1. TCP/IP网络使用IP地址标识计算机,一台计算机要访问其他计算机,必须知道目标计算机的IP地址。通过转换机制可以把更易于记忆的计算机名转换为IP地址。目前将计算机名转换为IP地址的方式主要有:hosts文件、NIS、DNS

  2. host文件
    /etc/hosts 存放了主机名和IP地址的映射表,计算机首先通过在该文件搜索来匹配主机名和IP地址。

  3. NIS (Network Information System)
    将主机列表用作NIS主机数据库,客户机可以查询到他们所需的主机列表信息。

  4. DNS (Domain Name Server)
    主机名和IP地址的转换机制,使用一种分层的分布式数据库来处理Internet上的成千上万个主机和IP的转换。
    在这里插入图片描述

  5. 名称解析方法的使用顺序
    在CentOS 7 系统中,主机尝试名称解析方法的顺序与 /etc/nsswitch.conf 文件有关。
    具体执行顺序由"hosts:"关键字指明,默认配置如下:
    hosts:file dns myhostname
    其顺序为:hosts->DNS->本主机名
    其中:files 表示在 /etc/hosts文件中查找
    dns 表示使用DNS服务器查找
    myhostname 表示匹配本机的主机名

Internet上的主机命名方式

  1. 分层的名称结构,最顶层只有一个域,成为根域
  2. 根域之下是统一命名的顶级域,如.com、.net、.cn等
  3. 顶级域下可申请二级域名,二级域名下还可以在划分子域。主机和服务可在二级域或子域下注册名称。
    在这里插入图片描述

DNS服务器的搭建

  1. Bind
    Linux 下架设DNS服务器通常是使用BIND(Berkeley Internet Name Domain Service)
    bind: DNS服务器软件包
    bind-utils: DNS测试工具,包括dig,host与nslookup等
    bind-chroot: 使BIND运行在指定的目录中的安全增强工具

  2. BIND 的安装和启动
    安装:yum install bind bind-utils -y
    启动:systemctl start named
    systemctl enable named
    查看域名服务器的运行状态:rndc status

  3. 配置DNS 服务器实现高速缓存
    BIND 安装后,默认提供一个仅高速缓存服务器的配置
    BIND 主配置文件为 /etc/named.conf
    默认通过根提示文件 /etc/named.ca 获取根服务器来解析外部域名
    转发器指定把客户端的查询请求转发到到远程DNS服务器(一般为ISP提供的DNS服务器,可提高查询效率)。
    修改配置文件:
    在这里插入图片描述
    检查:named -checkconf
    重启DNS服务:systemctl restart named
    测试DNS服务:nslookup www.baidu.com 192.168.1.10

创建主DNS服务器正向查找区域

  1. 每台DNS服务器可以管理多个区域,管理的区域需要在 /etc/named.conf 文件中定义
    在这里插入图片描述

  2. 创建区域数据文件
    区域数据文件名必须与/etc/named.conf中定义的一致
    区域数据文件建立:
    cd /var/named
    cp -a named.localhost mydomain.com.zone
    修改区域数据文件:
    vim mydomain.com.zone
    在这里插入图片描述
    检查区域数据文件语法错误:
    named-checkzone mydomain.com /var/named/mydomain.com.zone
    重启DNS服务:
    systemctl restart named

创建主DNS服务器反向查找区域

  1. 定义反向查找区域
    在这里插入图片描述
    区域数据文件名必须与 /etc/named.conf中定义的一致
    建立区域数据文件:
    cd /var/named
    cp -a named.loopback 1.168.192.zone
    修改区域数据文件:
    vim 1.168.192.zone
    在这里插入图片描述
    检查区域数据文件语法错误:
    named-checkzone 1.168.192 /var/named/1.168.192.zone
    重启DNS服务:
    systemctl restart named

测试主DNS服务

  1. 为客户端指定DNS服务器
    在网络设备配置文件中将DNS服务器改为192.168.1.10:
    vim /etc/sysconfig/network-scripts/ifcfg-<网卡名>
    添加下行内容:
    DNS1=192.168.1.10
    重启网络服务:
    systemctl restart network
    查看客户端使用的DNS服务器:
    cat /etc/resolv.conf

  2. nslookup非交互式操作
    nslookup命令支持交互和非交互式操作。
    测试正向解析:
    nslookup www.mydomain.com
    nslookup ftp.mydomain.com
    nslookup mail.mydomain.com
    测试其他DNS服务器,例如8.8.8.8:
    nslookup www.163.com 8.8.8.8
    查询结果:
    在这里插入图片描述
    测试反向解析:
    nslookup 192.168.1.100
    nslookup 192.168.1.110
    在这里插入图片描述

  3. nslookup交互式操作
    进入交互式界面:
    nslookup
    查看nslookup 所有设置,子命令set all
    在这里插入图片描述
    查询主机名www.mydomain.com:
    在这里插入图片描述
    查询mydomain.com区域授权记录:
    在这里插入图片描述
    查询1.168.192.in-addr.apra 区域授权记录:
    在这里插入图片描述
    查询邮件交换器记录:
    在这里插入图片描述
    查询名称服务器记录:
    在这里插入图片描述
    退出nslookup交互式操作:
    在这里插入图片描述

DNS常见故障排除

  1. 服务器端故障
    (1)配置错误
    检查DNS主配置文件 /etc/named.conf语法错误:
    named-checkconf -z
    检查DNS区域数据文件语法错误:
    named-checkzone <区域名称> <区域文件>
    (2)防火墙配置错误
    先关闭防火墙功能,再判断故障现象是否消除:
    systemctl stop firewalld
    (3)辅助DNS服务器区域更新故障
    序列号问题:
    设置主服务器上的序列号小于辅域名服务器不能从区域进行更新。
    比较主/辅服务器的序列号:
    dig <域名> SOA @<主DNS服务器IP> +noall +answer
    dig <域名> SOA @<辅助DNS服务器IP> +noall +answer
    区域传输配置问题:
    检查区域传输配置
    主DNS服务器上,检查区域定义中的forwarders 选项是否配置正确。
    辅助DNS服务器上,检查区域定义中的masters选项是否配置正确。

  2. 客户端故障
    可根据测试命令nslookup、dig执行获取的信息判断故障原因
    (1)客户端的DNS服务器配置是否正确:
    cat /etc/resolv.conf
    (2)网络连接是否正确:
    ping <DNS服务器IP地址>
    (3)Windows 系统DNS客户端故障
    确认DNS Client(后台服务)是否运行。
    DNS客户端缓存引起的故障:
    查看DNS客户端缓存:
    ipconfig /displaydns
    刷新DNS客户端缓存:
    ipconfig /flushdns

  3. 外部域名查询故障
    配置有转发器
    测试转发是否能解析外部域名:
    nslookup www.baidu.com <转发器IP地址>
    未配置转发器
    检查zone"."定义的根示文件名和路径是否正确,根示文件名内容是否正确。

配置辅助DNS服务器

  1. 配置区域传输
    在这里插入图片描述
    在主DNS服务器上增加区域传输配置:
    vim /etc/named.conf
    在这里插入图片描述
    打开正向查找区域数据文件:
    vim /etc/var/named/mydomain.com.zone
    在这里插入图片描述
    打开反向查找区域数据文件:
    vim /etc/var/1.168.192.zone
    在这里插入图片描述
    重启DNA服务:
    systemctl restart named

  2. 定义辅助DNS服务器正向查找区域
    辅助DNS服务器的安装、基本配置与主DNS服务器一样。
    定义辅助正向查找区域mydomain.com
    vim /etc/named.conf
    在这里插入图片描述

  3. 定义辅助DNS服务器反向查找区域
    定义辅助反向查找区域1.168.192.in-addr.arpa:
    在这里插入图片描述
    启动DNS服务:
    systemctl start named
    验证区域传输:
    ls -l /var/named/salves
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44932745/article/details/105314584