CentOS7/RHEL7搭建DNS服务器

2024-01-19 21:32

本文主要是介绍CentOS7/RHEL7搭建DNS服务器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CentOS7/RHEL7搭建DNS服务器
DNS(域名系统)主要用于域名与IP地址的相互转换,将IP地址转换成对应的主机名或将主机名转换成与之相对应IP地址的一种机制。通过域名解析出IP地址的叫做正向解析,通过IP地址解析出域名的叫做反向解析。

1.安装DNS
配置网络或者本地YUM源进行安装

yum install -y bind bind-utils bind-chroot
1
2.修改配置
修改DNS主配置文件named.conf

vim /etc/named.conf

找到下面两行

listen-on port 53 { 127.0.0.1; };
allow-query { localhost; };

改成如下

listen-on port 53 { any;};
allow-query { any;};

加载解析文件

include “/etc/named.rfc1912.zones”;
include “/etc/named.root.key”;
1
2
3
4
5
6
7
8
9
10
3.配置解析
添加服务程序的区域配置文件

vim /etc/named.rfc1912.zones

正向解析

zone “shan.com” IN {
type master;
file “shan.com.zone”;
# allow-update { none; };
};

反向解析

zone “3.168.192.in-addr.arpa” IN {
type master;
file “shan.com.arpa”;
# allow-update { none; };
};
1
2
3
4
5
6
7
8
9
10
11
12
13
配置正向及反向解析域

复制name.localhost文件,编辑正向和反向解析文件

cd /var/named/
cp named.localhost shan.com.zone
cp named.loopback shan.com.arpa
1
2
3
4
添加正向解析域

vim shan.com.zone

修改正向解析域

$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS shan.com.
@ IN A 192.168.3.177
dns IN A 192.168.3.177
www IN A 192.168.3.177

0 ;更新序列号,用于标示数据库的变换,可以在10位以内

1D ;刷新时间,从域名服务器更新该地址数据库文件的间隔时间,默认为1天

1H ;重试延时,从域名服务器更新地址数据库失败以后,等待多长时间,默认为为1小时

1W ; 失效时间,超过该时间仍无法更新地址数据库,则不再尝试,默认为一周

3H ;设置无效地址解析记录(该数据库中不存在的地址)默认缓存时间。设置无效记录,最少缓存时间为3小时

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
检查区域文件是否正确

named-checkzone “shan.com” /var/named/shan.com.zone

检查结果如下:

zone shan.com/IN: loaded serial 0
OK
1
2
3
4
添加反向解析域

vim shan.com.arpa

修改反向解析域

$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS shan.com.
177 IN PTR @
177 IN PTR dns.shan.com.
1
2
3
4
5
6
7
8
9
10
11
12
检查区域文件是否正确

named-checkzone “3.168.192.in-addr.arpa” /var/named/shan.com.arpa

检查结果如下:

zone 3.168.192.in-addr.arpa/IN: loaded serial 0
OK
1
2
3
4
直接将/var/named/目录下的所有文件都给named用户,让其能够修改。避免权限问题报错

chown named:named /var/named/*
1
4.修改本机DNS
vim /etc/resolv.conf

将原来的DNS修改成现在配置的DNS

nameserver 192.168.3.177

修改network中的dns

vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

自己配的dns服务器的IP地址

DNS1=192.168.3.177

重启network和dns服务

systemctl restart network
systemctl restart named
1
2
3
4
5
6
7
8
9
10
5.测试解析
需要关闭防火墙或者开放TCP和UDP的53端口
防火墙参考文档:
https://blog.csdn.net/SERE0211/article/details/106999838

需开放53端口和dns服务

firewall-cmd --zone=public --add-port=53/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --zone=public --add-service=dns --permanent
firewall-cmd --reload
systemctl restart firewalld
1
2
3
4
5
6
测试正向解析和反向解析

nslookup

正向解析:

www.shan.com
Server: 192.168.3.177
Address: 192.168.3.177#53

Name: www.shan.com
Address: 192.168.3.177

反向解析:

192.168.3.177
177.3.168.192.in-addr.arpa name = dns.shan.com.
177.3.168.192.in-addr.arpa name = 3.168.192.in-addr.arpa.
1
2
3
4
5
6
7
8
9
10
11
12
6.常用命令

重启DNS

systemctl restart named

启动DNS

systemctl start named

查看DNS状态

systemctl status named

DNS解析测试

nslookup www.shan.com

这篇关于CentOS7/RHEL7搭建DNS服务器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例