Linux服务器架设篇,DNS服务器(三),正反解区域的配置
一、大体架构
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服务器(三),正反解区域的配置的更多相关文章
- Linux服务器架设篇,DNS服务器(二),cache-only DNS服务器的搭建
一.理论基础 什么是cache-only服务器?即不具备自己正反解Zone的能力,仅进行缓存或转发的DNS服务器.其实它也称不上是DNS服务器.但是也是一个必备的知识点. 这种服务器只有缓存搜索结果的 ...
- Windows10怎么架设局域网DNS服务器?
已采纳 需要安装Windows组件进行设置.最好是安装服务器版本的Windows. 1. 安装DNS服务 开始—〉设置—〉控制面板—〉添加/删除程序—〉添加/删除Windows组件—〉“网络服务”—〉 ...
- 配置域从DNS服务器以及缓存DNS服务器
一.域从DNS服务器的作用 我们在之前上一篇随笔里有提到,DNS服务器一般有三种类型,一个是Primary DNS Server(主DNS服务器),一个是Secondary DNS Server(从D ...
- 6.DNS公司PC访问外网的设置 + 主DNS服务器和辅助DNS服务器的配置
网站部署之~Windows Server | 本地部署 http://www.cnblogs.com/dunitian/p/4822808.html#iis DNS服务器部署不清楚的可以看上一篇:ht ...
- Linux服务器架设篇,DNS服务器(一),基础知识
一.端口 DNS监听端口 注意: DNS通常是以UDP协议来进行数据传输协议的,但是若没有办法查询到完整的信息是.DNS的daemon是named,它会启动TCP和UDP的53端口,所以启用DSN服务 ...
- Linux服务器架设篇,Windows中的虚拟机linux上不了外网怎么办?
1.将电脑的网线口直连路由器内网接口(确保该路由器可以直接正常上网,切记不可以使用宽带连接和无线网连接). 2.在实体机电脑可以上网的前提下,在命令框窗口输入 ipconfig 3.记录下电脑以太网的 ...
- Linux系统下搭建DNS服务器——DNS原理总结
2017-01-07 整理 DNS原理 域名到IP地址的解析过程 IP地址到域名的反向域名解析过程 抓包分析DNS报文和具体解析过程 DNS服务器搭建和配置 这个东东也是今年博主参见校招的时候被很多公 ...
- Linux查看DNS服务器及设置DNS服务器
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串. 一台主机的dn ...
- linux系统中的DNS服务器介绍
http://lq2419.blog.51cto.com/1365130/1172269 DNS:Domain Name Service,linux上的DNS服务是基于一种软件BIND实现的.BIND ...
随机推荐
- mongo请求超时
no_cursor_timeout=True参数的使用 实例: import pymongo handler = pymongo.MongoClient().db.col with handler.f ...
- node 微信授权 获取openid
node获取微信授权拿到openid 需要了解的网站 1.微信授权. 先说一下流程(一张图代替所有): 流程步骤: 1.用户同意,获取code. 2.通过code获取网页授权access_toke ...
- 基于 Roslyn 实现一个简单的条件解析引擎
基于 Roslyn 实现一个简单的条件解析引擎 Intro 最近在做一个勋章的服务,我们想定义一些勋章的获取条件,满足条件之后就给用户颁发一个勋章,定义条件的时候会定义需要哪些参数,参数的类型,获取勋 ...
- <keep-alive> 大量异步数据嵌入在循环体内,会有大量相同异步请求,可以缓存下拉用。
<keep-alive> 大量异步数据嵌入在循环体内,会有大量相同异步请求,可以缓存下拉用.
- Javaweb编程
首先是题目要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分) 3性别:要 ...
- Java 注解简介
一,什么叫注解 用一个词就可以描述注解,那就是元数据,即一种描述数据的数据.所以,可以说注解就是源代码的元数据.比如,下面这段代码: 1 2 3 4 @Override public String t ...
- Fink SQL 实践之OVER窗口
问题场景 Flink SQL 是一种使用 SQL 语义设计的开发语言,用它解决具体业务需求是一种全新体验,类似于从过程式编程到函数式编程的转变一样,需要一个不断学习和实践的过程.在看完了 Flink ...
- Redux的createStore实现
Redux的createStore实现 使用过react的同学应该对Redux这个东西有所了解.他是一种全局状态管理的思想(对, 这里我觉得它是一种思想, 因为对于React来说, 其实Redux ...
- 图解汉诺塔问题( Java 递归实现)
汉诺塔简介 最近在看数据结构和算法,遇到了一个非常有意思的问题--汉诺塔问题. 先看下百度百科是怎么定义汉诺塔的规则的: 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候 ...
- JAVA为什么不能通过构造函数传参来设置数组长度。
今天我们来说说 JAVA通过构造函数传递的参数来设置数组长度的问题. 问题在于我们没有明确知晓JVM的运行顺序.在new对象的时候,先调用构造函数,但是并没有将执行构造函数的代码,随机之后就初始化了 ...