关于在Linux下如何搭建DNS服务器

 更新时间:2023年04月20日 08:56:44   作者:魔笛Love  
这篇文章主要介绍了关于在Linux下如何搭建DNS服务器,文中提供了部分实现代码和解决思路,有一定的参考价值,需要的朋友快来一起看看吧

环境

操作系统:CentOS 7

IP地址:10.27.106.201

测试域名:aec.testuc.com

作用:主要提供解析aec.testuc.com域名的服务

安装

yum -y install bind

修改配置文件

主配置文件

vim /etc/named.conf

主要修改以下两个地方

listen-on port 53 { any; };

allow-query { any; };
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
        listen-on port 53 { any; };
        # listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
        # allow-query     { localhost; };

        /* 
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable 
           recursion. 
         - If your recursive DNS server has a public IP address, you MUST enable access 
           control to limit queries to your legitimate users. Failing to do so will
           cause your server to become part of large scale DNS amplification 
           attacks. Implementing BCP38 within your network would greatly
           reduce such attack surface 
        */
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;

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

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

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

区域配置文件,添加正向解析配置

vim /etc/named.rfc1912.zones

末尾添加如下配置:

zone "aec.starnetuc.com" IN {             #正向解析为"aec.starnetuc.com"
        type master;                      #类型:主缓存为master
        file "aec.starnetuc.com.zone";    #指定区域数据文件为aec.starnetuc.com.zone
        allow-update { none; };
};

正向区域数据文件

拷贝其他区域数据文件,保留源文件的权限和属主的属性复制

cp -a /var/named/named.localhost /var/named/aec.starnetuc.com.zone

修改该文件,结果如下:

$TTL 1D  	#有效解析记录的生成周期
@       IN SOA  aec.starnetuc.com. root.aec.starnetuc.com. (
#@表示当前的DNS区域名表示这个域名  
#SOA表示授权信息开启 
# 后面表示邮件地址因为@有特殊含义 所以使用.代替 
                                        0       ; serial  #更新序列号,可以是10以内的整数
                                        1D      ; refresh #刷新时间,重新下载地址数据的间隔
                                        1H      ; retry   #重试延迟,下载失败后的重试延迟
                                        1W      ; expire  #失效时间,超过该时间仍无法下载则放弃
                                        3H )    ; minimum #无效解析记录的生存周期
        IN      NS      aec.starnetuc.com. #记录当前区域DNS服务器的名称
        IN      MX 10   aec.starnetuc.com. #MX为邮件服务器 10表示优先级 数字越大优先级越低
        IN      A       10.27.106.214      #记录正向解析域名对应的IP,即将域名与IP绑捆

检查配置是否正确

named-checkconf -z /etc/named.conf

仅检查语法不检查逻辑关系。当显示的全为0时表示没有语法错误

zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
zone aec.starnetuc.com/IN: loaded serial 0

启动DNS服务

启动前,检查防火墙、SELINUX安全模式是否是关闭或允许状态

启动

systemctl start named
systemctl enable named

查看53号监听端口是否开启

测试

将测试系统的DNS改为10.27.106.201,然后去

ping aec.starnetuc.com

PING aec.starnetuc.com (10.27.106.214) 56(84) bytes of data.
64 bytes from 10.27.106.214 (10.27.106.214): icmp_seq=1 ttl=64 time=1024 ms
64 bytes from 10.27.106.214 (10.27.106.214): icmp_seq=2 ttl=64 time=4.31 ms
64 bytes from 10.27.106.214 (10.27.106.214): icmp_seq=3 ttl=64 time=5.53 ms

表明配置成功。

到此这篇关于关于在Linux下如何搭建DNS服务器的文章就介绍到这了,更多相关Linux搭建DNS服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Linux查看程序端口占用情况

    详解Linux查看程序端口占用情况

    本篇文章主要介绍了详解Linux查看程序端口占用情况 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • linux环境下卸载oracle 11g的过程

    linux环境下卸载oracle 11g的过程

    这篇文章主要介绍了linux环境下卸载oracle 11g的过程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Linux+php+apache+oracle环境搭建之CentOS下源码编译安装PHP

    Linux+php+apache+oracle环境搭建之CentOS下源码编译安装PHP

    环境搭建过程中,编译安装PHP最艰辛。需要安装的依赖组件太多。现在整理记录一下。也希望对读者能有所帮助
    2014-08-08
  • ubuntu中swap(虚拟内存)设置方法

    ubuntu中swap(虚拟内存)设置方法

    这篇文章主要介绍了ubuntu中swap(虚拟内存)设置方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • CentOS 8.0.1905 安装 ZABBIX4.4版本 (已验证)

    CentOS 8.0.1905 安装 ZABBIX4.4版本 (已验证)

    目前CentOS8.0.1905正式发布,这篇文章主要介绍了CentOS 8.0.1905 安装 ZABBIX4.4 (已验证),需要的朋友可以参考下
    2019-10-10
  • linux 下的yum命令详解

    linux 下的yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。这篇文章给大家介绍linux 下的yum命令,需要的朋友参考下吧
    2016-12-12
  • 浅谈linux下的串口通讯开发

    浅谈linux下的串口通讯开发

    下面小编就为大家带来一篇浅谈linux下的串口通讯开发。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Ubuntu下开启Apache对.htaccess 的支持

    Ubuntu下开启Apache对.htaccess 的支持

    这篇文章主要介绍了Ubuntu下开启Apache对.htaccess 的支持的方法,已经在xampp开启ModRewrite的方法,非常的实用,推荐给大家,希望大家能够喜欢。
    2015-03-03
  • linux C编程常见的错误总结(必看篇)

    linux C编程常见的错误总结(必看篇)

    下面小编就为大家带来一篇linux C编程常见的错误总结(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • linux系统中使用Vim删除偶数行或者奇数行

    linux系统中使用Vim删除偶数行或者奇数行

    vim中进行奇偶数行操作,思路很简单,就是一次匹配两行,然后删除奇数行,删除偶数行或者两行合并。下面我们来看看具体怎么操作吧
    2014-08-08

最新评论