一、DNS 介绍

  DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,DNS协议运行在UDP协议之上,使用端口号53(Domain), 953(mdc)。这两个端口号。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。

二、安装

[root@dns ~]# yum install -y bind bind-chroot bind-utils

  DNS的主程序 bind,还有一个是bind-utils。为了DNS安全考虑,引入了bind-chroot.

  chroot是通过将相关文件封装到一个伪根目录内,已达到安全防护的目的,一旦该程序被攻破,将只能访问到伪根目录内的内容,而并不是真实的根目录。安装了chroot这个服务,DNS服务的配置文件都会被安装到我们的伪根里面,会在里面生成一个与原来服务完全相同的一个目录体系结构。该服务的根目录就会把 /var/named/chroot 当成是自己的根目录,这样就可以对我们的真实根目录进行保护,所以建议大家在安装网络服务时最好都附带安装上chroot这个程序。

三、配置

  BIND 的一些服务文档位置和模板:

    /usr/share/doc/bind-9.8.2/sample

  BIND的主配置文件通常是保存在两个位置:

    /etc/named.conf  -BIND服务主配置文件

    /var/named/  -域的zone配置文件

  安装了 bind-chroot 这个程序以后,BIND的主配置文件存放位置就变了,此时BIND的主配置文件会被封装到一个伪根目录内,此时的配置文件位置为:

    /var/named/chroot/etc/named.conf  -BIND服务主配置文件

    /var/named/chroot/var/named  -域的zone配置文件  

  复制模板

[root@dns ~]# cp /etc/named.conf /etc/named.rfc1912.zones /var/named/chroot/etc/
[root@dns ~]# cp -rv /usr/share/doc/bind-9.8.2/sample/var/* /var/named/chroot/var/

  修改配置:

  1、声明要解析的域名

[root@dns etc]# vim /var/named/chroot/etc/named.conf 

options {
listen-on port 53 { 192.168.1.200; }; #监听本地IP的53端口
//listen-on-v6 port 53 { ::1; }; #取消IPv6的监听,可以不注释
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; }; #接受任何人的DNS解析请求
recursion yes; dnssec-enable yes;
dnssec-validation yes; /* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic";
}; logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
}; zone "." IN {
type hint;
file "named.ca";
}; //This is my DNS configuration zone "123.com" {                  //域名正向解析配置,建议写在 named.rfc1912.zones 文件中
type master;                // 指定我们要配置的是域主DNS服务器
file "123.com.zone";          // 指定域名的zone文件为123.com.zone ,一般都是以域名.zone 命名
allow-update { none; };
};        // ;号一定要加上,否则会报错 zone "2.168.192.in-addr.arpa" { //域名反向解析配置,建议写在 named.rfc1912.zones 文件中,格式一定为 xx.xx.xx.in-addr.arpa
type master;
file "192.168.2.zone";
allow-update { none; };
}; // End my configuration

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

  2、配置域名和IP的对应关系。

[root@dns etc]# cd /var/named/chroot/var/named
[root@dns etc]# cp named.localhost 123.com.zone
[root@dns etc]# vim 123.com.zone
$TTL 1D
@ IN SOA @ 123.com. ( ; “.”号必须加上
; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
IN MX 10 mail.123.com.   ; MX 添加一条 邮件记录,邮件记录后面要跟域名,它会递归的解析这个域名,所以该域名的资源记录一定要有,后面的 “.” 一定要写上
www IN A 192.168.2.10            ;添加A记录
c1   IN A 192.168.2.11
c2   IN A 192.168.2.12

  【注意:MX记录一定要定义资源记录的最前面,否则就会解析不成功

  $TTL = 1D(默认生存时间=1D、缓存服务器保存记录的时间是1天。也就是告诉缓存服务器保存域的解析记录为1天)

  serial = 2017012501 (序列号=2017012501、我用配置日期作为序列号。这个序列号的作用是当辅域名服务器来复制这个文件的时候,如果号码增加了就复制)

  refresh = 1D (刷新=1D、辅域名服务器每隔24小时查询一个主服务器)

  retry = 1H (1 hour) (重试=3600秒、当辅域名服务试图在主服务器上查询更新时,而连接失败了,辅域名服务器每隔1小时访问主域名服务器)

  expire = 1W (7 days) (到期=604800秒、辅域名服务器在向主服务更新失败后,7天后删除中的记录。)

  3、配置反向解析

[root@dns etc]# cp named.localhost 192.168.2.zone
[root@dns etc]# vim 192.168.2.zone
$TTL 1D
@ IN SOA @ 123.com. (
; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
10 IN PTR www.123.com.
11    IN    PTR  c1.123.com.
12    IN    PTR  c2.123.com.

  

  4.启动DNS服务

    [root@dns etc]# service named restart

    Stopping named:           [ OK ]
    Starting named:            [FAILED]   

  查看日志:

    [root@dns etc]# tail -f /var/log/messages

    权限问题,查看named.rfc1912.zones 发现 其他用户 没有 r 权限.

    添加权限   

      [root@dns etc]# chmod o+r /var/named/chroot/etc/named.rfc1912.zones

  

   [root@dns etc]# service named restart

    Stopping named:           [ OK ]
    Starting named:            [ OK ]   

   5.测试,在自己PC上配置DNS,通过nslookup 进行测试。

  

												

centos 6.5 DNS服务器 搭建的更多相关文章

  1. Linux下dns服务器搭建

    Linux下dns服务器搭建1-环境Red Hat Enterprise Linux Server release 6.7 (Santiago)2-配置本地yum源安装dns相关包yum -y ins ...

  2. CentOS笔记——配置DNS服务器

    前话 咳咳,这次Linux系统的DNS服务器搭建我不得不记下来.,这错误真的太蛋疼了,我整整弄了两天才解决问题(抱歉我很蠢). 也许有人会和我犯同样的错误,给大家分享一下经验. 首先总结一下知识点: ...

  3. DNS服务器搭建(主、从、缓)

    主dns服务器搭建 在本机上搭建一个管理hngd.com域名的域名服务器1. 确保安装好以下bind域名服务器 [root@主人 ~]# rpm -qa |grep ^bindbind-chroot- ...

  4. 架构师成长之路6.6 DNS服务器搭建(构建企业级DNS)

    点击返回架构师成长之路 架构师成长之路6.6 DNS服务器搭建(构建企业级DNS) 采用LVS-DR模式负载均衡,多IDC,多套DNS集群,通过master-slave技术保证dns配置的一致性. 1 ...

  5. 架构师成长之路6.5 DNS服务器搭建(添加记录、负载均衡、DNS视图)

    点击返回架构师成长之路 架构师成长之路6.5 DNS服务器搭建(添加记录.负载均衡.DNS视图)  部署主DNS : 点击 部署从DNS : 点击 1.添加A记录.CNAME记录.MX记录.PTR记录 ...

  6. 架构师成长之路6.4 DNS服务器搭建(部署主从DNS)

    点击返回架构师成长之路 架构师成长之路6.3 DNS服务器搭建(部署主从DNS)  部署主DNS : 点击 部署从DNS : 如下步骤 1.与主DNS一样,安装bind yum -y install ...

  7. 架构师成长之路6.3 DNS服务器搭建(部署单台DNS)

    点击返回架构师成长之路 架构师成长之路6.3 DNS服务器搭建(部署单台DNS) 1.安装bind yum -y install bind-utils bind bind-devel bind-chr ...

  8. Linux下DNS服务器搭建详解

    Linux下DNS服务器搭建详解 DNS  即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域名解析 ...

  9. DNS服务器搭建与配置

    DNS服务器搭建与配置目录 1.DNS查询方式 2.DNS服务器类型 3.DNS主要配置文件组 4.name.conf文件配置介绍 5.DNS的资源记录格式 6.DNS服务器和客户端配置 7.简单搭建 ...

随机推荐

  1. Mybatis:通过MapperScannerConfigurer进行mapper扫描

    在applicationContext.xml里配置的

  2. APP-10-文字识别-票据识别

    1.Postman测试 2.参数 https://cloud.baidu.com/doc/OCR/OCR-API.html#.E9.80.9A.E7.94.A8.E7.A5.A8.E6.8D.AE.E ...

  3. Java继承与多态浅析

    一.继承 1.通过extends继承的父类可以是不加abstract关键字的普通类,也可以是加了abstract关键字的抽象类.继承普通类时可以覆写父类的方法,或者创建自己独有的方法,或者这两     ...

  4. 尚硅谷springboot学习19-日志切换

    查看相关依赖关系,排除相关依赖,引入新的日志依赖 slf4j+log4j的方式: <dependency> <groupId>org.springframework.boot& ...

  5. ADO数据库操作方式

    微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件.它提供了编程语言和统一数据访问方式OLE DB的一个中间层.允许开发人员编写访问数据的代码而不用关心数 ...

  6. LeetCode OJ 215. Kth Largest Element in an Array

    Find the kth largest element in an unsorted array. Note that it is the kth largest element in the so ...

  7. jquery实现分页+单删批删

    //定义一个分页的方法 public function fenye(){ //查询满足条件的总条数 $count = M("regis")->count(); //设置每页显 ...

  8. HTML5的新标签之一的Canvas

    一. <canvas>简介(了解) 1. 什么是canvas: 是HTML5提供的一种新标签 <canvas></canvas>  英 ['kænvəs]  美 [ ...

  9. C++ 关于滚动条的滚动问题

    SCROLLINFO scrollinfo; GetScrollInfo(SB_HORZ, &scrollinfo, SIF_ALL); switch (nSBCode) { case SB_ ...

  10. 吴裕雄 python神经网络 花朵图片识别(9)

    import osimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Image, ImageChopsfrom skim ...