码迷,mamicode.com
首页 > 其他好文 > 详细

DNS服务

时间:2016-08-22 23:35:07      阅读:372      评论:0      收藏:0      [点我收藏+]

标签:服务

DNS服务器的功能:将域名解析为IP地址(正向解析)或者将IP地址解析为域名(反向解析)
/etc/hosts (域名解析缓存文件)
分布式层次型
主机名+域名

DNS的解析过程(以解析www.baidu.com.cn为例)
1.查看本地缓存
2.默认查询本地/etc/hosts文件进行解析(具体先使用hosts文件或DNS由/etc/nsswitch.conf文件决定)
3.由本地域名服务器(/etc/resolv.conf)查询根域名服务器(进行迭代解析)和下级服务器
4.本地域名服务器得到结果后会进行缓存,然后再将结果告诉客户端


查询www.baidu.com.cn
递归查询:客户机-->本地域名服务器(查询没有结果,接着下面的步骤)
迭代解析:本地域名服务器-->根域名服务器(dig @a.root-servers.net . ns)(得到cn服务器的IP地址)
    本地域名服务器-->cn服务器(得到com.cn服务器的IP地址)
    本地域名服务器-->com.cn服务器(得到baidu.com.cn的IP地址)
    本地域名服务器-->baidu.com.cn服务器(得到最终域名服务器,解析相应的主机名)

DNS服务器的类型
    主域名服务器(省级代理)
        负责一个或一个以上原始区域的域名解析,有自己的区域数据文件,是一个权威服务器
    从域名服务器(市级代理)
        区域数据文件是从主语名服务器复制过来的,从域名服务器不是一个权威服务器
    缓存域名服务器(个人代理)
        纯粹的没有区域数据文件(本身不能响应任何DNS请求,所有记录全部向其它服务器查询)

DNS的记录类型
SOA:起始授权机构,至少是一个区域的权威服务器(主域名服务器),记录的是权威服务器的IP地址
NS:名称服务器,能解析特定域名的主机都是名称服务器(主域名服务器和从域名服务器)
A:正向记录,用于将域名解析为IP地址
PTR:反向记录,用于将IP地址解析为域名(邮件服务器)
MX:邮件交换记录,用于设置某个区域的邮件服务器地址
CNAME:别名记录,将服务器名另外设置一个名称
HINFO:硬件信息记录,并不向客户端发送回应
TXT:域名服务器版本记录,可以更改域名服务器的版本

DNS的客户端工具(10.0.100.251为DNS服务器IP)
host
    host www.sjjy.com 10.0.100.251
    host -t mx sjjy.com 10.0.100.251(针对没有定义具体IP的记录)
    host -t ns sjjy.com 10.0.100.251
    host 10.0.100.100 10.0.100.251
dig
    dig @10.0.100.251 blogs.sjjy.com
    dig @10.0.100.251 -t mx sjjy.com
nslookup
    nslookup www.sjjy.com 10.0.100.251
    nslookup
        server 10.0.100.251
        set type=mx
        sjjy.com
        

部署DNS服务器步骤
1.安装DNS服务器软件
    yum install bind*
2.在主配置文件里面定义相关的区域及信息
    vim /etc/named.conf(注意是以“//”作为注释,不是“*”)
    options {
    listen-on port 53 { 127.0.0.1; }; --- 监听端口和IP地址
    listen-on-v6 port 53 {};--- IPV6格式
    directory    "/var/named"; --- 区域数据文件
    dump-file    ""; --- 缓存文件
    statistics-file ""; ---
    memstatistics-file ""; ---
    allow-query    { localhost; }; --- 只允许本地查询,可以添加网段
    recursion yes; --- 允许递归查询

    dnssec-enable yes; --- DNS加密
    dnssec
    dnssec
    
    bindkeys-file
    managed-keys-directory
};

logging { ----  日志通道(默认/var/log/messages)
    channel default_debug {
        file "";    
    }
};

zone "." IN(internet) {
    type hint; --- 类型为缓存域名服务器(masetr(主域名服务器)|slave(从域名服务器))
    file "name.ca"; --- 存在于上面配置的directory目录下面,记录根域名服务器的地址
 
};

zone "sjjy.com" IN { --- 定义正向解析
    type master; --- 定义为主域名服务器
    file "sjjy.com.zone"; --- 定义具体的区域文件
};

zone "0.10.in-addr.arpa" IN { --- 定义反向解析
    type master; --- 同上面定义的正向解析
    file "10.0.rev"; --- 定义具体的区域文件
};

//当/etc/hosts文件删除,才会调用下面两个文件
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

};


编辑具体的区域文件
vim /var/named/sjjy.com.zone
$TTL 1D --- 缓存生存时间:1天
$ORIGIN    sjjy.com. --- 显示的声明区域名
@(代表具体的区域名称(sjjy.com.zone))    IN    SOA(权威服务器记录)    dns.sjjy.com. admin.sjjy.com.(管理员的邮件地址,“admin.”表示为“admin@”) (
    0    ; serial(序列号,用于主从域名服务器之间,为了识别何时进行更新,常用时间表示)
    1D    ;refresh(刷新时间,从域名服务器刷新的频率)
    1H    ;retry(间隔时间,当连接失败后,重连的间隔)
    1W(1个星期)    ;expire(清除时间)
    3H(3个小时)    ;minimum
)
    IN    NS    dns.sjjy.com. --- 定义名称服务器,多个换行写
    IN    NS    5(优先级,小的高,1-255)    dns2.sjjy.com.
    IN    MX    mail.sjjy.com.
dns    IN    A    10.0.100.251 --- 具体的主机对应的IP地址
dns    IN    A    10.0.100.250
mail    IN    A    10.0.100.100
www    IN    A    10.0.100.101
ftp    IN    A    10.0.100.102
blogs    IN    A    10.0.100.103
bk    IN    CNAME    blogs

vim /var/named/10.0.rev(可以不用写别名)
$TTL 1D --- 缓存生存时间:1天
$ORIGIN    0.10.in-addr.arpa. --- 显示的声明区域名
@(代表具体的区域名称(sjjy.com.zone))    IN    SOA(权威服务器记录)    dns.sjjy.com. admin.sjjy.com.(管理员的邮件地址,“admin.”表示为“admin@”) (
    0    ; serial(序列号,用于主从域名服务器之间,为了识别何时进行更新,常用时间表示)
    1D    ;refresh(刷新时间,从域名服务器刷新的频率)
    1H    ;retry(间隔时间,当连接失败后,重连的间隔)
    1W(1个星期)    ;expire(清除时间,更新失败后,多长时间后清除对应的缓存)
    3H(3个小时)    ;minimum(缓存服务器不能与主服务联系上后多长时间清除相应的记录)
)
    IN    NS    dns.sjjy.com.
251.100    IN    PTR    dns.sjjy.com.
100.100    IN    PTR    mail.sjjy.com.
101.100    IN    PTR    www.sjjy.com.
102.100    IN    PTR    ftp.sjjy.com.
103.100    IN    PTR    blogs.sjjy.com.


检查主配置文件和区域文件的语法是否有错
named-checkconf /etc/named.conf    --- 检查主配置文件语法
named-checkzone sjjy.com /var/named/sjjy.com.zone --- 检查正向区域配置文件语法
named-checkzone 0.10.in-addr.arpa /var/named/10.0.rev --- 检查反向区域配置文件语法

启动域名服务器
service named start

更改正向区域文件和反向区域文件的属主和属组(因为运行named服务时是以named用户执行的)
chown named:named /var/named/sjjy.com.zone
chown named:named /var/named/10.0.rev

根域名服务器的更新:dig @a.root-servers.net . ns > /var/named/named.ca

练习:使用自己姓名的拼音作为域名搭建域名服务器,域名服务器要求有正反向区域,要求有soa、ns、mx、a、ptr、cname记录的定义,部署完成后要能够正常的提供相关域名的解析服务。

错误集:
dns_rdata_fromtext: zlj.com.zone:10: near ‘mail.zlj.com.‘: not a valid number
解决办法:邮件服务器必须设置优先级

10.0.10.rev:3: SOA record not at top of zone (10.0.10.in-addr.arpa.10.0.10.in-addr.arpa)
解决办法:注意区域名后面需要带上".

本文出自 “天晴了要下雨” 博客,请务必保留此出处http://8776055.blog.51cto.com/8766055/1841234

DNS服务

标签:服务

原文地址:http://8776055.blog.51cto.com/8766055/1841234

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!