centos7 DNS服务器的配置(含正向解析与反向解析,以及对重启后resolv.conf被重置的解决方案)

本文主要是介绍centos7 DNS服务器的配置(含正向解析与反向解析,以及对重启后resolv.conf被重置的解决方案),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DNS服务器的搭建:

首先:

yum install bind bind-utils bind-chroot -y<span> </span>(bind-utils和bind-chroot dns的常用工具,不下也可以,不影响服务)

配置文件:

/etc/named.conf主配置文件

/etc/named/zone文件

如过你安装了bind-chroot,则bind-chroot会将bind服务放置于一个伪根目录下,这样如何黑客攻破了你的服务器,进到来的就是在伪根目录下,不会危害到你真正的根目录,是一个安全的措施。

伪根目录:/var/named/chroot/etc/named.conf 红色就是伪根目录。

这个就是bind-chroot生成的伪根目录。在这个目录下,会生产完整的bind服务的结构,进到这个目录下,会发现里面基本没有文件,只有目录文件夹,这就需要你将真实的根目录下的bind的配置文件和一些需要的文件都复制一份到这个伪根下,或创建一些基础文件,给与权限啊等操作:

$ cp -R /usr/share/doc/bind-9.9.4/sample/var/named/* /var/named/chroot/var/named/

$ touch /var/named/chroot/var/named/data/cache_dump.db

$ touch /var/named/chroot/var/named/data/named_stats.txt

$ touch /var/named/chroot/var/named/data/named_mem_stats.txt

$ touch /var/named/chroot/var/named/data/named.run

$ mkdir /var/named/chroot/var/named/dynamic

$ touch /var/named/chroot/var/named/dynamic/managed-keys.bind

$ chmod -R 777 /var/named/chroot/var/named/data

$ chmod -R 777 /var/named/chroot/var/named/dynamic

$ cp -R /etc/named* /var/named/chroot/etc/

$ chown -R root.named /var/named/chroot/<span> </span>##直接将伪根目录下的所有文件都给named用户,让其能够修改。避免权限问题报错。

如果不不使用 bind-chroot 的话,就不需要上面的操作。直接进行下面的配置文件修改,修改的目录也不是伪根目录了,直接修改真实的目录就行

好的,剩下的就是编辑配置文件,自定义DNS服务了。

vim /var/named/chroot/etc/named.conf

options {

        listen-on port 53 { any; };<span> </span>## 修改成any

        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";

        allow-query     { any; };<span> </span>## 修改成any

 

        /*

         - 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;<span> </span>## 不用修改,启动递归服务

 

        dnssec-enable yes;<span> </span>## 不用修改

        dnssec-validation yes;<span> </span>## 不用修改,下面的没贴出来的也不用修改,保持默认就行

然后修改域空间配置文件

vim /var/named/chroot/etc/named.rfc1912.zones

zone "david.com" IN {## david为我设置的域名。可自定义修改为自己的域名

        type master;## DNS服务类型,默认为master,这里我们是搭建的第一个DNS服务器,则就定为主服务器,即默认的master

        file "david.com.zone";## 域名配置文件名  ,这个文件名在/var/named/chroot/var/named/ 这个目录下去寻找

};

配置了域的配置文件路径后,就需要创建这个域的配置文件:

Cp/var/named/chroot/var/named/named.localhost /var/named/chroot/var/named/david.com.zone ## 已named.localhost为基础模板,复制一份并改为上一步配置的名称

vim /var/named/chroot/var/named/david.com.zone ## 编辑

--------------------------以下为内容-------------------------------------------

OK,修改完成后,就可以启动DNS服务:

systemctl statr named-chroot<span> </span>## 启动服务,如何使用了bind-chroot 则启动 named-chroot  否则启动  named

systemctl enable named-chroot<span> </span>## 设为开机启动

然后将服务,在防火墙上放行:

firewall-cmd --add-service=dns --permanent

firewall-cmd --reload

好的。到此,DNS服务器就搭建完成。将内网的电脑的DNS指向DNS服务器试试,就能正常的使用域名访问内网,也能正常的访问外网。

 

上面只是搭建了一个主DNS服务器,master服务器。如果在大的公司,公司内网很大,人很多。一台主DNS服务器不够用,或者害怕其挂掉会影响公司网络。那么就可以部署一台或多台从服务器来进行冗余备份。下面讲解以下 从服务器 的搭建与配置:

从服务器的搭建,前面与主服务器的相同,在世配置文件不同,因为从服务器不能自己修改域配置,所有的域配置信息都是从主服务器上拉取过来的。

/var/named/chroot/etc/named.conf ##主配置文件 与 主服务器的相同

vim /var/named/chroot/etc/named.rfc1912.zones

zone "david.com" IN {

        type slave;<span> ## 类型改为 salve 从

        masters { 192.168.1.204; };  ## 配置 master服务器 地址

        file "slaves/david.com";   ## 配置拉取后的存放路径  同样是在/var/named/chroot/var/named/ 下的路径 ,这个slaves文件夹是需要自己创建并赋予权限的

};

OK,就这样就可以了,将域名写上,设为从服务器,配置master地址就可以了,然后其他的与主服务器相同,正常启动服务就可以了,然后可以去 slaves/目录下查看是否正常拉取了主服务器的配置文件

配置正向解析和反向解析

修改/etc/named.rfc1912.zones

(zone  "1.168.192.in-addr.arpa"  里面的IP是从右往左写的,一定要记得修改)

在文件末行添加配置: vi /etc/named.rfc1912.zones , 配置内容如下:

zone  "david.com"  IN {

type  master;

file  "david.com.zone";

allow-update  {none;};

};

 

zone  "1.168.192.in-addr.arpa"  IN {

type  master;

file  "arpa.david.com.zone";

};

添加正向解析域

 

基于 name.localhost 模板,创建配置文件:

 

# cp -p /var/named/named.localhost /var/named/david.net.zone

配置正向域名解析文件 david.net.zone : vi /var/named/david.net.zone ,配置内容如下:

 

添加反向解析域

基于 name.localhost 模板,创建配置文件: cp -p /var/named/named.localhost /var/named/arpa.david.com.zone
配置反向域名解析文件

重启 named 服务,让配置生效 systemctl restart chroot-named

 

CentOS重启后resolv.conf被重置的解决方案

1、首先在网卡设置中修改NM_CONTROLLED的值:

修改文件/etc/sysconfig/network-scripts/ifcfg-eth0的内容:

NM_CONTROLLED="no"  //是否允许Network Manager管理,设置为no

默认允许Network Manager管理DNS,所以首先设置为no,然后操作DNS设置

2、设置DNS内容:

修改DNS可以有如下两种方案:

①、修改网卡设置:

在/etc/sysconfig/network-scripts/ifcfg-eth0中修改内容:

PEERDNS="yes"

DNS1="xxx.xxx.xxx.xxx"

DNS2="xxx.xxx.xxx.xxx"

这种设置方案是以网卡中设置的DNS为主,resolv.conf中按照网卡设置的DNS内容自动生成,以后想修改DNS,必须修改网卡中的设置才不会在服务器重启之后出现DNS设置失效的问题。

②、直接修改/etc/resolv.conf的值:

PS.需要注意的是,若要使直接修改的DNS内容不会在服务器重启之后丢失,需要设置网卡中PEERDNS的值为no:

nameserver xxx.xxx.xxx.xxx

nameserver xxx.xxx.xxx.xxx

3、修改完毕之后重启网卡:

service network restart

按照上面任意一种方案修改DNS设置之后都不会出现重启服务器DNS设置复原的情况。

这篇关于centos7 DNS服务器的配置(含正向解析与反向解析,以及对重启后resolv.conf被重置的解决方案)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/274833

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象