美文网首页Linux树莓派我用 Linux
服务器搭建三——DNS服务器搭建

服务器搭建三——DNS服务器搭建

作者: 十二楼中月 | 来源:发表于2017-04-21 11:51 被阅读2318次

    1. 测试环境:Centos 6.9

    虚拟主机中安装
    软件BIND

    2.DNS原理:

    域名解析主要有三种方法:

    1). host表用在本机上面hosts
    2). NIS(网络信息服务)主要用在小型网络,并且已经大部分不在使用
    3).DNS域名服务 分层的分布式数据库来处理IP地址和域名的转换。

    DNS组成:DNS域名空进+DNS服务器+解析器
    解析过程:

    1)本地解析(使用之前的缓存信息,或者本地HOSTS文件)
    2)直接解析(直接有所设定的DNS服务器解析)
    3)递归查询(由DNS服务器代表客户机向其他DNS 服务器查询)
    4)迭代查询(DNS向客户机返回一个可以解析的其他DNS服务器)

    3.软件的安装

    yum install -y bind
    rpm -ql bind查看没有安装

    安装bind

    4.安装后主要文件

    /etc/named #named目录
    /etc/named.conf #主配置文件
    /etc/rc.d/init.d/named #BIND开机自动时启动的脚本
    /usr/sbin/named #named进程程序文件
    /usr/sbin/rndc #远程控制named进程的工具
    /usr/sbin/rndc-confgen #产生rndc密钥的工具
    /usr/share/doc/bind-9.8.2 # 帮助文档和例子文件
    /usr/share/man/man5/ #手册
    /usr/share/man/man8/#手册
    /var/named # Bind配置文件的默认存放目录
    /var/run/named #named进程PID文件存放的目录

    5.Bind的配置文件

    (bind的配置比较复杂)Bind的配置文件需要根据实际情况才能正常运行,否则无法正常启动bind。下面以一个简单实例说明具体的配置方法:
    第一步是主配置文件named.conf(在/etc/下面)
    第二步辅助配置文件named.rfc1912.zones在/etc/下面)

    named.conf主配置文件 named.rfc1912.zones辅助配置文件
    上面的文件都在/etc/下面,在修改时候可以备份好之前的默认文件。
    第三步 在/var/named/下面cp -p named.localhost named.benet.com
    cp -p named.localhost named.197.168.192.zone
    先复制出两个我们需要设置的正向和反向解析文件然后编辑:

    第一个是正向解析的文件
    第二个是反向解析的文件

    named.benet.com正向解析文件 named.197.168.192.zone反向解析文件

    配置文件都写好之后可以测试启动:
    /usr/sbin/named -g &(-g的功能是显示启动的过程,可以方便查看是否有报错)
    到此四个配置文件已经完成,当我启动和测试时候出现了下面几种错误:
    1.)这个是没有删除主配置文件中关于IPv6的内容导致


    关于IPv6的报错

    2.)解析不出来,解析出来的是其他地址,这个是设置的默认DNS不是我们设置服务器

    无法正确解析

    需要设置主机的DNS之后在测试(windows下的修改界面)

    windows修改默认DNS
    vim /etc/sysconfig/network-scripts/ifcfg-eth0(linux下修改) linux修改默认的DNS

    按照自己主机信息修改上图的IP和DNS

    3.)下面启动报错的原因为,文件和目录的权限导致的故障,修改配置的几个文件和上图红色的部分的权限为777.故障消失

    权限问题导致的故障

    4.)做了如上操作还是不能解析 查看防火墙是否关闭

    关闭防火墙

    6.测试

    结果如下图正常解析出来。但是反向解析出现了报错原因没有找到。日志如下:

    正向解析 反向解析 这个报错有点类似 IPv6原因未知

    7.Chroot功能和rndc(控制域名服务的远程控制工具)

    Chroot可以将文件系统中的某个特定的子目录作为进程的虚拟主目录。使用此功能注意是从安全运行,对系统入侵攻击的负面影响降到最低
    安装:yum install -y bind-chroot
    会出现一个新的目录/var/named/chroot并且安装之后/etc/ /dev /var的相关配置文件都会被复制到此目录下面。后续修改配置时需要主机目录位置。
    Rndc:rndc-confgen 生成密钥和相应的配置文件。然后写入配置文件rndc和named.conf文件中,但是我在测试时候,没有生成出来。
    第二天测试又成功,将前两个放到rndc.conf中 第一和第三个放到named.conf 可以修改allow中的内容,让其他主机可以远程控制rndc。

    rndc-confgen生成的文件

    8.BIND的详细配置

    主配置语句名称:
    acl:定义一个命名的访问列表(包含一些IP表示的主机)可以在语句使用,表示所定义的主机。(none、any、localhost(本地网络接口IP)、localnets(本地子网IP))
    Controls:定义有关本地域名服务操作控制通道,被rndc用来发送控制命令。(如上面图片的第三个红色红框的内容)
    Include:把另一个文件的内容包含进来。
    Key:定义一个密钥,用于TSIG授权和认证(如上面图片的第一个红框的内容)
    Logging:有关日志文件的配置
    Option:有关全局的选项(directory指定工作目录,pip-file设定进程PID文件的路径名,forwarders设定转发使用的IP地址,allow-query设定DNS服务器为哪些用户提供DNS查询服务)
    Server:定义与远程服务器交互的规则(可以定义是主域名还是辅助域名,以及与其他域名使用什么密钥通信,和zone中type类型有类似功能)
    trusted-keys:定义DNSSEC安全根的trusted-keys(不是太明白)
    View:定义视图功能,可以根据客户端的不同有区别的回答DNS
    Zone:定义DNS服务器所管理的区(type:Master/Slave/Stub/forwarder/Hint定义一套最新的根DNS服务器地址)

    9.根服务器文件named.root

    相当于默认named.conf中的zone定义的’.’也就是区文件/var/named目录下named.ca文件
    可以使用dig列出最新的根服务器
    关于区域数据文件上面已经说明:named.benet.com(正向)
    $TTL 设置其他DNS服务器缓存本机数据的默认时间SOA设置起始授权机构
    NS 定义某个域由哪个服务器解析MX邮件资源记录指定发往某个域的邮件由那个邮件服务器负责A域名对应的IP地址CNAME别名允许几个名称指向同一个服务器。
    Named.197.168.192通过in-addr.arpa域和PTR记录实现

    10.DNS负载均衡

    关于负载均衡的概念可以查看http://www.jianshu.com/p/811e8a8e5616
    在区域文件中有两种写法:
    IN MX 10 mail.example.com
    IN MX 10 mail1.example.com
    IN MX 10 mail2.example.com
    ........
    Mail IN A 192.168.0.4
    Mail IN A 192.168.0.5
    Mail IN A 192.168.0.6
    或者
    IN MX 10 mail.example.com
    ....
    Mial IN A 192.168.0.4
    IN A 192.168.0.5
    IN A 192.168.0.6

    11.直接域名、泛域名、子域

    DNS服务器可以直接解析的域名,直接域名 benet.com. IN A 192.168.0.12
    域名下所有的主机和子域名都解析到同一个IP地址*.benet.com IN A 192.168.0.12
    Benet.com是顶级域名 则dean.benet.com就是一个子域名(二级域名)
    $ORIGIN dean.benet.com (就是一个子域)
    Mail IN A 192.168.0.3

    12.辅助域名服务器和只缓存服务器

    辅助域名服务器:顾名思义用来辅助主服务器,配置和主服务器大致相同但是需要修改几个地方:

    1 主配置文件 设置转发功能 forwarders,也可以设置server
    2 辅助配置文件named.rfc1912.zones 中zone中type 改为slave,增加masters(设置主域名服务器地址)
    3 主服务器中zone 增加allow-transfer表示允许向某一个传送数据文件
    只缓存服务器:类似于代理服务器,本身不管理区域,将所有查询提交给其他DNS服务器处理,并可以将结果缓存下来,当下次再有客户机使用时候可以直接使用缓存。
    在主配置文件增加:forwarders(转发到其他服务器)forwarder only(只转发)
    zone之类都不在需要设置。只需要option和logging就可以了。

    特别说明:BIND的配置文件非常复杂,很多时候需要根据,需要进行设置,而且设置配置文件一定要细心。

    相关文章

      网友评论

        本文标题:服务器搭建三——DNS服务器搭建

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