一、大体架构

DNS服务器其实只有一个“真正”的配置文件,即 /etc/named.conf 。其他的配置文件都是依据此配置展开的。每个域都需要两个配置文件,即正解文件和反解文件。该文件的所在位置和类型由主文件 /etc/named.conf 指定。

例如:

options {
listen-on port 53 { any; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
recursion yes;
allow-transfer { none;};
}; zone "." IN {
type hint;
file "named.ca";
}; zone "lanyue.com" IN {
type master;
file "zone.lanyue.com";
}; zone "1.168.192.in-addr.arpa" IN {
type master;
file "zone.192.168.1";
}; 注意:
(1)反解文件必须依据规范写成 "xxx.xxx.xxx.in-addr-arpa" 格式。

注意:

1.每个正解或反解可以称之为一个zone,zone总共分为三种类型。

(1)hint

hint其实就是DNS zone的root (.)。该zone最为重要。因为当DNS服务器在自己的数据库中找不到要查询的信息时,便会到hint(.)去查找。言外之意是说由 .(root) 声明的zone为hint类型的文件记录了世界上仅有的13台DNS服务器的相关信息(该文件默认为named.ca,此文件内容不需要进行任何修改)!

(2)Master

该类型的DNS数据库中,里面所有的主机名相关信息都需要管理员收到添加。修改完成后需要重启named服务数据即可更新完毕。

(3)Slave

该文件为自动更新模式,它自动从类型为master的DNS服务器中获取数据。无需管理员手动修改。

2.系统配置文件

配置方法可以查看上一篇博文。

(1)/etc/hosts

较早的主机名/域名 ==》IP对应文件。

(2)/etc/resolv.conf

该文件负责记录运营商提供的DNS服务器地址。

(3)/etc/nsswitch.conf

决定/etc/hosts和/etc/resolv.conf的优先使用权。

3.本配置文件声明还需要两个文件,即:

一个正解文件 ===> zone.lanyue.com

一个反解文件 ===> zone.192.168.1

二、正解

1.概念

根据主机名或域名查找对应IP。即

[主机名/域名] ===> [IP]

2.正解文件资源记录(RR格式)

例如:

$TTL	600
@ IN SOA master.lanyue.com. root.lanyue.com. (10000 10800 3600 604800 38400 )
@ IN NS master.lanyue.com.
master.lanyue.com. IN A 192.168.1.111
www.lanyue.com. IN CNAME master.lanyue.com.
ftp.lanyue.com. IN CNAME master.lanyue.com.
dns.lanyue.com. IN CNAME master.lanyue.com.
gov.lanyue.com. IN A 192.168.1.112
org.lanyue.com. IN A 192.168.1.113
edu.lanyue.com. IN A 192.168.1.114 注意:
(1)@代表本域,本例中为 lanyue.com。即所有的@都可以用lanyue.com代替。
(2)第二行中,第四个字段为主服务器域名,第五个字段为管理员邮件地址(邮箱中的@用 . 代替)。
(3)所有的主机地址最后均由 . 来代表互联网中的最顶层即根(root)。
(4)同一个主机可以绑定多个IP,用来实现多个功能。
(5)同一个IP可以绑定多个主机,可以为以后规划做准备。
(6)一个正解数据库中,至少要包含$TTL,SOA,NS,NS对应的A(地址)记录

(1)关键字解析

资源记录类型 字段值
SOA 起始授权机构
A(主机) IPV4地址(指明是正解)
AAAA(主机) IPV6地址
CNAME(别名) 别名
MX(邮件交换器) 负责接收域中电子邮件的主机
NS(名称服务器) 负责此域的权威名称服务器
PTR 主机名(指明是反解)

(2)SOA参数详解

字段 描述
主DNS服务器域名 完全合格域名(FQDN)
管理员邮件地址 注意:地址邮件中的@由.替代
序列号 区域文件的修订版本号
刷新时间  
重试时间  
过期时间  
最小TTL 是指区域文件缓冲记录的生存周期

三、反解

1.概念

根据IP地址得到主机名,即

[IP] ===> [主机名]

2.反解文件资源记录(RR格式)

例如:

$TTL	600
@ IN SOA www.lanyue.com. root.lanyue.com. (10000 10800 3600 604800 38400 )
@ IN NS www.lanyue.com.
111 IN PTR www.lanyue.com.
112 IN PTR gov.lanyue.com.
113 IN PTR org.lanyue.com.
114 IN PTR edu.lanyue.com. 注意:
(1)@代表本域,本例中为 lanyue.com。即所有的@都可以用lanyue.com代替。
(2)第二行中,第四个字段为主服务器域名,第五个字段为管理员邮件地址(邮箱中的@用 . 代替)。
(3)所有的主机地址最后均由 . 来代表互联网中的最顶层即根(root)。
(4)同一个主机可以绑定多个IP,用来实现多个功能。
(5)同一个IP可以绑定多个主机,可以为以后规划做准备。
(6)反解记录中,用PTR来声明是反解。
(7)只要在反解里面要用到主机名时,务必使用FQDN(完整主机名 ===> host name + domain name)格式设置。

四、启动与验证named(DNS)服务

1.启动named服务

service named restart    (red hat 或 centos 6及以前版本开启方式)
systemctl restart named.service    (centos 和 red hat 新版本启动方式)

注意:

如果是个人测试使用,可以使用

 iptables -F
setenforce 0
systemctl stop firewalld.service

三条命令关闭防火墙并且清除掉防火墙规则。如果是企业,则需要设置严谨的翻火墙规则放行需要的端口。

2.验证DNS解析

五、出现错误解决办法

DNS配置有个致命的不足,那就是对数据的格式有着非常严谨的要求,很多情况下稍有一点不用心甚至多个空格都有可能出现问题。这该怎么办,看着满屏的报错信息,又不想翻烦人的日志(如果有精力与时间,一定要好好学英语,用来提高自己根据日志信息拍错的能力。学好英语对以后编程、开发、维护等诸多方面都受益良多,毕竟美国在IT这方面确实是足够优秀的),这种情况下,我们只能根据一些优秀的拍错软件来拍错。

1. named-checkconf

named-checkconf    [options]    [文件名]

-h ===> 显示使用情况摘要并且退出。
-z ===> 执行named.conf配置文件中找到的所有主要区域的测试负载
-t <目录> ===> 将现有的目录切换至指定目录以便处理配置文件中的已包括伪命令 注意:
使用该命令是需要指定配置文件的路径,否则默认检测 /etc/named.conf 文件。

2.named-checkzone

named-checkzone    [options]    [区域名]    [区域文件名]

-q ===> 安静模式
-d ===> 启用调试
-c <类别> ===> 指定区域类别,如果没有指定就使用IN
-n <模式> ===> 检测NS记录
-k <模式> ===> 使用指定的格式(fail | warn(默认) | ignore)执行检测
-m <模式> ===> 检测MX
-M <模式> ===> 检测MX是否使用CNAME
-S <模式> ===> 检测SRV记录是否使用CNAME

Linux服务器架设篇,DNS服务器(三),正反解区域的配置的更多相关文章

  1. Linux服务器架设篇,DNS服务器(二),cache-only DNS服务器的搭建

    一.理论基础 什么是cache-only服务器?即不具备自己正反解Zone的能力,仅进行缓存或转发的DNS服务器.其实它也称不上是DNS服务器.但是也是一个必备的知识点. 这种服务器只有缓存搜索结果的 ...

  2. Windows10怎么架设局域网DNS服务器?

    已采纳 需要安装Windows组件进行设置.最好是安装服务器版本的Windows. 1. 安装DNS服务 开始—〉设置—〉控制面板—〉添加/删除程序—〉添加/删除Windows组件—〉“网络服务”—〉 ...

  3. 配置域从DNS服务器以及缓存DNS服务器

    一.域从DNS服务器的作用 我们在之前上一篇随笔里有提到,DNS服务器一般有三种类型,一个是Primary DNS Server(主DNS服务器),一个是Secondary DNS Server(从D ...

  4. 6.DNS公司PC访问外网的设置 + 主DNS服务器和辅助DNS服务器的配置

    网站部署之~Windows Server | 本地部署 http://www.cnblogs.com/dunitian/p/4822808.html#iis DNS服务器部署不清楚的可以看上一篇:ht ...

  5. Linux服务器架设篇,DNS服务器(一),基础知识

    一.端口 DNS监听端口 注意: DNS通常是以UDP协议来进行数据传输协议的,但是若没有办法查询到完整的信息是.DNS的daemon是named,它会启动TCP和UDP的53端口,所以启用DSN服务 ...

  6. Linux服务器架设篇,Windows中的虚拟机linux上不了外网怎么办?

    1.将电脑的网线口直连路由器内网接口(确保该路由器可以直接正常上网,切记不可以使用宽带连接和无线网连接). 2.在实体机电脑可以上网的前提下,在命令框窗口输入 ipconfig 3.记录下电脑以太网的 ...

  7. Linux系统下搭建DNS服务器——DNS原理总结

    2017-01-07 整理 DNS原理 域名到IP地址的解析过程 IP地址到域名的反向域名解析过程 抓包分析DNS报文和具体解析过程 DNS服务器搭建和配置 这个东东也是今年博主参见校招的时候被很多公 ...

  8. Linux查看DNS服务器及设置DNS服务器

    DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串. 一台主机的dn ...

  9. linux系统中的DNS服务器介绍

    http://lq2419.blog.51cto.com/1365130/1172269 DNS:Domain Name Service,linux上的DNS服务是基于一种软件BIND实现的.BIND ...

随机推荐

  1. C语言实现简单计算器小项目

    昨天刚安装上devc++,半夜想着练练C语言吧 于是就看到实验楼有一个计算器的项目 之前做过一次,这次写的主要是思路 首先我们先从原理思考jia,实现简单的计算器就要具备加减乘除这些,看普通的计算器也 ...

  2. Unity 随机数与随机种子

    随机数几乎应用于游戏开发的方方面面,例如,随机生成的地图,迷宫,怪物属性等,在Unity中,使用随机数非常方便: // // 摘要: // Return a random integer number ...

  3. [红日安全]Web安全Day12 – 会话安全实战攻防

    本文由红日安全成员: ruanruan 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了 ...

  4. 测试必知必会系列- Linux常用命令 - tar

    21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html 压缩一 ...

  5. js Number方法总结

    Number构造属性 Number.EPSILON // 两个可表示(representable)数之间的最小间隔. Number.MAX_SAFE_INTEGER // JavaScript 中最大 ...

  6. 什么是yarn,如何使用yarn安装项目依赖

    一.yarn的简介: Yarn是facebook发布的一款取代npm的包管理工具. 二.yarn的特点: 1.速度超快. Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载. 同时利用并行下载 ...

  7. ElasticSearch之映射常用操作

    本文案例操作,建议先阅读我之前的文章<ElasticSearch之安装及基本操作API> Mapping (映射)类似关系型数据库中的表的结构定义.我们将数据以 JSON 格式存入到 El ...

  8. json 的基础入门

    JSON是什么: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.在初始的项目开发中人们更倾向于使用xml来进行数据的传输,但当JSON出现后,开发者更倾 ...

  9. 《仙剑奇侠传柔情版》Java的简单实现(二)

    基于<仙剑奇侠传柔情版>Java的简单实现(二) 2018-12-02 by Kris 需要上次的GameFrame.class中窗口框架承载:https://www.cnblogs.co ...

  10. 收藏 | 15 个你非了解不可的 Linux 特殊字符,妈妈再也不用担心我看不懂这些符号了!

    不知道大家接触 Linux 系统有多久了,可曾了解过 Linux 中有哪些特殊的字符呢?其实啊,那些特殊字符都大有用处呢,今天的文章就给大家简单地科普一下 Linux 中你需要了解的 15 个特殊字符 ...