Linux,DNS服务器配置

Linux,DNS服务器配置安装bind,bind-chroot,DNS基本配置:找对地,起对名,写对内容。启动DNS服务器并更改本机DNS服务器地址,测试DNS服务器,易错点分析。

大家好,又见面了,我是你们的朋友全栈君。

写在前面

环境用的redhat5.8,与dns主要相关的软件bind和bind-chroot。bind-chroot会改变bind的配置目录提高dns服务器的安全性。基础配置主要包括named.conf的配置,配置正向解析记录和反向解析记录。解析记录一般包括A记录,www,dns,ftp,mail等。

安装bind,bind-chroot

  1. 查询是否系统是否已经安装对应软件。

    rpm -q bind
    rpm -q bind-chroot
    

    我这样的就是没安装,bind-libs,和bind-utils是系统自带的。
    在这里插入图片描述

  2. 安装

    yum install bind
    yum install bind-chroot
    

    安装完成后,查询已安装的软件包所包含的所有文件

    rpm -ql bind
    rpm -ql bind-chroot
    

    或者用下面的方式。
    在这里插入图片描述

DNS基本配置

设置域名为dnstest.com ,网络地址为192.168.64.0/24,添加dns,www,ftp主机名,添加别名记录,这些主机对应的IP地址为自己机器的IP地址,反向区域文件添加相应PTR记录。
dns服务器地址为本机ip地址:192.168.64.130

找对地,起对名,写对内容

  1. 编写主配置文件,直接复制下面内容,更改对应内容即可。
    注意一点要切记此文件的路径并不是”/var/named”,而是如下所示:
    因为bind-chroot的原因,所有的和bind有关的配置文件都在chroot/路径的类根目录。这里面只有和bind有关的配置,更安全一点。

    [root@localhost etc]# pwd
    /var/named/chroot/etc
    
    options{
    directory "/var/named"; 
    };
    zone "dnstest.com." IN {
        type master; 
        file "dnstest.zone";
    };
    zone "64.168.192.in-addr.arpa" IN {
        type master;
        file "reverse.zone";
    };
    

    具体解释如下:

    • options{

      directory “/var/named”;
      };
      具体信息含义:
      options定义服务器的全局配置选项,在一个named.conf文件中只能有一个
      directory “/var/named”;区域文件的存放位置,而这里的/var/named默认是/var/named/chroot/var/named目录下

    • zone “dnstest.com.” IN {

      type master;
      file “dnstest.zone”;
      };

      zone语句用于定义区域,其中必须说明域名、DNS服务器的类型和区域文 件名等信息。这是正向记录。

    • zone “64.168.192.in-addr.arpa” IN {

      type master;
      file “reverse.zone”;
      };
      这是反向记录,切记,“64.168.192.in-addr.arpa” 前面的ip一点要反着写,原来是192.168.64. 一定要写成64.168.192. 。
      注意com后面有点 的地方,一定不能少。

  2. 编写正向解析数据文件
    文件目录:/var/named/chroot/var/named/dnstest.zone

    $TTL    86400  
    @    IN SOA  dns.dnstest.com.   root.dnstest.com. (
                                           2015111701
                                            3H              
                                            15M           
                                            1W              
                                            1D )            
            IN NS           dns.dnstest.com.
    dns     IN A            192.168.64.130
    www     IN A            192.168.64.2
    ftp     IN A            192.168.64.131
    

    具体解释如下:

    • @:指定域名
      dns.dnstest.com. 主机名,以.结尾,表示完整的主机名
      root.dnstest.com. 管理员的电子邮件地址
      IN:表示资源记录使用TCP/IP地址
      在这里插入图片描述

    • ()部分指定SOA记录各种选项的值,主要用于和辅助域名服务器同步数据时使用。关于几个时间的解释,(从上到下一一对照):

      Serial﹕序列号,每次更新该文件后,要将序列号增大,主要用master/slave模式的自动更新。其格式通常会是“年月日+修改次序”(但也不一定如此﹐您自己能够记得就行)。当 slave(辅助域名服务器) 要进行数据同步的时候﹐会比较这个号码。如果发现在这里的号码比它那边的数值“大”﹐就进行更新﹐否则忽略。不过设 serial 有一个地方您要留意:不能超过 10 位数字﹗

      Refresh﹕这里是是告诉 slave 要隔多久要进行数据同步(是否同步要看 Serial 的比较结果)。

      Retry﹕如果 slave 在进行更新失败后﹐要隔多久再进行重试。

      Expire﹕这是记录逾期时间:当 slave 一直未能成功与 master 取得联络﹐那到这里就放弃 retry﹐同时这里的数据也将标识为过期( expired )。

      Minimum﹕指定资源记录信息存放在缓存中的时间,这是最小预设 TTL 值﹐如果您在前面没有用“$TTL”来定义﹐就会以此值为准。

    • NS记录:名称服务器,指明区域中DNS服务器的主机名,也是区域文件中不可缺少的资源记录。
      在这里插入图片描述

  3. 编写反向解析数据文件
    文件目录:/var/named/chroot/var/named/reverse.zone

    $TTL    86400
    @   IN   SOA  dns.dnstest.com.  root.dnstest.com. (
                                          2015111701
                                          3H              
                                          15M           
                                          1W              
                                          1D ) 
           IN      NS      dns.dnstest.com.
    130    IN      PTR     dns.dnstest.com.
    2		 IN      PTR     www.dnstest.com.
    131     IN      PTR     ftp.dnstest.com.
    

启动DNS服务器

service named start
service named restart

在这里插入图片描述

更改本机DNS服务器地址

/etc/resolv.conf,该文件是DNS客户端配置文件,修改 nameserver 的地址为你刚配置dns服务器的地址即可。
在这里插入图片描述

测试DNS服务器

测试DNS的命令有,nslookup,host,dig,一般最常用的nslookup,windows下也可以用。
在这里插入图片描述

在这里插入图片描述

资源记录

  1. 别名记录CNAME
    如下为www.dnstest.com添加CNAME记录之后,www.dnstest.com就可以用abc.dnstest.com访问。
    abc     IN CNAME        www.dnstest.com.
    
  2. 邮件解析记录
    host -t dnstest.com 用该命令测试邮件交换记录。
    mail                IN A            [ip add(邮件服务器地址)]
    dnstest.com.  IN MX 10  mail.dnstest.com.
    

DNS其他配置

  1. 泛域名解析记录
    所有的解析记录中没有的全都指向下面这个IP地址。
    *.dnstest.com.     IN A            IP地址
    
  2. 实现直接解析域名
    直接访问dnstest.com解析的IP地址。
    dnstest.com.     IN A            【IP地址】
    
  3. 实现负载均衡功能
    三台FTP服务器内容相同,DNS服务器将为客户的每个ftp.dnstest.com 查询按顺序返回不同的解析结果,将客户访问引导到不同计算机上,使客户访问不同的服务器。如下:
    ftp     IN A            192.168.64.50
    ftp     IN A            192.168.64.51
    ftp     IN A            192.168.64.52
    

DNS辅助域名服务器的配置

辅助域名服务器只需要修改named.conf文件即可,不需要创建区域文件,因为区域文件将从主域名服务器上自动复制到辅助域名服务器的slave目录下。
named.conf

options{
directory "/var/named";
};
zone "zhoudi.com." IN {
        type slave;
        file "slaves/正向解析(自定义).zone";
        masters {主dns的ip;};
};
zone "132.17.172.in-addr.arpa" IN {
        type slave;
        file "slaves/反向解析(自定义).zone";
        masters {主dns的ip;};
};


易错点

我在学习的过程中遇到以下错误,如果不幸你也遇到,可以参考参考。

文件路径问题

如下图,保错找不到dnstest.zone,最后发现是路径问题,可以仔细参考上面教程,就能解决。
在这里插入图片描述

反向解析记录

如果你路径正确,但是就是nslookup解析不出来,可以看这里。
在named.conf中,这里的ip要反着写。
在这里插入图片描述

记得更改DNS服务器的地址

配置文件是这个哦:/etc/resolv.conf

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135849.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • windows10安装虚拟机步骤_vmware虚拟机安装win7

    windows10安装虚拟机步骤_vmware虚拟机安装win7**windows10安装虚拟机详细教程****1.安装环境:**windows10**2.安装所需要用到的材料:**材料链接:https://pan.baidu.com/s/1usn2tAPPV3YvAc8NSF9pfg提取码:d6uf(复制这段链接后打开百度网盘手机App,操作更方便哦,想要其他版本的话就去官网下载,操作大同小异)**3.安装步骤:**(1)双击下图文件。(2)弹出下图,点击”下一步”即可。(3)点击“更改”安装位置,可以不用进行修改,本人安装

  • 编写程序计算1~10的平方和_设计一个程序计算1~10的平方

    编写程序计算1~10的平方和_设计一个程序计算1~10的平方给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。示例 1:输入:c = 5输出:true解释:1 * 1 + 2 * 2 = 5示例 2:输入:c = 3输出:false示例 3:输入:c = 4输出:true示例 4:输入:c = 2输出:true示例 5:输入:c = 1输出:true提示:0 <= c <= 231 – 1题解双指针,注意整形溢出class Solution {public

  • 后端框架的学习流程[通俗易懂]

    后端框架的学习流程[通俗易懂]有不少初学者问到,我想学习后端,但是又不知道该怎么学,所以我决定把这几年的经验和经历整理成一篇文章,分析后端的路该怎么走,先说明下面仅仅是个人心得,也许与外面的理论有所不同。(文章最后面会附上学习路线地图和一些自己看过的书籍)后端初接触后端首先需要学习的是html,css和js,也许你会问做网页不是前端做的事情吗?答案是对于真实开发环境后端很多时候还兼顾

  • 代理重加密_代理重加密BBS方案

    代理重加密_代理重加密BBS方案云计算中的数据机密性风险极大地阻碍了云计算的应用,而在用户端加密的模式对于数据共享来说非常不便,用户频繁的获取和释放授权将使得用户增效据加解密工作繁重。因此代理重加密技术在云端进行数据的密文转换,减轻了用户端的负担,同时加强了云端数据的保密性。一、代理重加密代理重加密是密文间的一种密钥转换机制,是由Blaze等人在1998年的欧洲密码学年会上提出的,并由Ateniese等人在2005年的网络和分布式系统安全研讨会议和2007年的美国计算机学会计算机与通信安全会议上给出了规范的形式化定义。在代理重加密中

  • Oracle MERGE INTO的使用方法

    Oracle MERGE INTO的使用方法

    2021年11月29日
  • 奇怪的现象:touchesBegan: 与UITapGestureRecognizer手势没有人响应 以及set方法的妙用

    奇怪的现象:touchesBegan: 与UITapGestureRecognizer手势没有人响应 以及set方法的妙用本打算实现一个点击按钮弹出一个landKindView然后点击屏幕其他部分时移除这个VIew,没想到的是,出了诸多不可思议的问题。在给这个控制器的View添加手势时,然后居然拦截不到,touchesbegin方法,然后又试了下添加tapGesture,依旧是没有反应。然后我试着在touchesBegin方法中 实现[supertouchesBegins….];依旧是没有任

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号