• 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

  • 相关阅读:
    Mysq数据库备份(win)
    Mysql保存中文乱码问题
    MySql常用操作
    win下 mysql远程连接设置
    windows下redis的使用
    栈和队列
    ffmpeg 常用命令
    nginx https配置模板
    openssl 、nginx生成配置自签名证书
    https、公钥,私钥,数字证书
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700476.html
Copyright © 2020-2023  润新知