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