DNS域名管理服务

DNS域名管理服务

一 、DNS介绍

DNS(domain name system ) 域名管理系统

  • 域名:

由特定的格式组成,用来表示互联网中某一台计算机或者计算机组的名称,能够是人更方便的访问互联网,而不用记住能够被机器直接读取的IP地址。

1. DNS的作用

  • 域名的正向解析

    将主机域名转换为对应的IP 地址,以便网络程序能够通过主机域名访问到对应的服务器主机

    域名——>IP A记录

  • 域名的反向解析

    将主机的IP地址转换为对应的域名,以便网络(服务)程序能够通过IP地址查询到主机的域名

    IP——>域名 PTR记录

2. DNS结构

根域 .

  • 在整个 DNS 系统的最上方一定是 . (小数点) 这个 DNS 服务器 (称为 root),也叫”根域“。
  • 根域 <13台 全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。>

一级域名<顶级域|国家域>

com edu gov org cc io| cn uk us ru ja ko

二级域名

qq.com baidu.com google.com

二、DNS服务器的搭建

  • DNS 的域名解析都是 udp/53 . 主从之间的数据传输默认使用tcp/53

  • DNS软件:

    Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley(伯克利)分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。

1、 安装软件

[root@dns-server ~]# yum -y install bind
  • 确认安装成功
[root@dns-server ~]# rpm -q bind
bind-9.8.2-0.17.rc1.el6_4.6.x86_64
  • 查看文件列表
[root@dns-server ~]# rpm -ql bind                  
/etc/NetworkManager/dispatcher.d/13-named
/etc/logrotate.d/named
/etc/named
/etc/named.conf
······

/***********************以下为重点文件*********************/
/etc/logrotate.d/named          //日志轮转文件
/etc/named                      //配置文件的主目录
/etc/named.conf                 主配置文件
/etc/named.rfc1912.zones         zone文件,定义域
/etc/rc.d/init.d/named           启动脚本

/usr/sbin/named                 二进制命令
/usr/sbin/named-checkconf       检查配置文件的命令   named.conf   named.rfc1912.zones
/usr/sbin/named-checkzone       检查区域文件的命令

/var/log/named.log              日志文件
/var/named                      数据文件的主目录
/var/named/data
/var/named/named.ca             根域服务器
/var/named/named.empty
/var/named/named.localhost      正向解析区域文件的模板
/var/named/named.loopback       反向解析区域文件的模板
/var/named/slaves               从dns服务器下载文件的默认路径
/var/run/named                  进程文件

2、 配置文件设置

  • 主配置文件:
vim /etc/named.conf
options {
        listen-on port 53 { 127.0.0.1; any; };      监听方式 ,any表示全网监听
        directory       "/var/named";    
        dump-file       "/var/named/data/cache_dump.db";    DNS缓存
        statistics-file "/var/named/data/named_stats.txt";      统计
        memstatistics-file "/var/named/data/named_mem_stats.txt";  内存统计
        allow-query     { localhost; any; };   允许哪些人可以查询;any代表任何人
        recursion yes;  是否递归  

        dnssec-enable yes;      dns安全扩展机制(签名认证)//这两个yes可以改为no,也可以不改
        dnssec-validation yes;              
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};
说明:
DNSSEC 域名系统安全,他是DNS的安全扩展协议
DLV DNSSEC 后备密钥
这些安全机制的设定,是为了保护DNS服务器与用户之间的数据安全,避免恶意数据对用户的欺骗

zone "." IN {     根域服务器
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

总结:

​ ①主配置文件只需要更改两个地方,即增加全网监听和全网查询两个any。

​ ② dns安全扩展机制(签名认证)的yes可以改为no

  • 子配置文件介绍
vim /etc/named.rfc1912.zones
...
//定义正向域的模板
zone "localhost.localdomain" IN {
    type master;
    file "named.localhost";
    allow-update { none; };
};

//定义反向的模板
zone "1.0.0.127.in-addr.arpa" IN {
    type master;
    file "named.loopback";
    allow-update { none; };
};
  • 子配置文件写法
//建议不要改原文件内容,在文件末尾追加内容
[root@dns-server etc]# vim /etc/named.rfc1912.zones

47 zone "yu.net" IN {                           //只写到二级域名
 48         type master;
 49         file "yu.net.zone";                 //写上自己定义的在/var/name目录中的zone文件
 50         allow-update { none; };
 51 };
 52 
 53 zone "221.168.192.in-addr.arpa" IN {        //反向解析时IP倒着写
 54         type master;
 55         file "221.168.192.zone";            //写上自己定义的在/var/name目录中的zone文件
 56         allow-update { none; };
 57 };
  • zone文件介绍
[root@dns-server ~]# cd /var/named/
[root@dns-server named]# ls
data     named.ca     named.localhost  slaves
dynamic  named.empty  named.loopback

[root@dns-server named]# cat named.loopback     //反向解析模板
$TTL 1D
@   IN SOA  @ rname.invalid. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    NS  @
    A   127.0.0.1
    AAAA    ::1
    PTR localhost.

[root@dns-server named]# cat named.localhost    //正向解析模板
$TTL 1D
@   IN SOA  @ rname.invalid. (
                    0   ; serial                //更新序列号
                    1D  ; refresh               //更新间隔(从服务器下载数据)
                    1H  ; retry                 //失败重试
                    1W  ; expire                //区域文件过期时间
                    3H )    ; minimum           //缓存的最小生存周期
    NS  @
    A   127.0.0.1
    AAAA    ::1

$TTL  缓存的生存周期
@ = zonename = itcast.com  当前域
IN  互联网
SOA 开始授权
NS  dns服务端  nameserver
A   ipv4 正向
AAAA IPV6
CNAME 别名
MX  邮件交互记录  5 数字代表优先级 数字越小优先级越高  

注:

​ 不要修改原文件,复制一份再修改。

  • zone文件写法
  1 $TTL 1D
  2 @       IN SOA  yu.net. rname.invalid. (            //写入域名,注意要写根域名
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8 @       NS      dns.yu.net.                        //dns1可以随便指定,但要与下面的A记录保持一致 
  9 dns1    A       192.168.221.129                    //指定dns服务器地址
 10 www     A       192.168.221.139                    //指定域名地址

 //反向解析
  1 $TTL 1D
  2 @       IN SOA  yu.net. rname.invalid. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8 @       NS      dns1.yu.net.
  9 dns1    A       192.168.221.129
 10 139     PTR     www.yu.net.
  • 语法检查
[root@dns-server named]# named-checkconf /etc/named.conf 
[root@dns-server named]# named-checkconf /etc/named.rfc1912.zones 
[root@dns-server named]# named-checkzone yu.net.zone yu.net.zone    //zone文件名写两边
zone yu.net.zone/IN: loaded serial 0
OK
[root@dns-server named]# named-checkzone 221.168.192.zone 221.168.192.zone 
zone 221.168.192.zone/IN: loaded serial 0
OK

3、测试验证

[root@dns-client ~]# echo nameserver 192.168.221.129 >/etc/resolv.conf   //指明dns服务器地址

[root@dns-client ~]# nslookup www.yu.net
Server:     192.168.221.129
Address:    192.168.221.129#53

Name:   www.yu.net
Address: 192.168.221.139

//测试成功
[root@dns-client ~]# nslookup 192.168.221.139
Server:     192.168.221.129
Address:    192.168.221.129#53

139.221.168.192.in-addr.arpa    name = www.yu.net.
//测试成功

三、 DNS主从服务器搭建

1、 保持时间同步

[root@dns-slave ~]# crontab -l
*/5 * * * * /usr/bin/rdate -s 192.168.221.129 &>/dev/null

2、 搭建备用dns服务器

  • 修改slave主配置文件
//安装软件
[root@dns-slave ~]# yum install -y bind
//修改配置文件
[root@dns-slave ~]# vim /etc/named.conf        //允许监听(详细内容见前文)
  • 修改slave子配置文件
[root@dns-slave ~]# vim /etc/named.rfc1912.zones
 44 zone "yu.net" IN {
 45         type slave;                         //标明类型为slave
 46         masters {192.168.221.129;};          //标明主机IP地址
 47         file "slaves/slave.ye.net";          //标明同步过来的文件保存路径及名字
 48 };      
 49 
 50 zone "221.168.192.in-addr.arpa" IN {
 51         type slave;
 52         masters {192.168.221.129;};
 53         file "slaves/slave.221.168.192";        //slaves在/var/named/文件夹下
 54 };  
  • 修改master端子配置文件
[root@dns-server ~]# vim /etc/named.rfc1912.zones
 44 zone "yu.net" IN {
 45         type master;
 46         file "yu.net.zone";
 47 };
 48 
 49 zone "221.168.192.in-addr.arpa" IN {
 50         type master;
 51         file "221.168.192.zone";
 52 }; 
 //删除了  allow-update { none; }; 允许其他机器进行同步
 //allow-transfer {10.1.1.3;};      //可以指定允许哪个slave来下载数据

3、 测试主从同步

  • slave拉取master文件测试
[root@dns-server ~]# service named restart             //master重启
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

[root@dns-slave named]# service named start
Generating /etc/rndc.key:                                  [  OK  ]
Starting named:                                            [  OK  ]

[root@dns-slave named]# cd /var/named/
[root@dns-slave named]# ls
data     named.ca     named.localhost  slaves
dynamic  named.empty  named.loopback
[root@dns-slave named]# cd slaves/
[root@dns-slave slaves]# ls
slave.221.168.192  slave.ye.net
//文件成功从master同步过来
  • 正反解析测试
[root@server ~]# echo nameserver 192.168.221.129 >/etc/resolv.conf 
[root@server ~]# echo nameserver 192.168.221.139 >>/etc/resolv.conf 
[root@server ~]# cat /etc/resolv.conf 
nameserver 192.168.221.129
nameserver 192.168.221.139


[root@server ~]# nslookup www.yu.net
Server:     192.168.221.129
Address:    192.168.221.129#53

Name:   www.yu.net
Address: 192.168.221.139

[root@server ~]# nslookup 192.168.221.139
Server:     192.168.221.129
Address:    192.168.221.129#53

139.221.168.192.in-addr.arpa    name = www.yu.net.
//解析成功
  • master宕机测试
[root@dns-server ~]# service named stop
Stopping named:                                          [  OK  ]

[root@server ~]# nslookup www.yu.net
Server:     192.168.221.139
Address:    192.168.221.139#53

Name:   www.yu.net
Address: 192.168.221.139

[root@server ~]# nslookup 192.168.221.139
Server:     192.168.221.139
Address:    192.168.221.139#53

139.221.168.192.in-addr.arpa    name = www.yu.net.

//master宕机情况下,slave解析成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值