千家信息网

          DNS的基础配置

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,一、DNS简介1、DNS:Domain Name System(域名系统),是互联网上IP和域名相互解析的分布式层级结构的数据库。DNS的出现能够使用户更好的更加方便的访问互联网,不用记IP地址来访问
千家信息网最后更新 2025年12月02日          DNS的基础配置

一、DNS简介

1、DNS:Domain Name System(域名系统),是互联网上IP和域名相互解析的分布式层级结构的数据库。DNS的出现能够使用户更好的更加方便的访问互联网,不用记IP地址来访问互联网,可以通过人类更容易记住域名来访问互联网。

2、DNS是一种C/S架构的服务器,客户机用于一个名字对应的地址,而服务器是为客户机提供查询的,查询由两种机制:迭代查询和递归查询

迭代查询:一般是DNS服务器与DNS服务器之间的查询方式

递归查询:一般是客户机与服务器之间的查询方式

3、DNS是通过解析记录来过建成的DNS数据库,数据库中解析记录又分为正向解析和反向解析。其中正向解析是从域名到IP的过程,而反向解析是从IP到域名的过程。那么解析记录主要有哪些呢?

常见的记录:

A:就是地址(address)的缩写,后面记录的是ipv4的地址

AAAA:对应的是Iipv6的地址

NS:后面对应的是DNS服务器

SOA:就是开始验证(start of autority)的缩写

PTR:后面对应的是反向解析到的主机名

CNAME:主机别名,一个主机可以有多个主机名。

MAX:邮件服务器的地址

下面我们通过几个简单的配置来认识DNS服务

二、正向解析的配置

zhanglang。com域为例用ns1.zhanglang.com服务器:

实验前准备:安装bind软件包

yum install bind

(1) 定义区域

在主配置文件中(/etc/named.conf)或主配置文件辅助配置文件(/etc/named.rfc1912.conf)中实现;

修改主配置文件 vim /etc/named.conf


修改/etc/named.rfc1912.conf,添加zone(在/var/named/*.zone的文件)


(2) 建立区域数据文件(主要记录为A或AAAA记录)

在/var/named目录下建立区域数据文件;

文件为:/var/named/zhanglang.com.zone

(3)权限及属组修改:


# chown :named /var/named/zhanglang.com.zone

# chmod o= r/named/zhanglang.com.zone

(4)检查语法错误:

(5)让服务器重载配置文件和区域数据文件

# rndc reload

(6)测试


正向解析配置成功


二、配置解析一个反向区域

(1) 定义区域

在主配置文件中或主配置文件辅助配置文件中实现;

修改主配置文件 vim /etc/named.conf

修改/etc/named.rfc1912.conf,添加zone(在/var/named/*.zone的文件)

(2) 定义区域解析库文件(主要记录为PTR)vim /var/named/192.168.zone

(3)权限及属组修改:

# chgrp named /var/named/192.168.zone

# chmod o= /var/named/192.168.zone

(4)检查语法错误和重载:

# named-checkzone 168.192.in-addr.arpa /var/named/192.168.zone

# named-checkconf

# rndc reload

(5)测试


三、主从服务器:

在示例一我们以ns1.zhanglang.com做了正向解析主服务器,那么我们再以ns2.zhanglang.com作从服务器,我们直接修改ns2.zhanglang.com配置就行了。如下:

(1)修改配置文件

修改主配置文件 vim /etc/named.conf

(2)定义区域 vim /etc/named.rfc1912.conf

(3)检查语法错误和重载:

# named-checkconf

# rndc reload


(4)测试

在从服务器上解析

解析成功


四、子域

正向解析区域授权子域的方法:

父域配置

(1) 在/var/named目录下建立区域数据文件;vim /var/named/zhanglang.com.zone

(2)检查语法错误和重载:

# named-checkzone zhanglang.com /var/named/zhanglang.com.zone

# named-checkconf

# rndc reload

子域配置

(1)在子域配置

主配置文件(开启监听端口)vim /etc/named.conf


创建域vim /etc/named.rfc1912.zones



(3)创建域解析库 vim /var/named/ops.zhanglang.com.zone


(4)修改权限和组



(5)检查语法错误和重载:

# named-checkzone ops.zhanglang.com /var/named/ops.zhanglang.com.zone

# named-checkconf

# rndc reload

(6)检测

子域检查

父域检测

成功配置子域授权


五、定义转发(在子域定义转发):

注意:被转发的服务器必须允许为当前服务做递归

在上例中的子域服务器配置转发

(1) 配置文件 /etc/named.rfc1912.zones

(2)语法检查和重载

(3) 检测

检测父域"zhanglang.com"

解析成功


六、基本安全控制

acl:访问控制列表;把一个或多个地址归并一个命名的集合,随后通过此名称即可对此集全内的所有主机实现统一调用;

bind有四个内置的acl

none:没有一个主机;

any:任意主机;

local:本机;

localnet:本机的IP所属的网络;


常见访问控制指令

allow-query {}; 允许查询的主机;白名单;

allow-transfer {}; 允许向哪些主机做区域传送;默认为向所有主机;应该配置仅允许从服务器;

allow-recursion {}; 允许哪此主机向当前DNS服务器发起递归查询请求;

allow-update {}; DDNS,允许动态更新区域数据库文件中内容;

1、allow-query 在主服务器上(ns1.zhanglang.com)


(1) 主配置文件vim /etc/named.conf 创建访问控制列表(控制为只能192.168.109.101主机能解析)


(2) 创建域vim /etc/named.rfc1912.zones

(3)与法检测和重载

(4)检测(测试时所用的命令和服务器地址一致

192.168.109.101检测

解析成功

192.168.109.100检测

解析失败,控制设置成功


2、allow-transfer 在主服务器上(ns1.zhanglang.com)

(1) 主配置文件vim /etc/named.conf 创建访问控制列表(控制为只能192.168.109.100主机只能区域传输)


(2) 创建域vim /etc/named.rfc1912.zones

(3)与法检测和重载


(4)测试

192.168.109.101检测


传输失败

192.168.109.100测试


传送成功,控制设置成功

3、allow-recursion 在主服务器上(ns1.zhanglang.com)

(1) 主配置文件vim /etc/named.conf 创建访问控制列表(控制为只能192.168.109.101/24网段递归


(2)与法检测和重载


(4)测试

192.168.109.101检测


成功

4、 allow-update {}; DDNS,允许动态更新区域数据库文件中内容;

一般我们是不允许动态更新区域数据库文件中内容;因为允许动态更新区域数据库文件中内容会造成安全风险;所以我们禁止动态更新

编辑配置文件:vim /etc/named.rfc1912.zones

在每个zone中加上 allow-update { none; };即可



然后重载服务就可以了




























0