Linux服务DNS

网址介绍

www.benet.com  (主机名 FQDN:Full Qualified Domain Name,完全合格域名 )
.域下面有com,com域下面包含 benet这个域, benet域下面有一台叫www的主机

早期解析使用hosts:

配置文件/etc/hosts

   IPADDR       FQDN           Ailases
   192.168.1.1  www.benet.com  localhost
hosts文件缺点
   hosts文件需要手动填写,无法自动获得新增的域名
   在http协议开始应用的时候,互联网的域名出现爆炸性的增长,hosts文件无法满足解析需求

DNS域名解析:Domail Name Service

    可以将FQDN转换成IP地址

    也可以将IP地址转换成FQDN
   
ICANN:维护全球的13台根服务器
       
顶级域: 组织域:.com, .org, .net, .cc
         国家域: .cn, .tw, .hk, .iq, .ir, .jp
       
二级域:baidu  sina sohu


查询:
    递归:直发出一次请求
    迭代:发出多次请求
互联网的查询是两段式的:客户端给服务器请求为递归,服务器查询为迭代
    
解析:
    正向解析:FQDN<-->IP
    反向解析:IP<-->FQDN

DNS分布式数据库
     上级只知道其直接下级
     下级只知道根的位置
    
dns相关类型
    主dns服务器:数据修改
    辅助dns服务器:请求数据同步
        serial number: 版本号
        refresh:时间周期,定义多长时间检查一次
        retry:重试时间,如果检查不到就在规定时间内重试
        expire:过期时间,在重试后还是检查不到就认为主服务器挂了
        nagative answer TTL
    缓存dns服务器:不负责解析,只负责提供权威答案
    转发器:将请求转发到公网的服务器

DNS:监听的协议及端口
     53/udp:客户端查询使用
     53/TCP:从服务器同步使用
    
dns记录类型
SOA:起始授权记录
NS:区域名到主机名(成组出现,一条NS记录和一条A记录)
A:主机名对应IPv4地址
AAAA:主机名对应IPv6地址
PTR:IP转换主机名
MX:邮件交换记录(需要和A记录一起使用,MX记录需要定义优先级)
CNAME:别名记录

区域传送的类型:
    完全区域传送: 完整传送
    增量区域传送:只传送改变的内容

区域类型:
    主区域:master
    从区域:slave
    提示区域:hint
    转发区域:forward
    
BIND软件包:
    bind:提供了域名服务的主要进程及相关文件
    bind-utils:提供了对DNS服务器的测试工具
    bind-libs:提供了bind、bind-utils需要使用的库函数
    bind-chroot:为bind服务提供了一个伪装的根目录(将var/named/chroot文件夹作为bind的根目录)以提高安全性
    caching-nameserver:提供构建缓存服务器的基本配置文件


bind配置文件
    /etc/named.conf 主配置文件


缓存服务器配置

options {
        directory       "/var/named";
};
zone "." IN {
        type hint;
        file "named.ca";
};
zone "localdomain" IN {
        type master;
        file "localdomain.zone";
        allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};


主服务器配置文件
主服务器区域配置文件需要有从服务器的NS记录
主服务器添加或删除记录时,需要更改序列号从服务器才可以同步

options {
        directory       "/var/named";
};
zone "." IN {
        type hint;
        file "named.ca";
};
zone "benet.com" IN {
        type master;
        file "benet.com.zone";
        allow-transfer { 192.168.0.109;};
};
zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.1.arpa";
        allow-transfer { 192.168.0.109;};
};


主服务器正向区域配置文件

$TTL    86400
@               IN SOA  localhost root (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
                IN NS           NS1.benet.com.
                IN NS           NS2.benet.com.
                IN MX  10       mail.benet.com.
ns1             IN A            192.168.0.108
ns2             IN A            192.168.0.109
mail            IN A            192.168.0.10
www             IN A            192.168.0.20

主服务器反向区域配置文件

$TTL    86400
@               IN SOA  localhost root (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
                IN NS           NS1.benet.com.
                IN NS           NS2.benet.com.
108             IN PTR          NS1.benet.com.
109             IN PTR          NS2.benet.com.
10            IN PTR            mail.benet.com.
20             IN PTR           www.benet.com.

从服务器配置文件

options {
        directory       "/var/named";
};
zone "." IN {
        type hint;
        file "named.ca";
};
zone "benet.com" IN {
        type slave;
        file "slaves/benet.com.zone";
        masters { 192.168.0.108; };
};
zone "0.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/192.168.1.arpa";
        masters { 192.168.0.108; };
};

注:如果不成功可能是没有关闭防火墙

iptables -F

setenforce 0

dns配置文件语法检查

检查主配置文件是否有语法错误:named-checkconf
检查主配置文件区域配置文件是否有语法错误:service named configtest


设置开机自动启动:

chkconfig named on

dig解析
dig -t  记录类型  名称  (@IP 指定dns查找)
dig -x  IP   根据IP查找域名的
dig +trace -t A bbs.51cto.com @222.222.222.222  //跟踪如何解析的
dig -t axfr benet.com //查看一个区域的所有配置文件

本文出自 “梅花香自苦寒来” 博客,请务必保留此出处http://wangjunkang.blog.51cto.com/8809812/1566083

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。