美文网首页
ubuntu搭建配置bind(转)

ubuntu搭建配置bind(转)

作者: 梦落迹南天 | 来源:发表于2018-10-25 09:55 被阅读0次

    1. BIND9 的安装与配置

    1.1 bind简介

    BIND (Berkeley Internet Name Domain)是Domain Name System (DNS) 协议的一个实现,提供了DNS主要功能的开放实现,包括

    • 域名服务器 (named)

    • DNS解析库函数

    • DNS服务器运行调试所用的工具

    是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护的,

    按照ISC的调查报告,BIND是世界上使用最多最广泛的域名服务系统。不论你的邮件服务器,WEB服务器或者其他的services如何的安全可靠,DNS的故障会给你带来用户根本无法访问这些服务。

    BIND,也是我们常说的named,由于多数网络应用程序使用其功能,所以在很多BIND的弱点及时被发现。主要分为三个版本:

    • v4

    1998年多数UNIX捆绑的是BIND4,已经被多数厂商抛弃了,除了OpenBSD还在使用。OpenBSD核心人为BIND8过于复杂和不安全,所以继续使用BIND4。这样一来BIND8/9的很多优点都不包括在v4中。

    • v8

    就是如今使用最多最广的版本,其详细内容可以参阅 BIND 8+ 域名服务器安全增强

    • v9

    最新版本的BIND,全部重新写过,免费(但是由商业公司资助),也添加了许多新的功能(但是安全上也可能有更多的问题)。BIND9在2000年十月份推出,现在稳定版本是9.3.2。

    2. 安装方式

    目前有两种方式:源码安装和apt-get或者rpm安装。

    2.1 源码安装

    下载地址 http://www.isc.org/products/BIND

    tar zxvf bind-9.2.6.tar.gz

    包括以下子目录:bin(全部BIND二进制源代码,包括named),contrib(一些工具)

    ,doc(BIND的文档,包括资源手册),lib(BIND使用的库的源代码),make(makefile文件).

    ./configure
    

    编译BIND,输入:

    make all
    

    安装BIND

    #make install
    

    2.2 apt-get

    apt-get install bind9 
    

    2种方式笔者都使用了第二种方式简单很多,第二种方法会生成很多基础的配置文件,使用起来简单了很多

    这里以第二种方法来介绍:安装完成后,配置如下:

    ls /etc/bind/ -l
    
    total 44
    
    -rw-r--r-- 1 root root 237 Jan 16 2006 db.0
    
    -rw-r--r-- 1 root root 271 Jan 16 2006 db.127
    
    -rw-r--r-- 1 root root 237 Jan 16 2006 db.255
    
    -rw-r--r-- 1 root root 353 Jan 16 2006 db.empty
    
    -rw-r--r-- 1 root root 256 Jan 16 2006 db.local
    
    -rw-r--r-- 1 root root 1507 Jan 16 2006 db.root
    
    -rw-r--r-- 1 root bind 1611 Jan 16 2006 named.conf
    
    -rw-r--r-- 1 root bind 165 Jan 16 2006 named.conf.local
    
    -rw-r--r-- 1 root bind 672 Jan 16 2006 named.conf.options
    
    -rw-r--r-- 1 root root  490 Feb 18 05:45 named.conf.default-zones
    
    -rw-r----- 1 bind bind 77 Aug 4 08:41 rndc.key
    
    -rw-r--r-- 1 root root 1317 Jan 16 2006 zones.rfc1918
    

    配置文件说明:

    • named.conf Bind主配置文件

    • named.conf.options全局选项

    • db.root 根服务器指向文件, 由Internet NIC创建和维护, 无需修改, 但是需要定期更新

    • db.local localhost正向区文件,用于将名字localhost转换为本地回送IP地址 (127.0.0.1)

    • db.127 localhost反向区文件,用于将本地回送IP地址(127.0.0.1)转换为名字localhost

    其中,主配置文件/etc/named.conf的配置语句

    命令 用法

    • acl 定义IP地址的访问控制清单

    • control 定义ndc使用的控制通道

    • include 把其他文件包含到配置文件中

    • key 定义授权的安全密钥

    • logging 定义日志写什么,写到哪

    • opitons 定义全局配置选项和缺省值

    • server 定义远程服务器的特征

    • trunsted-keys 为服务器定义DNSSEC加密密钥

    • zone 定义一个区

    默认情况下, 内容如下:

    
    // This is the primary configuration file for the BIND DNS server named.
    
    //
    
    // Please read /usr/share/doc/bind9/README.Debian.gz for information on the
    
    // structure of BIND configuration files in Debian, *BEFORE* you customize
    
    // this configuration file.
    
    //
    
    // If you are just adding zones, please do that in /etc/bind/named.conf.local
    
    include "/etc/bind/named.conf.options";
    
    include "/etc/bind/named.conf.local";
    
    include "/etc/bind/named.conf.default-zones";
    

    可见主配置文件主要是包含三个部分:

    • 1、named.conf.options 一些配置选项

    • 2、named.conf.default-zones 默认的本地规则,包含跟文件、正向区文件、反向区文件等

    root@ubuntu:/etc/bind# cat named.conf.default-zones
    
    // prime the server with knowledge of the root servers
    
    zone "." {
    
    type hint;
    
    file "/etc/bind/db.root";
    
    };
    
    // be authoritative for the localhost forward and reverse zones, and for
    
    // broadcast zones as per RFC 1912
    
    zone "localhost" {
    
    type master;
    
    file "/etc/bind/db.local";
    
    };
    
    zone "127.in-addr.arpa" {
    
    type master;
    
    file "/etc/bind/db.127";
    
    };
    
    zone "0.in-addr.arpa" {
    
    type master;
    
    file "/etc/bind/db.0";
    
    };
    
    zone "255.in-addr.arpa" {
    
    type master;
    
    file "/etc/bind/db.255";
    
    };
    
      1. Named.conf.local 这个是用来用户定义的,我们在这里面添加域即可

      测试域名:smart-clouds.cn

      测试ip: 192.168.206.138 主域名服务器

    在Named.conf.local中增加

    zone "smart-clouds.cn"{
    
        type master;
    
        file "/etc/bind/db.smart-clouds.cn";
    
    //    allow-query-cache { any; };
    
        allow-query { any; };
    
        allow-update { any; };
    
    //    recursion yes;
    
    };
    
    zone "206.168.192.in-addr.arpa"{
    
        type master;
    
        file "/etc/bind/db.192.smart-clouds.cn";
    
    };
    
    增加db.smart-clouds.cn
    
    root@ubuntu:/etc/bind# touch db.smart-clouds.cn
    
    root@ubuntu:/etc/bind# cat db.smart-clouds.cn
    
    ;ND data file for local loopback interface
    
    ;
    
    $TTL 604800
    
    $ORIGIN smart-clouds.cn.
    
    @ IN SOA smart-clouds.cn. root.smart-clouds.cn. (
    
    2006080401 ; Serial
    
    604800 ; Refresh
    
    86400 ; Retry
    
    2419200 ; Expire
    
    604800 ) ; Negative Cache TTL
    
    ;
    
    @ IN NS ns1
    
    @ IN A 192.168.206.138
    
    ns1 IN A 192.168.206.138
    
    www IN A 192.168.206.138
    
    root@ubuntu:/etc/bind# cat /etc/bind/db.192.smart-clouds.cn
    
    $TTL 604800
    
    @ IN SOA smart-clouds.cn. root.smart-clouds.cn. (
    
    2006080401 ; Serial
    
    604800 ; Refresh
    
    86400 ; Retry
    
    2419200 ; Expire
    
    604800 ) ; Negative Cache TTL
    
    ;
    
    @ IN NS smart-clouds.cn.
    
    138 IN PTR http://www.smart-clouds.cn.
    
    138 IN PTR ns1.smart-clouds.cn.
    

    内容含义参看http://hi.baidu.com/ubuntu2me/blog/item/235b94c9f84ea3107e3e6f06.html

    http://www.cnblogs.com/cobbliu/archive/2013/03/19/2970311.html

    这样一个简单的dns服务就已经实现


    4、启动以及测试本地dns

      root@ubuntu:/etc/bind# /etc/init.d/bind9 restart
    

    查看启动日志文件

      root@ubuntu:/etc/bind# tail /var/log/syslog
    
    Mar 19 22:43:14 ubuntu named[61378]: managed-keys-zone: loaded serial 3
    
    Mar 19 22:43:14 ubuntu named[61378]: zone 0.in-addr.arpa/IN: loaded serial 1
    
    Mar 19 22:43:14 ubuntu named[61378]: zone 255.in-addr.arpa/IN: loaded serial 1
    
    Mar 19 22:43:14 ubuntu named[61378]: zone 127.in-addr.arpa/IN: loaded serial 1
    
    Mar 19 22:43:14 ubuntu named[61378]: zone localhost/IN: loaded serial 2
    
    Mar 19 22:43:14 ubuntu named[61378]: zone smart-clouds.cn/IN: loaded serial 2006080401
    
    Mar 19 22:43:14 ubuntu named[61378]: all zones loaded
    
    Mar 19 22:43:14 ubuntu named[61378]: running
    
    Mar 19 22:43:14 ubuntu named[61378]: zone smart-clouds.cn/IN: sending notifies (serial 2006080401)
    

    启动异常信息都从该日志中查看

    查看bind进程是否启动

    root@ubuntu:/etc/bind# ps -aux|grep named
    
    bind    61378  0.0  0.8 164688 12904 ?        Ssl  22:43  0:00 /usr/sbin/named -u bind
    
    root    61440  0.0  0.0  15940  916 pts/11  S+  22:47  0:00 grep --color=auto named
    

    遇到的问题

    修改/etc/resolv.conf文件 该文件用来设置采用dns服务器 修改为nameserver 127.0.0.1即采用本地dns服务


    测试

    正向

    root@ubuntu:/etc/bind# host smart-clouds.cn
    smart-clouds.cn has address 192.168.206.138
    

    反向

    root@ubuntu:/etc/bind# host 192.168.206.138
    138.206.168.192.in-addr.arpa domain name pointer ns1.smart-clouds.cn.
    

    本地测试完成


    5.增加日志信息

    参考 http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=212998&extra=page%3D1%26filter%3Dtypeid%26typeid%3D331%26digest%3D1%26typeid%3D331%26digest%3D1

    说明日志配置信息统一放到named.conf.options

    日志生成到哪取决于named.conf.options中的

    directory "/var/cache/bind";的设置如果日志不能生成同前面提到的

    chown -R bind

    root@ubuntu:/etc/bind # c
    19-Mar-2015 19:09:48.810 queries: client 127.0.0.1#50563 (smart.clouds.cn): query: smart.clouds.cn IN A + (127.0.0.1)
    
    19-Mar-2015 19:11:01.011 queries: client 127.0.0.1#39147 (smart-clouds.cn): query: smart-clouds.cn IN A + (127.0.0.1)
    

    1. 公网dns服务器实现

    需要申请公网的域名,并且将服务器的域名注册。

    参考文献

    http://hi.baidu.com/ubuntu2me/blog/item/235b94c9f84ea3107e3e6f06.html

    http://www.cnblogs.com/cobbliu/archive/2013/03/19/2970311.html

    http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=212998&extra=page%3D1%26filter%3Dtypeid%26typeid%3D331%26digest%3D1%26typeid%3D331%26digest%3D1

    http://blog.csdn.net/lujisheng/article/details/4637204


    相关文章

      网友评论

          本文标题:ubuntu搭建配置bind(转)

          本文链接:https://www.haomeiwen.com/subject/fdhqtqtx.html