概述

公司业务发展需要,需要搭建公司内部DNS服务器。根据以往的运维经验,业务代码中是禁止出现ip地址,通通走域名解析。这样就可以避免因ip变动而对业务产生影响。

dns服务器提供三种服务类型(你对dns服务真的熟悉吗)(1)

一、环境描述

操作系统版本:

CentOS Linux release 7.6.1810 (Core)

软件版本:

bind-9.11.4-9.P2.el7.x86_64

此次配置架构:

单机版本

内部域名设定:

ab.com

二、域名解析的基本概念

2.1 域名解析的方法

2.2 DNS的工作体系

(1)域名空间

DNS域名空间是命名机制,它提供DNS数据库的层次树状结构,由根域、顶级域、子域与主机名组成,如下图所示:

dns服务器提供三种服务类型(你对dns服务真的熟悉吗)(2)

DNS域名空间最上面的是根域,可以用圆点“.”表示,它由InterNIC(因特网网络信息中心)管理。根域下定义了许多顶级域,如下表所示。

dns服务器提供三种服务类型(你对dns服务真的熟悉吗)(3)

(2)DNS名称服务器

DNS名称服务器有以下三种类型:

主要名称服务器负责存储授权区域的一切数据且管理该区域和对区域具有解析功能。

辅助名称服务器可以从主名称服务器中转移一整套区域信息。并且辅助名称服务器会定时从主名称服务器中更新数据,同时可以接受客户机的查询.

缓存服务器负责临时存储主名称服务器己解析过域名记录

(3)客户机

DNS客户机利用一个简单的程序或子程序库,从服务器中提取信息以响应对域名空间的主机查询

2.3 DNS的解析过程

(1)正向解析

当DNS客户端向DNS服务器查询IP地址时,或DNS服务器在向另外一台DNS服务器查询IP地址时,有以下三种查询方式:


(2)反向解析

反向解析可以让DNS客户端根据IP地址查询其主机名,DNS服务器利用in-addr-arpa反向指针,将一个ip地址指向域名

三、安装及配置

3.1 软件安装

yum install bind* -y

生成的文件列表如下:

rpm -ql bind-9.11.4-9.P2.el7.x86_64 /etc/logrotate.d/named /etc/named /etc/named.conf /etc/named.iscdlv.key /etc/named.rfc1912.zones /etc/named.root.key /etc/rndc.conf /etc/rndc.key /etc/rwtab.d/named /etc/sysconfig/named /run/named ... ... ... /var/named /var/named/data /var/named/dynamic /var/named/named.ca /var/named/named.empty /var/named/named.localhost /var/named/named.loopback /var/named/slaves


3.2 dns配置

3.2.1 修改配置文件/etc/named.conf

修改的选项如下:

listen-on port 53 { any; }; //监听地址改为any allow-query     { any; }; //查询范围改为any

新增选项如下:

1、配置转发器

forwarders {8.8.8.8;}; forward first; //配置转发器,在本机无法解析时,转到8.8.8.8的dns上

2、新增zone声明

... zone "ab.com" IN {       type master;       file "ab.zone"; ...


3.2.2 创建区域文件

$TTL 1D ab.com.     IN SOA @ admin@ab.com. (                                        0       ; serial                                       1D     ; refresh                                       1H     ; retry                                       1W     ; expire                                       3H )   ; minimum       NS     ns.ab.com. ns     A       192.168.1.158 www     A       192.168.1.158 api     A       192.168.1.158 ftp     CNAME   www.ab.com.

参数说明:


3.3 启动服务并测试

3.3.1 启动服务

service named start

3.3.2 用工具进行测试

linux下常用的客户端有nslookup,dig等

下面演示一下通过nslookup测试dns服务器的连通性.

[root@localhost]# nslookup > Server 192.168.1.158 Default server: 192.168.1.158 Address: 192.168.1.158#53 > www.ab.com Server:         192.168.1.158 Address:        192.168.1.158#53 Name:   www.ab.com Address: 192.168.1.158 > ftp.ab.com Server:         192.168.1.158 Address:        192.168.1.158#53 ftp.ab.com canonical name = www.ab.com. Name:   www.ab.com Address: 192.168.1.158 > >

通过上面的输出可以看出dns正向解析正常。

,